Comment fonctionne le réseau peer-to-peer d’une blockchain ?
25 mai, 2020
7 min
Un système peer-to-peer (pair à pair, souvent abrégé P2P) te permet de transférer de la valeur entre deux utilisateurs en éliminant le besoin d’un intermédiaire. C’est le cas de la blockchain, dont les nœuds enregistrent les transactions sur le réseau de la blockchain en se vérifiant les uns les autres.
Éliminer l’intermédiaire
La blockchain est un travail collectif de mise à jour. Il s’agit d’un système décentralisé, ce qui signifie que n’importe qui peut choisir de participer au réseau en validant les transactions avec des autres participants ayant une responsabilité égale.
Dans une situation normale, lorsque nous payons quelqu’un par virement bancaire, la banque agit comme intermédiaire.
Cela signifie qu’elle :
- fournit l’infrastructure sur laquelle envoyer le paiement ;
- assure la sécurité de nos opérations ;
- s’occupe de vérifier la bonne exécution des transactions ;
- met à jour sa base de données qui stocke toutes les transactions ;
- … et en échange de tout cela, il faut des commissions (et la bureaucratie de l’ouverture d’un compte courant).
La même chose se produit sur la blockchain, à une exception fondamentale près : l’opérateur unique est remplacé par des milliers d’opérateurs. Cependant, ce ne sont pas les personnes qui effectuent directement le travail nécessaire, mais les ordinateurs et les appareils des particuliers ou des entreprises. Tout appareil qui se connecte à l’interface d’une blockchain est appelé un nœud. Étant donné que n’importe qui peut ouvrir un nœud, dans certains cas, même avec un ordinateur portable, il peut se trouver n’importe où dans le monde.
En général, les nœuds sont tous les appareils qui stockent l’historique des transactions de la blockchain. Chaque nœud contient un enregistrement complet de toutes les opérations qui ont été enregistrées dans cette blockchain, c’est-à-dire une copie mise à jour du registre comptable ou du grand livre.
Les nœuds peuvent également décider de devenir des validateurs ou, dans le cas de Bitcoin, des mineurs.
Un validateur ou mineur est un type de nœud qui, en plus de stocker une copie de la blockchain, est également chargé de vérifier les transactions transmises à la blockchain et de les enregistrer sur la blockchain.
Les validateurs sur un réseau s’assurent que les règles du protocole sont suivies, et que toutes les transactions sont effectuées correctement.
Puisqu’il n’y a pas d’autorité centrale qui dit aux nœuds ce qu’ils doivent faire ou qui contrôle ce qu’ils font (comme une banque le fait pour son opérateur), ils doivent pouvoir s’entendre sur leur travail. De plus, il doit y avoir un mécanisme qui pousse les nœuds à agir pour l’intérêt commun et non vers des intérêts égoïstes. Ce mécanisme est l’algorithme de consensus. L’algorithme de consensus est écrit dans le protocole. Un protocole est un ensemble de règles qui définissent les modalités de dialogue entre deux ou plusieurs entités.
Par exemple, le protocole HTTP permet le dialogue entre client et serveur. Dans le cas le plus courant, l’HTTP permet à un navigateur Web de se connecter au serveur hébergeant un certain site, et d’afficher ainsi ce site Web sur l’interface de l’ordinateur ou du smartphone.
De même, le protocole d’une blockchain régule la relation entre les nœuds du réseau et la manière dont ceux-ci parviennent à un consensus.
Que sont les algorithmes de consensus ?
Les algorithmes de consensus sont appelés ainsi car ils permettent aux validateurs du réseau de parvenir à un consensus sur la validité ou non d’une transaction, et sur l’ajout de nouveaux blocs. L’interaction entre les validateurs est basée sur le respect et l’exécution de règles inscrites dans le protocole sous la forme d’un code. Toute interaction ou configuration allant au-delà de ces règles est exclue a priori ; elle ne peut donc pas être vérifiée. C’est pourquoi, on dit que sur la blockchain le code fait loi.
Par exemple, si l’on considère la blockchain de Bitcoin, le protocole Bitcoin est l’ensemble des règles qui définissent la structure même de la blockchain et l’ensemble de son fonctionnement : de la manière dont les transactions et les fonctions cryptographiques utilisées sont demandées et enregistrées, à la manière dont les commissions et portefeuilles fonctionnent, jusqu’à et y compris l’algorithme de consensus.
Chaque protocole a son propre algorithme de consensus. Le Bitcoin, par exemple, atteint un consensus sur les transactions selon le Proof-of-Work.
Le consensus décentralisé et l’immuabilité des transactions rendent la blockchain à la fois sans erreurs, et à l’abri des manipulations, augmentant ainsi non seulement la sécurité du réseau par rapport aux bases de données classiques, mais aussi la fiabilité des informations enregistrées.
Enfin, bien que toutes les transactions enregistrées puissent être consultées, la blockchain n’oblige pas les utilisateurs à s’enregistrer et ne prévoit pas de contrôle préalable de ceux-ci, offrant ainsi un haut niveau d’anonymat.
Comment se déroule une transaction sur blockchain ?
Il existe différents modèles pour parvenir à un consensus. Indépendamment des spécificités techniques qui distinguent les différentes blockchains, le mécanisme de validation et de consensus consiste essentiellement en la procédure suivante :
- les nœuds de validation sont informés en temps réel d’une transaction ;
- les validateurs s’accordent sur la validité de la transaction ;
- un valideur sélectionné confirme et enregistre la transaction et/ou le bloc ;
Dans le cas précis des cryptomonnaies, lorsque celles-ci sont envoyées d’un wallet (portefeuille numérique) vers un autre wallet, ce que nous pouvons appeler les 4 phases a lieu :
- Demande. La demande de transfert de n cryptomonnaies du portefeuille A vers le portefeuille B est transmise sur le réseau de nœuds.
- Vérification. Les nœuds voient la transaction. Certains types particuliers de nœuds, les miners ou validateurs, vérifient la validité de la transaction et parviennent à un consensus sur la validité.
- Enregistrement. Si elle est considérée comme valide, la transaction est enregistrée dans un bloc de la blockchain de manière irréversible et immuable.
- Mise à jour. Les nœuds mettent à jour leurs copies de la blockchain. Désormais, tous les nœuds savent que le portefeuille A ne peut plus renvoyer ces cryptomonnaies spécifiques au portefeuille B ou à un autre portefeuille (ce que l’on appelle une double dépense), car il les a déjà transférées et qu’elles ne lui appartiennent plus.
Résumé des concepts
- Un nœud est tout appareil connecté à une blockchain qui en détient une copie à jour.
- Un protocole blockchain définit la manière dont le système doit fonctionner ; c’est l’ensemble des règles qui permettent aux nœuds d’échanger des informations et de valider des blocs.
- Un algorithme de consensus est le mécanisme par lequel ces règles sont appliquées, permettant aux nœuds de parvenir à un consensus sur une transaction donnée.
La blockchain est une technologie qui permet d’envoyer de l’argent directement entre deux personnes (peer-to-peer) sans passer par une banque, une société de carte bancaire ou un service de paiement. Au lieu de la banque, un réseau de nœuds valide et enregistre la transaction entre les parties.
Pour la première fois dans l’histoire, la blockchain permet à deux personnes d’échanger de la valeur grâce à un réseau décentralisé de nœuds capables de parvenir à un consensus sans qu’il soit nécessaire qu’une autorité de contrôle agisse comme arbitre. Cela est possible car la blockchain n’est pas basée sur la confiance, mais utilise un mécanisme de consensus complexe.