Protocol of Duty : Comprendre le protocole de la blockchain

Quand il y a des systèmes, il y a des protocoles

La technologie Blockchain est apparue comme la solution révolutionnaire dont les gens ne savaient pas qu’ils avaient besoin pour résoudre des problèmes qu’ils ne savaient pas qu’ils avaient. Elle s’accompagne d’une pléthore de termes et de concepts qui restent inexpliqués à ce jour. L’un de ces termes est le protocole blockchain – un terme souvent utilisé de manière interchangeable avec les réseaux blockchain, alors qu’il ne s’agit pas exactement de la même chose.

Dans cet article, nous allons présenter le concept de protocole de blockchain, ses différences avec la blockchain en tant que telle, ainsi que certains de ses principaux fonctionnements et applications.

Qu’est-ce qu’un réseau blockchain ?

La blockchain est la couche de base de tout ce qui touche à la cryptographie. Il s’agit d’un réseau décentralisé qui permet des transactions rapides, sans autorisation, anonymes et sécurisées avec un actif numérique de pair à pair dans le monde entier. Le réseau sert de base de données distribuée : toutes les transactions effectuées sur la blockchain sont ouvertes, anonymes, stockées dans des blocs et peuvent être consultées par n’importe qui.

Une blockchain est alimentée par un réseau distribué de nœuds – des ordinateurs qui fonctionnent pour maintenir le réseau en activité dans le monde entier. Les nœuds travaillent généralement comme mineurs (dans les réseaux à preuve de travail comme le bitcoin) ou comme stakers/délégateurs (comme dans les réseaux à preuve d’enjeu comme Ethereum ou Cardano). Pour leurs efforts, les mineurs et les stakers reçoivent une part des frais de transaction qu’ils contribuent à vérifier.

Dans les réseaux à preuve de travail, les mineurs sont chargés de déchiffrer le hachage – un identifiant cryptographique unique – du prochain bloc de transactions. Pour ce faire, ils utilisent des puissances de calcul brutes et rivalisent essentiellement en termes de vitesse de calcul. Dans les réseaux à preuve d’enjeu, cela ne se fait pas par le calcul, mais par la détention d’une grande quantité de la monnaie locale du réseau, ce qui permet d’avoir un droit de regard sur les blocs à approuver par la suite.

La blockchain a été inaugurée par le Bitcoin, tout comme la BTC, la première crypto-monnaie existante. Conçue par l’inconnu Satoshi Nakamoto, la blockchain Bitcoin a pris vie de manière plutôt symbolique par un groupe décentralisé de passionnés.

La crypto-monnaie Bitcoin sert de carburant au réseau, les utilisateurs payant une part de leurs transactions en tant que frais de transfert.

La blockchain Ethereum a été construite sur la base du Bitcoin et a élargi l’arsenal de la blockchain avec des contrats intelligents. Les contrats intelligents sont des algorithmes précodés qui s’exécutent d’eux-mêmes lorsqu’un ensemble particulier de conditions est rempli. Par exemple, envoyez 200 ETH à l’adresse (X) dès que le numéro du jeton NFT (XYZ) est reçu de cette adresse.

Les contrats intelligents permettent une flexibilité inégalée dans le déploiement d’applications blockchain et sont essentiellement le tissu de tous les DeFi actuels. Lancés par le réseau Ethereum, les contrats intelligents ont été adoptés et mis en œuvre par la plupart des protocoles de blockchain connus aujourd’hui.

Maintenant que nous avons établi ce qu’est un réseau blockchain, voyons ce qu’est un protocole blockchain.

Le protocole d’une blockchain est essentiellement constitué des règles régissant le fonctionnement du réseau de la blockchain. Il ne s’agit PAS du réseau blockchain en tant que tel, mais plutôt d’un ensemble de règles intégrées dans tous ses rouages. Il définit quand, comment et dans quelle mesure les différents éléments du réseau peuvent ou ne peuvent pas faire certaines choses.

Les protocoles de la blockchain et leur fonctionnement

L’épine dorsale de chaque blockchain est l’ensemble des protocoles qui régissent ses moindres mouvements. Ces protocoles sont les piliers qui soutiennent la sécurité, la connectivité et les procédures de consensus du réseau, garantissant que tout fonctionne comme sur des roulettes. En l’absence d’autorité centrale chargée de superviser les transactions, ces protocoles jouent un rôle clé dans le maintien d’une copie du grand livre de confiance et dans la vérification des transactions par le biais d’une méthode consensuelle. Une fois validées, elles sont enregistrées dans des blocs inaltérables.

Les principaux protocoles qui nous entourent

Lorsqu’il y a des systèmes, il y a des protocoles. Un protocole est une couche fondamentale de code qui indique à quelque chose comment fonctionner. Bien entendu, les protocoles ne sont pas exclusifs aux crypto-monnaies. Ils sont essentiels au fonctionnement de l’internet, car ils régissent la transmission des données d’un ordinateur à l’autre.

De nombreuses choses que nous considérons aujourd’hui comme allant de soi ont été rendues possibles et régies par des protocoles de réseau. Les plus connus sont le TCP/IP : Transmission Control Protocol/Internet Protocol, utilisé pour connecter des appareils sur le web, et le HTTP/HTTPS : Hypertext Transfer Protocol (HTTP), utilisé pour transférer des données entre les serveurs web et les clients.

Qu’est-ce qui différencie les protocoles de la blockchain ?

Il existe toutefois une différence en ce qui concerne les protocoles de la blockchain. Les choses deviennent plus intéressantes et plus complexes que le transfert de données traditionnel. Un réseau blockchain est un cadre distribué d’organismes décisionnels, chacun ayant plus à faire que de suivre les algorithmes. Cela signifie que l’ensemble des règles doit être accepté, observé et vérifié par tous les nœuds composant le réseau.

C’est ici que les choses deviennent un peu plus complexes. Il existe en fait trois types de protocoles de blockchain :

  • Protocole de mise en réseau
  • Protocole de consensus
  • Fonction de transition d’état

Chaque type est aussi important que les autres, et tous trois doivent être respectés à la lettre pour que les choses se passent bien.

Protocole de mise en réseau

Le protocole de réseau définit les règles selon lesquelles les nœuds du réseau peuvent (et ne peuvent pas) communiquer. Il s’agit notamment de la manière dont les nœuds se découvrent et se reconnaissent mutuellement, échangent des informations sur les blocs, les transactions et d’autres éléments courants. Il contient la syntaxe définissant la manière dont les nœuds doivent déchiffrer les messages des uns et des autres.

Protocole de consensus

Le protocole de consensus décrit comment les nœuds se mettent d’accord sur les transactions à considérer comme valides ou non. Comme vous le savez probablement, chaque nœud conserve une copie complète de l’ensemble du réseau sur ses disques durs. La copie comprend chaque bit de données jamais enregistré sur le réseau. Chaque copie est mise à jour en temps réel, au fur et à mesure que de nouveaux blocs sont forgés et que de nouvelles transactions sont validées.

Ainsi, lorsqu’un nœud soumet un nouveau bloc à ajouter au réseau, il n’envoie pas qu’un seul bloc – il soumet en fait sa copie complète de la blockchain à ce jour. Et c’est le travail de chaque nœud du réseau d’analyser, d’évaluer et d'(in)valider chaque copie du réseau soumise par tous les autres nœuds. Dans les réseaux à preuve de travail comme le bitcoin, seule la chaîne de blocs la plus longue est validée, ce qui signifie que la plupart des nœuds s’accordent sur sa validité. Comme vous pouvez l’imaginer, c’est un travail considérable qui nécessite à peu près autant de puissance de calcul.

Dans un réseau à preuve d’enjeu, les validateurs sont choisis au hasard par les réseaux parmi les nœuds qui détiennent dans leur portefeuille de grandes quantités de pièces natives du réseau. Certains pourraient assimiler cette approche à un monopole capitaliste, mais la perspective de monopoliser le réseau a été abordée de manière préventive. Il s’agit notamment de limiter le montant que chaque nœud est autorisé à miser, le nombre de transactions qu’il est autorisé à vérifier, la fréquence de ces vérifications, etc. Quoi qu’il en soit, les limites et les restrictions sont toutes définies dans le protocole.

Fonction de transition d’état

C’est ici que les choses deviennent vraiment techniques.

L’état est essentiellement ce que le réseau « pense » être le cas à un moment donné. Les « emplacements » actuels, les relations entre les nœuds, les transactions et les blocs, ainsi que leurs mouvements, constituent l’état du réseau.

L’État du réseau évolue au fil du temps, tout comme l’ensemble et l’équilibre des éléments qui le composent. Les transitions d’état doivent être enregistrées d’une manière particulière, et le protocole de réseau y veille également. À mesure que les nœuds entrent et sortent du réseau, échangent des informations et modifient le tissu de la blockchain, de nouvelles possibilités apparaissent, ainsi que de nouvelles complications.

L’état englobe tout ce que le réseau peut et ne peut pas faire à un moment donné. Si les conditions A et B sont remplies, le réseau est en mesure de faire X et Y sans plus. Si l’état est défini par les conditions C et D, les seules actions possibles sont W et Z. Ce changement de logique est crucial pour le fonctionnement du réseau.

Un protocole de blockchain doit être suivi par tous les nœuds du réseau.

Chaque partie décrite ci-dessus est une pièce d’un puzzle trinitaire appelé l’État vérifié. Lorsque les informations relatives aux transactions sont introduites dans le protocole de mise en réseau, elles y sont validées ou rejetées. S’il est vérifié, il passe ensuite aux protocoles de consensus, qui servent de gardien. Il permet aux données d’entrer dans l’état du réseau si elles sont en accord avec celles d’autres nœuds.

Si elles sont acceptées, les données sont alors transmises à la fonction de transition d’état, où elles deviennent le nouvel état vérifié du réseau. L’état vérifié est la frontière pratique qui définit ce qui se passe réellement après l’ajout du bloc à la chaîne. Il peut s’agir de modifier le solde d’un certain portefeuille ou de lancer un contrat intelligent.

Un nœud peut-il s’écarter du protocole ?

Un nœud peut-il désobéir au protocole et, dans l’affirmative, que se passe-t-il ? Comme indiqué précédemment, la validation des blocs exige que tous les nœuds vérifient toutes les données soumises par tous les autres nœuds en ligne. Pour ce faire, le protocole de la blockchain doit être suivi à la lettre. Si un nœud n’obéit pas, il ne pourra pas coopérer avec les autres nœuds et ne pourra donc pas récolter les bénéfices. Cela signifie qu’il n’y a pas de place pour le désaccord dans une blockchain, ce qui rend son État essentiellement totalitaire.

Cependant, il arrive qu’une blockchain soit divisée de force ou délibérément en deux parties, ce que l’on appelle une fourche. La bifurcation se produit précisément parce que certains nœuds soumettent des données incompatibles avec celles du reste du grand livre distribué.

Une blockchain ne conserve que les blocs approuvés par tous les nœuds du réseau.

Dans des conditions de travail normales, le réseau ne cherchera pas à savoir pourquoi les données sont erronées – il coupera simplement le nœud du reste du réseau, le laissant en plan. Ainsi, les nœuds potentiellement malveillants ne peuvent pas avoir d’impact sur le réseau. Il est possible que la majorité des « mauvaises » copies de chaque blockchain soient encore conservées quelque part à l’heure où nous parlons.

Cependant, les fourches peuvent aussi être une bonne chose. Un réseau blockchain ne peut pas simplement « mettre à jour » son état actuel. Chaque nouvel état vérifié est une nouvelle copie complète du réseau.

Un réseau de blockchain peut se scinder en deux, créant parfois de nouveaux réseaux en cours de route

Vous avez peut-être entendu dire que chaque mise à jour majeure de la blockchain est appelée « Fork ». Ainsi, lorsque les blockchains doivent être mises à jour, elles sont délibérément transformées en une nouvelle copie par leurs développeurs. La version antérieure à la mise à jour est conservée en tant qu’héritage, tandis que la nouvelle version devient la vraie.

Comprendre le protocole Bitcoin

Voyons un peu plus en détail ce que régit un protocole de blockchain. Prenons l’exemple du réseau Bitcoin.

Les bitcoins ne sont pas distribués comme des morceaux d’or. Lorsque vous envoyez et recevez des BTC, vous ne « recevez » ni ne « donnez » en réalité des bitcoins. En réalité, chaque nouvelle transaction enregistre une signature numérique. La signature contient un hachage – l’identifiant cryptographique unique de la transaction précédente – et la clé publique du destinataire. Ainsi, chaque transaction est sécurisée par une preuve cryptographique, qui ne peut être ni modifiée ni falsifiée.

La structure des transactions dans la blockchain Bitcoin

La principale préoccupation des acheteurs et des vendeurs en ligne est qu’à un moment ou à un autre, ils peuvent être abusés et devenir la proie d’une fraude financière. Il peut s’agir de phishing ou de fausses transactions. Il y a aussi le problème de la double dépense, ainsi que la simple manipulation du système à la recherche de profits injustes. Comme la blockchain n’est pas régie par une entité centrale, toutes les questions relatives à la sécurité des transactions reposent entièrement sur le protocole.

Les développeurs de Bitcoin ont répondu à ces préoccupations et ont introduit des mécanismes tels que les signatures numériques et les preuves cryptographiques pour les atténuer. Ainsi, le protocole Bitcoin ne permet de valider que les blocs dont la preuve cryptographique correspond à celle présente dans d’autres nœuds.

Serveur d’horodatage et système de preuve de travail

La double dépense est un problème majeur dans la blockchain. Il s’agit d’un scénario dans lequel un utilisateur tente de dépenser deux fois la même monnaie numérique. Cela peut se produire en raison de la nature numérique de la monnaie, qui facilite potentiellement la reproduction ou la copie de la monnaie sans être détectée.

Supposons qu’un utilisateur possède 1 BTC et qu’il essaie de le dépenser deux fois en l’envoyant à deux adresses différentes. Dans un système de paiement traditionnel, le système détecterait la tentative de double dépense et rejetterait la transaction. Toutefois, dans un réseau blockchain décentralisé, cela est évité grâce au système de preuve de travail et à l’algorithme de consensus, qui garantissent que chaque transaction est valide et n’a pas déjà été dépensée.

Un horodatage est attaché à chaque bloc

Pour ce faire, le protocole Bitcoin a mis en place un serveur d’horodatage qui colle une étiquette temporelle unique au hachage de chaque transaction. Le système de preuve de travail prend note de chaque horodatage et rejette toute transaction dont le hachage correspond à celles déjà enregistrées dans le système.

Chaque nouveau bloc forgé dans un réseau Bitcoin est accompagné d’une preuve de travail. La preuve est également appelée Nonce ou Number Only Generated Once. Il sert de preuve cryptographique qu’un mineur a dépensé de la puissance de calcul pour vérifier le bloc et qu’il a réussi.

Cependant, il existe des blocs erronés qui contiennent des données contredisant ce qui a été extrait par d’autres nœuds. Si un bloc défectueux est détecté, il est retiré et soumis à un examen plus approfondi pour détecter d’éventuelles incohérences. S’il est jugé valide, le bloc sera ajouté au réseau comme d’habitude. Si ce n’est pas le cas, il est mis au rebut.

Les grandes lignes du protocole jusqu’à présent

Cela dit, chaque grand réseau suit son propre protocole, conçu spécifiquement pour son mécanisme de consensus. Le réseau Bitcoin fonctionne sur le protocole Bitcoin, Ethereum sur le protocole Ethereum, etc.

Vous trouverez ci-dessous les protocoles de blockchain les plus importants à ce jour :

Nom
Polkadot (DOT)
Avalanche (AVAX)
Polygone (MATIC)
Solana (SOL)
Chaîne intelligente de Binance (BSC)

Polkadot (DOT)

Polkadot est un protocole blockchain novateur qui a révolutionné l’interopérabilité entre différentes blockchains, permettant une communication transparente et le partage de données à l’aide de contrats intelligents. Son mécanisme de consensus unique Nominated Proof of Stake (NPoS) offre une plateforme hautement sécurisée et évolutive avec un temps de blocage moyen ultra-rapide de seulement 6 secondes et des frais de transaction peu élevés de 0,10 à 0,20 $ en moyenne.

Projets notables : Kusama, ChainX, Moonbeam, Chainlink, Reef Finance

Avalanche (AVAX)

Avalanche est une plateforme open-source qui s’est imposée comme une lueur d’espoir pour les passionnés de finance décentralisée (DeFi) et les développeurs de blockchain du monde entier. Son mécanisme de consensus Avalanche de pointe permet un débit élevé et une finalité rapide, ce qui en fait l’une des blockchains les plus évolutives et les plus rapides du marché. Avalanche se targue d’un temps de blocage moyen de 2 secondes et de frais de transaction en moyenne inférieurs à 1 dollar.

Projets notables : Pangolin, Trader Joe, Benqi, Lydian Lion, SushiSwap

Polygone (MATIC)

Polygon est une solution de mise à l’échelle de la couche 2 de nouvelle génération qui transforme les problèmes d’évolutivité et de frais de transaction d’Ethereum. Son mécanisme de consensus Proof-of-Stake (PoS) valide rapidement les transactions financières, avec un temps de blocage moyen de 2 à 3 secondes, bien plus rapide qu’Ethereum. Avec des frais de transaction moyens de 0,002 $, Polygon est un choix idéal pour les développeurs qui cherchent à créer des applications décentralisées rentables.

Projets notables : Aave, Quickswap, Curve Finance, Polymarket, Zapper

Solana (SOL)

Solana est une plateforme blockchain très performante qui a pris d’assaut l’industrie de la blockchain grâce à son mécanisme de consensus « Proof-of-History » (PoH). Le débit élevé et la finalité rapide de Solana, avec un temps de blocage moyen de 0,4 à 0,8 seconde et des frais de transaction moyens de 0,00025 $, en font une plateforme de blockchain incroyablement rapide et abordable.

Projets notables : Raydium, Serum, Mango Markets, Audius, Bonfida

Chaîne intelligente de Binance (BSC)

Binance Smart Chain est une plateforme blockchain qui a changé la donne grâce à sa compatibilité avec Ethereum Virtual Machine (EVM) et à sa capacité à exécuter des applications décentralisées. Sa compatibilité en fait également une option intéressante pour les développeurs qui cherchent à migrer leurs applications d’Ethereum vers une plateforme plus efficace et plus rentable.

Projets notables : PancakeSwap, Venus, Spartan Protocol, BakerySwap, Autofarm

Où chercher des solutions de développement de la blockchain ?

Chez ICODA, nous avons des années d’expertise dans les services de développement de blockchain et dans le développement de produits blockchain qui fonctionnent. Si vous avez un projet de développement de logiciel blockchain, nous sommes là pour vous aider. Que vous ayez besoin d’un jeton ou d’une DApp, d’un DEX ou d’une place de marché NFT, ou que vous essayiez simplement de comprendre comment les solutions de développement de la blockchain peuvent bénéficier à votre entreprise, vous êtes au bon endroit. Contactez-nous dès maintenant pour obtenir un plan succinct et commencer à travailler rapidement.