Bitcoin: A Peer-to-Peer Electronic Cash System. C’est ainsi que le 31 octobre 2008, Satoshi Nakamoto présente une innovation qui posera les bases de notre écosystème tout entier. Son ambition : permettre à n’importe qui de détenir, utiliser, envoyer des fonds grâce à un réseau de paiement électronique de pair à pair éliminant le besoin de faire confiance aux banques et au système financier traditionnel. Mais comment ce réseau fonctionne-il ? Quels sont les rouages qui se cachent derrière chaque opération effectuée sur Bitcoin ? La réponse se trouve dans cet article !
Lire plus : Clé publique et clé privée : quelle différence ?
Comment passer une transaction sur la blockchain Bitcoin ?
Chaque portefeuille Bitcoin contient une clé publique et une clé privée. Alors que la clé publique est visible par l’ensemble du réseau, la clé privée de votre wallet doit rester connue de vous seul. En effet, elle permet à l’utilisateur de signer les transactions qu’il souhaite passer. Quant à la clé publique, elle permet aux participants du réseau de vérifier que vous êtes bien le signataire de la transaction.
Voici les étapes caractérisant chaque transaction sur Bitcoin :
- L’utilisateur entre l’adresse de destination. Celle-ci est dérivée de la clé publique du portefeuille du destinataire.
- Il signe la transaction à l’aide de sa clé privée.
- La transaction est transmise au réseau. Chaque nœud l’ayant reçu la transmet aux nœuds auxquels il est connecté, jusqu’à ce qu’elle atteigne pratiquement l’ensemble du réseau.
- Un mineur vérifie la transaction et, si elle est identifiée comme valide, l’inclut dans le prochain bloc. Une fois le bloc produit et confirmé par le fait que les blocs suivants sont bien créés après celui-ci et non pas après un bloc concurrent, la transaction fait partie de la blockchain Bitcoin.
- Le destinataire reçoit ses BTC et peut les dépenser dans une nouvelle transaction.
Lire plus : Qu’est-ce qu’un nœud ?
Comment les mineurs font-ils avancer la blockchain Bitcoin ?
Chaque mineur tente d’être le premier à produire le prochain bloc afin d’obtenir une récompense en bitcoins. Pour cela, ils doivent résoudre une énigme mathématique nécessitant une puissance de calcul conséquente : c’est le principe du Proof-of-Work.
L’énigme à résoudre est la suivante : tenter de trouver un nombre dont le hash commence par un nombre de zéros défini à l’avance. Ainsi, le mineur doit tester aléatoirement toutes les possibilités jusqu’à tomber sur la bonne. Ce chiffre aléatoire est appelé nonce. Le premier mineur à trouver un nonce satisfaisant produit le bloc suivant.
Chaque bloc contient donc : les transactions inclues par le mineur, le nonce, et un hash du bloc précédent. Ce hash permet de lier les blocs entre eux, créant ainsi une blockchain. Ce mécanisme constitue un élément essentiel à la sécurité du réseau. En effet, si un acteur mal intentionné tente de modifier les transactions d’un bloc, le hash de ce dernier sera également altéré. Puisque ce hash est inclus dans le bloc suivant, le hash du bloc suivant changerait également, et ainsi de suite. Grâce à ce système, il est impossible de modifier un bloc sans devoir recalculer tous les suivants, ce qui nécessiterait une puissance de calcul impossible à fournir en pratique. Ce procédé donne à Bitcoin son caractère sécurisé et immuable.
Lire plus : Qu’est-ce que le hachage ?
Un concept clé dans le fonctionnement du Bitcoin : les UTXO, ou Unspent Transaction Outputs
Si Bob veut envoyer 1 BTC à Alice, la blockchain ne vérifie pas que Bob possède 1 BTC dans son wallet. En fait, elle va regarder s’il a précédemment reçu une ou plusieurs transactions contenant au total 1 BTC ou plus. Ces montants reçus lors d’une transaction précédente et non dépensés dans une nouvelle transaction sont appelés UTXO, ou Unspent Transaction Outputs et sont indivisibles. La totalité des UTXO qu’il est nécessaire d’additionner pour atteindre 1 BTC seront donc dépensés, et la différence lui sera retournée.
Lorsqu’un UTXO est consommé par la création d’une nouvelle transaction, on parle d’input. L’UTXO dépensé est détruit, un nouvel UTXO est créé à destination du wallet récepteur, et un UTXO représentant le change de la transaction est créé pour l’envoyeur. Le solde de votre portefeuille représente en réalité l’agrégation de tous les UTXO dont votre adresse est la destination.
Les UTXO représentent un élément central du fonctionnement de Bitcoin. D’autres blockchains comme Ethereum s’appuient au contraire sur un système de comptes. Au sein de telles architectures, les wallets sont assimilables à des comptes bancaires contenant un certain solde de cryptomonnaies.
Lire plus : Proof of Work VS Proof of Stake : quelle différence ?