Output (vout)
Un output crée une nouvelle UTXO, verrouillée par un scriptPubKey. Il contient le montant en satoshis et la condition à remplir pour le dépenser. Une transaction crée 1 à plusieurs outputs. Une fois consommé, un output devient un input.
Définition
Un output (ou vout en abrégé) est l'une des sorties d'une transaction Bitcoin. C'est la brique élémentaire qui crée du bitcoin dépensable sous une condition donnée. Quand vous recevez 0,01 BTC, ce que vous recevez vraiment, c'est un output verrouillé sur votre scriptPubKey.
Anatomie d'un output
Chaque output contient seulement deux champs essentiels :
| Champ | Taille | Description |
|-------|--------|-------------|
| value | 8 octets | Montant en satoshis (1 BTC = 100 000 000 sats) |
| scriptPubKey | variable | Script déterminant les conditions de dépense |
Le scriptPubKey encode la condition : « il faut prouver qu'on connaît la clé privée X », « il faut deux signatures sur trois », « il faut attendre le bloc Y », etc. C'est l'instruction de verrouillage.
Cycle de vie : output → UTXO → input
- Une transaction
T1crée trois outputs : index 0, 1 et 2. - Tant qu'aucune autre transaction ne les consomme, ces outputs constituent des UTXOs (Unspent Transaction Outputs).
- Quand
T2veut dépenser l'output 1, elle le référence via son outpointT1:1dans un input. - L'output cesse d'exister dans le UTXO set ; il est dit spent.
Types courants
Le scriptPubKey détermine le type d'output :
- P2PKH (préfixe
1) : adresses historiques - P2SH (préfixe
3) : multisig classique - P2WPKH (préfixe
bc1q...) : SegWit natif singlesig - P2WSH (préfixe
bc1q...long) : SegWit natif script - P2TR (préfixe
bc1p) : Taproot
Certaines sorties spéciales existent : OP_RETURN (preuve d'horodatage, max 80 octets, non dépensable), coinbase (récompense de bloc).
Dust et seuils
Bitcoin Core rejette par défaut les outputs trop petits, dits dust : moins coûteux à créer qu'à dépenser. Les seuils varient selon le type :
- P2PKH : ~546 sats
- P2WPKH : ~294 sats
- P2TR : ~330 sats
Pourquoi le modèle UTXO ?
Contrairement aux comptes (Ethereum), Bitcoin n'a pas de solde stocké. Le solde d'un wallet est simplement la somme des outputs qu'il sait dépenser. Cela facilite la parallélisation des validations et limite les états globaux à modifier à chaque transaction.
À retenir
L'output est l'atome fondamental de Bitcoin : un montant + une condition de dépense. Tout ce qu'un wallet possède n'est qu'un ensemble d'outputs encore non dépensés.
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).
- UTXOUTXO (Unspent Transaction Output) designe une sortie de transaction non depensee. Contrairement a un compte bancaire avec un solde, Bitcoin fonctionne avec des UTXO : chaque transaction consomme des UTXO existants et en cree de nouveaux. C'est comme manipuler des billets plutot qu'un solde numerique.
- ScriptPubKeyLe scriptPubKey est le script de verrouillage d'une UTXO. Il définit les conditions à satisfaire pour la dépenser (signature, hash, etc.). Tout output Bitcoin a un scriptPubKey. C'est la pièce centrale du modèle UTXO.
- voutvout est le tableau des outputs d'une transaction Bitcoin. Chaque entrée crée une nouvelle UTXO. Le terme désigne aussi l'index d'une sortie particulière. Indispensable pour référencer une UTXO précise.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.