Glossaire / Transactions et frais
Entrée de transaction
Aussi appelé Entrée, Input, TxIn.
- Qu'est-ce qu'une entrée de transaction ?
- Une entrée de transaction est la moitié d'un paiement qui désigne un bitcoin précis que vous possédez déjà et prouve que vous êtes autorisé à le dépenser, en le consommant entièrement.
Chaque entrée est un pointeur plus une preuve, et ce qu'elle coûte dépend du type de bitcoin dépensé : environ 57,5 octets virtuels pour un bitcoin Taproot, environ 68 pour un bitcoin SegWit natif et environ 148 pour un bitcoin de format historique. Comme les entrées sont toujours consommées en entier, un portefeuille qui détient de nombreux petits dépôts paie plus cher pour le même paiement qu'un portefeuille qui détient un seul gros bitcoin. Chaque dépôt que vous recevez est une entrée que vous paierez plus tard.
Comment cela fonctionne
Une entrée comporte quatre champs, et un seul d'entre eux est la signature.
Vient d'abord l'outpoint, 36 octets : l'identifiant de la transaction qui a créé le bitcoin, suivi de la position du bitcoin dans la liste des sorties de cette transaction. C'est le pointeur, et c'est ce qui rend le bitcoin auditable, car n'importe qui peut le remonter jusqu'au bloc où la valeur a été créée.
Vient ensuite une longueur de script, puis le script de signature, qui pour les types de bitcoins plus anciens contient la signature et la clé publique satisfaisant le verrou de la sortie précédente. SegWit a changé l'endroit où vivent ces données, pas leur contenu : pour un bitcoin bc1, le champ de script est vide et le matériel de déverrouillage passe dans une section témoin distincte, où chaque octet compte pour un quart d'unité de poids. Cryptographie identique, un quart de la facturation.
Quatrième champ, le numéro de séquence, 4 octets. Il était à l'origine destiné à un mécanisme de remplacement dans la mempool qui n'a jamais fonctionné, puis il a été réaffecté. Le BIP68 lui a donné un sens comme verrou temporel relatif, ce qui permet à un canal lightning de dire « dépensable, mais seulement après 144 blocs », et les valeurs inférieures à 0xfffffffe signalent aussi que la transaction peut être remplacée par une version à frais plus élevés.
La propriété qui surprend les gens est la consommation. Les entrées, c'est tout ou rien. Si vous détenez un seul bitcoin de 0,4 BTC et que vous voulez payer 0,01 BTC, l'entrée dépense la totalité des 0,4, et le portefeuille crée une sortie de monnaie rendue pour vous restituer le reste. Il n'existe pas de dépense partielle ni de notion de déduction d'un montant.
Une entrée est particulière. Une transaction coinbase, celle qui paie le mineur, a exactement une entrée dont l'outpoint ne pointe vers rien : 32 octets à zéro et un index de 0xffffffff. Son script porte des données arbitraires au lieu d'une signature, c'est là que va la hauteur du bloc et c'est là qu'ont été écrits des messages comme celui du bloc de genèse.
Où cela se voit
Les entrées sont la colonne de gauche sur un explorateur de blocs, et la raison pour laquelle l'estimation des frais de votre portefeuille bouge quand vous ne changez rien d'autre.
Dans un écran de contrôle des bitcoins, ce sont les cases à cocher. Sélectionner un seul gros bitcoin au lieu de quatre petits, c'est la différence entre une entrée et quatre, ce qui, à 68 octets virtuels chacune et avec un taux de frais de 20 sat/vB, représente une économie d'environ 4 080 satoshis sur un seul paiement.
Elles divulguent aussi des informations. Deux entrées dans une même transaction disent à tout observateur qu'une seule partie contrôlait les deux bitcoins, ce qui est l'hypothèse derrière presque tout le regroupement sur la blockchain. Choisir quelles entrées combiner est donc une décision de confidentialité autant qu'une décision de coût.
La conclusion pratique pour quiconque accumule régulièrement : regroupez vos achats en moins de retraits. Douze retraits mensuels laissent douze entrées en attente, et leur facture arrive le jour où vous dépensez enfin, au taux que le marché applique alors.
Entrée de transaction vs sortie de transaction
Une entrée est une créance sur le passé et une sortie est une offre pour l'avenir, et le même morceau de valeur joue les deux rôles au cours de sa vie. Il naît comme sortie, reste dans l'ensemble des sorties non dépensées et meurt comme entrée dans la transaction qui la dépense. L'asymétrie qui compte est économique : les sorties sont peu coûteuses à créer, à 31 à 43 octets chacune, tandis que les entrées sont coûteuses à dépenser, à 57,5 à 148 octets virtuels chacune. Recevoir ne coûte presque rien et dépenser coûte de l'argent réel, ce qui est exactement l'inverse de ce que la plupart des gens attendent d'un réseau de paiement.