10 / 736TX

Transação

Bitcoin Transaction

O que acontece ao enviar bitcoin: de onde vem o valor, para onde vai o troco e quando o pagamento é confirmado.

Uma transação Bitcoin é uma mensagem que sua carteira envia à rede para pagar alguém ou mover bitcoin entre suas próprias carteiras. Ela informa quais valores recebidos antes serão usados e em quais condições os novos poderão ser gastos. A rede verifica sua autorização e se você não está enviando mais do que há disponível. Tocar em Enviar ainda não significa que o pagamento foi confirmado.

Você tem um valor ainda não gasto de 100 000 sat e quer enviar 60 000 sat. O sat é a menor unidade do bitcoin: 1 BTC contém 100 000 000 sat. A carteira pode preparar uma transação que destine 60 000 sat ao recebedor, devolva 39 000 sat a você e deixe 1 000 sat como taxa para o minerador. É parecido com pagar usando uma nota maior e receber troco. Os 100 000 sat originais são usados por inteiro, dando origem a dois novos valores. O troco normalmente vai para um novo endereço da sua carteira, não para um desconhecido. A taxa é a diferença entre o total utilizado e o total criado, não uma saída separada. Esquecer o troco poderia tornar a taxa muito alta sem querer. [2]

Bitcoin registra as saídas ainda não gastas de transações anteriores, chamadas UTXO. Pense nelas como valores individuais que sua carteira pode usar. Uma entrada da nova transação aponta para uma saída anterior; uma nova saída define um valor e as condições para gastá-lo depois. A carteira pode reunir várias quantias ou dividir um pagamento entre vários destinatários. Por isso a entrada não informa apenas um endereço remetente: ela contém o identificador da transação anterior, txid, e o número da saída. Esse par se chama outpoint. A saída indicada deve existir e estar disponível. Ela não pode ser gasta duas vezes nem contada por duas entradas na mesma transação. [1] [2]

Em um pagamento comum, a carteira cria uma assinatura digital usando uma chave privada. A assinatura comprova a autorização para transferir e pode ser verificada sem revelar a chave. As condições também podem exigir várias assinaturas ou aguardar determinado momento. Tecnicamente, a transação apresenta os dados necessários em scriptSig e, quando aplicável, em uma parte separada chamada witness. Os nós usam esses dados para verificar as condições da saída gasta. A configuração SIGHASH determina quais partes da transação a assinatura protege contra alterações. Mesmo uma assinatura válida não permite gastar fundos inexistentes, aumentar o valor total ou ignorar um bloqueio temporal ainda ativo. [2]

Depois de assinar, a carteira transmite a transação. Os nós a verificam e podem colocá-la em seu mempool, uma sala de espera para transações não confirmadas. Estar ali ainda não significa estar em um bloco. A primeira confirmação vem com a inclusão em um bloco válido; cada bloco construído depois acrescenta outra. As regras para retransmitir e guardar transações pendentes podem variar entre nós e diferem das regras de validade de um bloco. Uma transação pendente pode ser substituída por outra que gaste os mesmos fundos. Até uma confirmação pode desaparecer em uma reorganização, quando a rede aceita outro ramo válido do histórico. Verifique o recebimento na sua própria carteira, na rede correta, conferindo valor, destino e confirmações, em vez de confiar numa captura de tela de outra pessoa. [4]

A carteira costuma mostrar o txid, identificador usado para localizar a transação. Tecnicamente, ele resulta da aplicação de SHA-256 duas vezes à codificação da transação sem os dados witness. Um segundo identificador, wtxid, inclui witness; se a transação não tem witness, os dois são iguais. Eles identificam o registro, mas sozinhos não provam que o pagamento foi confirmado. Já a taxa depende principalmente do tamanho dos dados e da tarifa escolhida, não do valor em moeda nacional dos bitcoins enviados. A tarifa usa o tamanho virtual vsize: o chamado peso da transação dividido por quatro, com arredondamento para cima. Por isso reunir muitas entradas pequenas pode custar mais que transferir um único valor maior. [3]

Exemplo · TX

Entradas menos saídas: a taxa

Se uma transação comum usa ao todo 250 000 sat e destina 248 200 sat aos seus recebedores, incluindo o troco, os 1 800 sat restantes são a taxa do minerador. Eles não são enviados separadamente a um endereço de taxas.

Para ter uma visão mais completa, leia este verbete junto com UTXO, Private Key, Mempool, Transaction Fees, SegWit. Também há referências a este verbete em Bitcoin Whitepaper, Timechain / Blockchain, Full Node, UTXO.

01É possível reverter uma transação Bitcoin confirmada?

Bitcoin não tem botão Cancelar nem administrador que desfaça uma transferência confirmada a pedido. Para recuperar o dinheiro, normalmente o destinatário precisa enviá-lo em uma nova transação. Isso é diferente de uma reorganização da cadeia, na qual um pagamento pode perder temporariamente suas confirmações. Cada bloco adicional aumenta o trabalho dos mineradores, Proof of Work, necessário para substituir o histórico. Mais confirmações aumentam a confiança, mas não oferecem garantia absoluta.

02Por que a carteira cria uma saída de troco?

As entradas gastam os UTXO por inteiro. Quando o valor das entradas selecionadas supera o pagamento mais a taxa, a carteira normalmente cria uma nova saída que devolve o restante ao seu controle.

DOC · 001Bitcoin Core v29.0: transaction validationFonte primária DOC · 002Bitcoin Developer Reference: TransactionsFonte primária DOC · 003BIP 141: transaction identifiers and weightFonte primária DOC · 004Bitcoin Core v29.0: block validationFonte primária
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento