Visão Geral
No Bitcoin, as entradas de uma transação devem ser gastas na sua totalidade. Quando o valor das entradas excede o pagamento pretendido mais a taxa de transação, o excedente deve ser enviado para algum lugar. Esse excedente é devolvido ao remetente por meio de uma saída de troco direcionada a um endereço de troco que a carteira do remetente controla.
Como o Troco Funciona
Exemplo: Alice quer enviar 0.3 BTC para Bob
A carteira de Alice tem um UTXO no valor de 0.5 BTC
Transação:
Entrada: 0.5 BTC (UTXO de Alice, gasto na totalidade)
├── Saída 1: 0.3 BTC → endereço de Bob (pagamento)
├── Saída 2: 0.199 BTC → endereço de troco de Alice (troco)
└── Taxa: 0.001 BTC (implicitamente: entradas - saídas)
0.5 = 0.3 + 0.199 + 0.001
Implicações para a Privacidade
As saídas de troco são um dos principais vetores da análise de cadeia. Os analistas usam heurísticas para identificar qual saída é o pagamento e qual é o troco:
- Heurística do número redondo: Se uma saída é um número redondo (ex., 0.1 BTC) e a outra não, o número redondo é provavelmente o pagamento
- Heurística do tipo de endereço: Se a saída de troco usa o mesmo formato de endereço que as entradas, pode ser identificada como troco
- Identificação de carteira: Diferentes softwares de carteira colocam a saída de troco em posições previsíveis
Melhores Práticas
As carteiras HD modernas geram automaticamente um novo endereço de troco para cada transação, evitando a reutilização de endereços e tornando a análise de cadeia mais difícil. Os usuários devem evitar selecionar manualmente os endereços de troco e deixar que sua carteira gerencie isso automaticamente.
Casos Especiais
Quando o valor da entrada quase exatamente coincide com o pagamento desejado mais a taxa, algumas carteiras ignorarão a criação de uma saída de troco por completo, adicionando o pequeno excedente à taxa do minerador. Isso evita a criação de um UTXO economicamente insignificante (dust) que custaria mais em taxas para ser gasto no futuro do que vale.