Skip to main content

ID de Transação (TXID) | Bitcoin Glossary | Mapping Bitcoin

ID de Transação (TXID)

Protocolo

Also known as: TXID, txid, transaction hash

Hash SHA-256d de 256 bits que identifica unicamente uma transação Bitcoin, usado em entradas, exploradores de blocos e APIs para rastrear pagamentos.

Visão Geral

Um ID de Transação (TXID) é um identificador único atribuído a cada transação Bitcoin. É calculado realizando um duplo hash SHA-256 nos dados de transação serializados e é representado como uma string hexadecimal de 64 caracteres. Os TXIDs servem como referência principal para localizar e vincular transações em todo o protocolo e ecossistema Bitcoin.

Como os TXIDs São Calculados

Dados de Transação Brutos
       |
  SHA-256(dados)
       |
  SHA-256(resultado)
       |
  Inverter ordem de bytes
       |
  TXID (64 caracteres hex)

Exemplo de TXID:
a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d

A operação de duplo SHA-256 (às vezes escrita como SHA256d ou HASH256) é o mesmo esquema de hash usado em todo o Bitcoin, incluindo cabeçalhos de bloco e árvores de Merkle.

TXIDs no Protocolo

Os TXIDs desempenham vários papéis críticos no Bitcoin:

  • Referências de entrada: Cada entrada de transação especifica o TXID e o índice de saída do UTXO que está gastando. Isso cria a cadeia de propriedade que constitui o grafo de transações do Bitcoin.
  • Folhas da árvore de Merkle: Os TXIDs são combinados em hash para formar a raiz de Merkle em cada cabeçalho de bloco.
  • Exploradores de blocos: Os usuários procuram transações em exploradores de blocos por TXID.
  • Confirmação de pagamento: Comerciantes e serviços rastreiam TXIDs para monitorar o status do pagamento.

SegWit e Maleabilidade

Antes do SegWit, o Bitcoin sofria de maleabilidade de transações, onde os dados de assinatura podiam ser modificados sem invalidar a transação, fazendo o TXID mudar. O SegWit corrigiu isso excluindo dados de testemunha do cálculo do TXID.

O SegWit também introduziu o wtxid (TXID testemunha), que inclui dados de testemunha no hash. O wtxid é usado no compromisso de testemunha dentro da transação coinbase, enquanto o TXID tradicional permanece o identificador principal para referenciar saídas.

Equívocos Comuns

  • Os TXIDs são exibidos em ordem de bytes invertida em comparação com a saída do hash bruto. Esta é uma convenção histórica que pode causar confusão ao trabalhar no nível do protocolo.
  • Ter um TXID não significa que uma transação está confirmada — transações não confirmadas no mempool também têm TXIDs, embora possam mudar se a transação for substituída via RBF.