Aller au contenu principal
Transactions

TXID

Le TXID (Transaction Identifier) est le hash double SHA-256 d'une transaction Bitcoin sans ses witness data. Il identifie de manière unique la transaction. Avec SegWit, il est complété par le wtxid qui inclut les witness. Utilisé partout pour référencer une transaction.

Définition et origine

Le TXID (Transaction Identifier) est l'empreinte cryptographique unique d'une transaction Bitcoin. C'est le double SHA-256 (HASH256) de la sérialisation de la transaction sans ses données de témoin (witness). Présent dans Bitcoin depuis le bloc 0, il a été précisé par SegWit (BIP-141, 2017) qui l'a rendu malleability-resistant.

Comment ça fonctionne

Pour une transaction donnée :

  1. Sérialiser la transaction au format legacy (sans marker ni flag SegWit ni witness)
  2. Appliquer SHA-256
  3. Appliquer SHA-256 à nouveau
  4. Renverser l'ordre des octets (little-endian → big-endian display)

Le résultat est un hash de 32 octets affiché sous forme d'une chaîne hexadécimale de 64 caractères, par exemple :

4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b

TXID vs wtxid

| Identifiant | Inclut witness | Stable post-signature | |---|---|---| | TXID (BIP-141) | Non | Oui (immuable une fois signée) | | wtxid | Oui | Dépend de la stratégie de signature |

Le wtxid sert au calcul de la racine du witness commitment dans la coinbase de chaque bloc SegWit, garantissant l'intégrité des témoins. Le TXID, lui, reste l'identifiant utilisé par les utilisateurs et explorateurs.

Cas d'usage

| Contexte | Usage du TXID | |---|---| | Bloc explorer (mempool.space) | Recherche directe | | Référencement on-chain | vout d'une nouvelle tx pointe TXID:n | | Outpoints (OP_RETURN, contrats) | Engagement à une UTXO précise | | RPC getrawtransaction | Argument principal | | Lightning channel point | funding_txid:funding_output_index |

Limites historiques

Avant SegWit, les signatures faisaient partie du contenu hashé : un attaquant pouvait altérer subtilement la signature (DER non-canonique) sans invalider la transaction mais en changeant son TXID. Ce transaction malleability a été exploité contre Mt.Gox en 2014. SegWit corrige cela en sortant les witness du hash TXID.

À retenir

Le TXID est l'objet de base de toute communication on-chain : c'est ce que vous partagez à un correspondant pour prouver un paiement, à un block explorer pour vérifier un statut, ou à votre nœud pour interroger une transaction. Stable, prévisible, et désormais non-malléable grâce à SegWit.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.