vin
vin est le tableau des inputs d'une transaction Bitcoin dans son sérialisé. Chaque entrée pointe vers une UTXO consommée. Synonyme moderne d'« inputs ». Utilisé dans les RPC et explorers.
Le champ "vin" dans la structure d'une transaction
Le terme vin (pour vector of inputs) désigne le tableau des entrées d'une transaction Bitcoin tel qu'il apparaît dans sa représentation JSON sérialisée. C'est le format renvoyé par les RPC getrawtransaction de Bitcoin Core, et affiché par tous les explorateurs de blocs (mempool.space, blockstream.info, etc.).
Anatomie d'un vin
Chaque élément du tableau vin contient quatre champs principaux :
"vin": [ { "txid": "abc123...", "vout": 0, "scriptSig": { "asm": "...", "hex": "..." }, "sequence": 4294967295 } ]
txid: hash de la transaction dont vient l'UTXO consommée.vout: index de l'output au sein de cette transaction parente.scriptSig: script de déverrouillage qui prouve le droit de dépenser (signature + clé publique pour P2PKH, par exemple).sequence: champ d'opcodes pour RBF, timelocks relatifs (CSV), etc.
Coinbase : un vin spécial
Pour la transaction coinbase (première transaction de chaque bloc, celle qui crée la subvention), vin contient un unique élément sans txid réel — à la place, un champ coinbase contient des données arbitraires (hauteur du bloc, message du mineur). C'est dans ce champ qu'a été écrite la fameuse phrase « Chancellor on brink of second bailout for banks » du bloc Genèse.
vin et SegWit
Depuis SegWit, le scriptSig est en grande partie déplacé vers un champ txinwitness adjacent (le witness). Le scriptSig peut être vide pour les inputs P2WPKH ou P2TR, et la signature se trouve dans le témoin séparé — ce qui permet le discount de poids en vBytes.
En pratique
Quand un développeur ou un wallet "consomme" des UTXO pour construire une transaction, il assemble le tableau vin en sélectionnant les sorties précédentes appropriées. La transaction n'est valide que si chaque scriptSig (et/ou témoin) débloque correctement le scriptPubKey de l'UTXO référencée par (txid, vout).
Termes lies
- Input (vin)Un input désigne une UTXO consommée par une transaction. Il référence le TXID + index de la sortie qu'il dépense, et fournit les données de déverrouillage (scriptSig, witness). Une transaction a un ou plusieurs inputs. Leur somme doit être ≥ aux outputs (la différence = frais).
- 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.