Outpoint
Un outpoint est la paire (TXID, vout) qui identifie de manière unique une UTXO. C'est ce que référence chaque input pour pointer vers la sortie qu'il consomme. Format clé du modèle UTXO. Indispensable au moteur d'indexation.
Définition
Un outpoint est l'identifiant unique d'une sortie de transaction Bitcoin. Il combine deux informations :
- le TXID (Transaction ID) : le hash de la transaction qui a créé cette sortie ;
- le vout (output index) : la position de la sortie dans cette transaction, à partir de 0.
Notation usuelle : <TXID>:<vout>, par exemple e89f...3c2a:1 désigne la deuxième sortie de la transaction e89f...3c2a.
Rôle dans une transaction
Une transaction Bitcoin consomme des UTXOs en entrée et en crée de nouvelles en sortie. Chaque input contient un outpoint qui pointe précisément vers l'UTXO qu'il dépense. Sans outpoint, impossible de savoir quelle sortie est consommée — surtout quand un même montant apparaît plusieurs fois dans la blockchain.
Exemple
Soit la transaction abc...def qui crée trois sorties :
| vout | Montant | Adresse | |------|---------|---------| | 0 | 0,5 BTC | bc1q...xx | | 1 | 1,0 BTC | bc1q...yy | | 2 | 0,2 BTC | bc1q...zz |
Trois outpoints en sont issus : abc...def:0, abc...def:1, abc...def:2. Pour dépenser le bitcoin verrouillé sur bc1q...yy, on construit un input qui pointe vers abc...def:1 et fournit la signature satisfaisant le scriptPubKey associé.
UTXO set et stockage
Le UTXO set (ou chainstate) de Bitcoin Core est une base de données clé-valeur où :
- clé = outpoint
- valeur = montant, scriptPubKey, hauteur de bloc, statut coinbase
Sa taille est d'environ 15 Go en 2025 et ne cesse de croître. Chaque nœud le maintient en RAM (cache) et disque (LevelDB) pour valider rapidement les nouvelles transactions.
Particularités techniques
- L'outpoint d'une transaction coinbase existe mais ne peut être dépensé qu'après 100 blocs (maturity).
- Si la même UTXO est créée deux fois (très rare, lié à BIP-30), seule la dernière est dépensable.
- Le format binaire utilise 32 octets pour le TXID + 4 octets pour le vout = 36 octets par outpoint.
À retenir
L'outpoint est la « clé primaire » du modèle UTXO. Chaque satoshi en circulation peut être retracé à un outpoint unique, et chaque dépense référence un outpoint précis : c'est ce qui donne à Bitcoin sa traçabilité interne et sa résistance à la double dépense.
Termes lies
- TXIDLe 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.
- 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.
- 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.
- 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).
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.