TXID

A referência única de uma transação

Um TXID (Transaction ID) é uma referência única para uma transação de bitcoin.

Eles são usados para procurar transações específicas em um explorador. Por exemplo:

As letras e números em um TXID não têm significado especial. São só 32 bytes de aparência aleatória (representados como 64 caracteres hexadecimais). Mas são únicos para cada transação.

Criando

Como você cria um TXID?

Um TXID é criado fazendo o hash dos dados da transação. Mais precisamente, passando partes específicas dos dados pela função SHA256 e passando o resultado pelo SHA256 de novo (esse hash duplo é o HASH256).

Então, em transações segwit, as assinaturas não fazem mais parte do TXID.

Ícone Ferramenta

TXID

Calcule o identificador (TXID/wTXID) de uma transação: HASH256 dos dados, em ordem de bytes invertida.

0 bytes

Os TXIDs que você vê nos exploradores estão, na verdade, em ordem de bytes invertida. Isso é só uma peculiaridade do bitcoin.

Exemplos

Como é um TXID?

1. Transação Legada

Para criar um TXID de uma transação legada, você faz o HASH256 de todos os dados da transação. Por exemplo, hasheando os dados de uma certa transação você obtém 169e1e83e930853391bc6f35f605c6754cfead57cf8387639d3b4096c54f18f4 (o TXID em ordem natural, que aparece nos dados brutos). Invertendo a ordem dos bytes, você obtém o TXID exibido nos exploradores: f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16.

2. Transação SegWit

Para uma transação segwit, você faz o HASH256 de todos os dados exceto os campos marker, flag e witness. Ao não hashear esses campos novos, você evita que dados de assinatura façam parte do TXID (eles agora ficam na testemunha), já que as assinaturas podem ser manipuladas para mudar o TXID depois de uma transação ser enviada à rede (o que é raro, mas tornava os TXIDs menos confiáveis). Esse foi o principal motivo da atualização Segregated Witness.

Faça você mesmo

Você pode conferir que os dados produzem os TXIDs corretos hasheando os mesmos dados com HASH256 diretamente:

Ícone Ferramenta

HASH256

SHA-256 dupla. Faz o hash dos bytes de dados usando SHA-256 duas vezes: SHA256(SHA256(dados)).

0 bytes 0 bytes

Depois, não esqueça de inverter a ordem dos bytes:

Ícone Ferramenta

Inverter Bytes

Inverte a ordem dos bytes de um valor hexadecimal (útil para converter entre big-endian e little-endian).

0 bytes

Uso

Como os TXIDs são usados no Bitcoin?

  1. Procurar transações. Você usa TXIDs para procurar transações específicas em um explorador ou no seu nó local.
  2. Gastar saídas. Ao gastar a saída de uma transação anterior, você a referencia pelo seu TXID (junto com o VOUT) na entrada.
  3. Raiz de Merkle. Os TXIDs de todas as transações de um bloco são hasheados juntos para criar a raiz de Merkle no cabeçalho do bloco.