Masterclass #15 : Bien comprendre les inputs, outputs et UTXOs
![Masterclass #15 : Bien comprendre les inputs, outputs et UTXOs image 1](https://img.bgstatic.com/multiLang/image/social/a2b59e6fb94e8d1930dcb0f6ebdd3a9a1718150224696.jpeg)
Découvrez comment fonctionnent les transactions Bitcoin, en commençant par les inputs, outputs et UTXOs.
Les basiques de la transactions
Comme évoqué précédemment dans les premiers épisode s, afin de créer une transaction, nous avons besoin d’une adresse et donc d’une clé publique et d’une clé privée. Pour faciliter le processus, les clés sont alors réduite en public key hash (PKH) pour être introduites dans le lock de l’output.
En guise d’introduction simplifiée, les transactions consistent en fait en un ensemble de données d’informations qui servent uniquement à déverrouiller et verrouiller des lots de Bitcoin.
En somme, ils servent donc à :
- Déverrouiller les fonds qui doivent être transférés contenus dans les inputs choisis par le wallet.
- Verrouiller les fonds dans un output.
La transaction se transforme donc en une passation d’output. En recevant les BTC d’un output, le receveur transforme alors cet output en input et le transforme une nouvelle fois en output lorsqu’il les dépensera.
Nous avons évoqué que pour déverrouiller un output, nous avons besoin d’une clé privée pour déverrouiller la clé publique contenue dans l’output créé par l’émetteur.
Les inputs
En d’autres termes, les inputs représentent les anciens outputs reçus qui sont choisis pour être dépensés (autrement appelée UTXOs).
“Une input de transaction fait référence à une transaction précédente qui a utilisé l’ID de transaction de la transaction (txid). Le txid de la transaction est le double de son Hachage SHA256. C’est ce qu’on appelle un identifiant de transaction car ce hachage est souvent utilisé pour faire référence à la transaction.”
Si nous prenons l’exemple de quelqu’un qui veut dépenser 10 BTC. Si il possède deux inputs, un de 6 BTC (input numéro 1) et un input de 4 BTC (input 2), voici ce que contiendrait les inputs respectifs :
Input 1 :
- Le txid de l’input 1, donc de la transaction 1 recue
- Le numéro “1” pour l’identifier et savoir quel input nous avons choisi
- Un espace vide pour y insérer la signature
Input 2 :
- Le txid de l’input 2
- Le numéro “2”
- Un espace vide pour y insérer la même signature
Il est possible de prendre autant d’input que nécessaire. Mais nous avons également évoqué l’invention du SegWit, permettant ainsi de réduire le temps de minage et de vérification des transactions. Car une transaction avec 100 inputs différents pourrait devenir trop compliqué et donc trop coûteuse.
Les outputs
“Les outputs et inputs sont un peu plus avancées que la simple spécification d’un PKH en output et une signature en input. En réalité, l’output contient un programme informatique qui vérifiera la signature lors de la dépense.”
Les outputs contiennent donc le montant des Bitcoin à envoyer. Le montant est de taille de 8 bits et accompagné d’un ScriptPubKey Size suivi d’un ScriptPubKey.
Mais afin qu’une transaction soit validée, le nombre d’ouputs doit être supérieur ou égal au nombre d’inputs. En effet, la différence entre les deux permettra de payer ce que l’on appelle les frais de transactions, qui servent notamment à rémunérer les mineurs qui valident ces dernières.
L’aspect le plus important d’une output est qu’elle nécessite une signature afin de permettre à la transaction d’être sécurisée et que personne d’autre que les échangeurs ne puisse la recevoir.
Dans le cadre de cette même transaction à deux inputs, le wallet doit donc signer les deux PKH, PKH de l’input 1 et le PKH de l’input 2. L’émetteur doit en effet prouver qu’il possède bien ces deux inputs à émettre.
C’est pourquoi chaque input doit être signé individuellement. Il peut y avoir plusieurs signatures dans le processus de transactions. C’est ce que l’on appelle le multisig, ou transaction multi-signatures.
Les UTXOs
“Une entrée dans le set d’une UTXO se compose donc d’un txid, d’un numéro de transaction (idx) et de l’output réel de la transaction.”
Afin de vérifier que les inputs n’ont jamais été dépensés, une base de données est créée sous la forme d’un lot de UTXO (unspent transaction output), autrement appelé UTXO set. Les UTXO sont donc le garant du fait que l’input n’a jamais été dépensé et donc que les fonds sont bien en la possession de l’émetteur.
En reprenant l’image de la transaction étant une suite d’inputs transformés en outputs, les UTXOs sont les terminaisons de cette chaîne. Ceci évite donc le “double-spending” que l’on peut retrouver par exemple avec les chèques en blanc dans la finance traditionnelle. C’est donc un autre avantage offert par Bitcoin et les crypto-monnaies. Aucuns faux billets ou faux chéquiers dans Bitcoin
Sources : Grokking Bitcoin.
Sur le même sujet :
-
- Masterclass #12 : tout comprendre sur le hashing crypto et les signatures
- Masterclass #13 : comment sont créées les adresses et sont-elles sécurisées ?
- Masterclass #14 : tout comprendre sur comment fonctionnent les wallets
Sources : Grokking Bitcoin.
Sur le même sujet :
-
- Masterclass #12 : tout comprendre sur le hashing crypto et les signatures
- Masterclass #13 : comment sont créées les adresses et sont-elles sécurisées ?
- Masterclass #14 : tout comprendre sur comment fonctionnent les wallets
-
- Masterclass #12 : tout comprendre sur le hashing crypto et les signatures
- Masterclass #13 : comment sont créées les adresses et sont-elles sécurisées ?
- Masterclass #14 : tout comprendre sur comment fonctionnent les wallets
-
- Masterclass #12 : tout comprendre sur le hashing crypto et les signatures
- Masterclass #13 : comment sont créées les adresses et sont-elles sécurisées ?
- Masterclass #14 : tout comprendre sur comment fonctionnent les wallets
Avertissement : le contenu de cet article reflète uniquement le point de vue de l'auteur et ne représente en aucun cas la plateforme. Cet article n'est pas destiné à servir de référence pour prendre des décisions d'investissement.
Vous pourriez également aimer
Innovation publique : comment la blockchain transforme les administrations européennes
![](https://img.bgstatic.com/multiLang/image/social/71b47b8bade4b5371b11a478e38a6c9d1739136784209.png)
TRUMP n'est plus à la mode, XYZ pourrait devenir le nouveau leader du Memcoin
![](https://img.bgstatic.com/multiLang/image/social/56a5fbbc1e88cb6aaad818b68cec91dd1739043864068.jpg)
En vogue
PlusPrix des cryptos
Plus![Bitcoin](https://img.bgstatic.com/multiLang/coinPriceLogo/bitcoin.png)
![Ethereum](https://img.bgstatic.com/multiLang/coinPriceLogo/ethereum.png)
![Tether USDt](https://img.bgstatic.com/multiLang/coinPriceLogo/0208496be4e524857e33ae425e12d4751710262904978.png)
![XRP](https://img.bgstatic.com/multiLang/coinPriceLogo/ripple.png)
![Solana](https://img.bgstatic.com/multiLang/coinPriceLogo/solana.png)
![BNB](https://img.bgstatic.com/multiLang/coinPriceLogo/binance.png)
![USDC](https://img.bgstatic.com/multiLang/coinPriceLogo/usdc.png)
![Dogecoin](https://img.bgstatic.com/multiLang/coinPriceLogo/dogecoin.png)
![Cardano](https://img.bgstatic.com/multiLang/coinPriceLogo/cardano.png)
![TRON](https://img.bgstatic.com/multiLang/coinPriceLogo/tron.png)