Raw transaction
Une raw transaction est la sérialisation hexadécimale brute d'une transaction Bitcoin. Permet d'inspecter ou diffuser une transaction sans intermédiaire. Manipulable via bitcoin-cli, mempool.space ou les wallets avancés. Format de base de tout outil bas niveau.
Définition
Une raw transaction est la représentation binaire (typiquement encodée en hexadécimal) d'une transaction Bitcoin, conforme au format de sérialisation décrit dans les BIPs 141 et 144. Elle contient tout ce qu'il faut pour qu'un nœud valide et propage la transaction : version, inputs, outputs, witness data, locktime — mais aucune métadonnée externe.
Structure
[4 octets] version
[1 octet] marker (0x00, SegWit uniquement)
[1 octet] flag (0x01, SegWit uniquement)
[varint] nombre d'inputs
[N × input] inputs (prevout, scriptSig, sequence)
[varint] nombre d'outputs
[N × output] outputs (value, scriptPubKey)
[witness data] (SegWit uniquement)
[4 octets] locktime
Une transaction typique fait entre 140 et 250 octets pour un simple P2WPKH ; un multisig P2WSH 2-of-3 dépasse 350 octets.
Outils pour les manipuler
| Outil | Usage |
|-------|-------|
| bitcoin-cli decoderawtransaction <hex> | Décoder vers JSON lisible |
| bitcoin-cli createrawtransaction | Construire à la main |
| bitcoin-cli signrawtransactionwithkey | Signer |
| bitcoin-cli sendrawtransaction <hex> | Diffuser au réseau |
| mempool.space "Broadcast tx" | Diffuser sans nœud perso |
| Electrum, Sparrow | Inspection et import |
Pour les workflows multi-signataires, on lui préfère désormais la PSBT (BIP-174) qui ajoute les métadonnées nécessaires à la coordination.
Cas d'usage
- Air-gapped signing : copier la raw tx d'une machine en ligne vers un signataire hors ligne.
- Broadcasting d'urgence : si vos wallets habituels sont down, vous pouvez toujours pousser la tx à un nœud public.
- Debug : examiner une transaction étrange repérée dans le mempool.
- Tooling avancé : automatisations server-to-server, BTCPay, exchanges.
Limites
Une raw tx ne contient pas les UTXO sources (le scriptPubKey original), ce qui complique la vérification offline. Elle ne contient pas non plus les xpubs ni les dérivations BIP-32. C'est précisément ce que la PSBT a comblé.
À retenir
La raw transaction est le format "métal nu" de Bitcoin : universel, vérifiable, minimal. Tout outil sérieux finit par y revenir, et savoir la décoder est un acte de souveraineté technique.
Termes lies
- PSBTPSBT (Partially Signed Bitcoin Transaction, BIP-174) est un format standard pour transporter une transaction entre signataires. Indispensable au multisig et aux hardware wallets. Permet workflow off-line/air-gapped sans révéler la clé. Évolution majeure pour la sécurité.
- bitcoin-clibitcoin-cli est l'outil en ligne de commande pour interagir avec bitcoind via RPC. Indispensable pour l'admin d'un nœud.
- Transaction BitcoinUne transaction Bitcoin transfère des UTXO en consommant des inputs pour créer des outputs. Une transaction valide doit débloquer ses inputs (scripts) et respecter les règles de consensus. Elle est diffusée au réseau, attend dans le mempool, puis est incluse dans un bloc. Son identifiant est le TXID.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.