Le Consensus de Nakamoto est le nom du premier système de consensus généré pour les crypto-monnaies, dont le nom dérive de son créateur, Satoshi Nakamoto, qui a également développé Bitcoin.
Ce système est ce qui rend possible le fonctionnement du Bitcoin et, en tant que système de consensus, rassemble une série de fonctions fondamentales pour rendre possible le déploiement et le fonctionnement de cette crypto-monnaie.
Qu'est-ce que le consensus de Nakamoto ?
Le Consensus de Nakamoto est en fait l'union de divers algorithmes qui, appliqués dans leur ensemble, permettent à Bitcoin de fonctionner comme un réseau décentralisé alimenté par un protocole de communication P2P, un système de minage pour la génération de crypto-monnaies, la validation des opérations et la génération d'un historique des opérations au sein du réseau.
Donc, fondamentalement, le consensus de Nakamoto comprend :
- El Algorithme de preuve de travail (PoW), considéré comme le premier algorithme de consensus basée sur une preuve de travail avec un coût de calcul associé.
- Un Système de communication P2P. Initialement, Bitcoin utilisé un système basé sur le protocole kademlia, mais actuellement il a évolué et utilise un système dérivé du Gossip Protocol.
- Un ensemble de règles axées sur la validation des travaux faites par les mineurs qui font partie du réseau P2P. Ces règles sont ce que les mineurs doivent respecter pour que leur travail soit accepté par le réseau de nœuds. Les nœuds ont l'obligation de valider ledit travail, tout bloc qui est en dehors de ces règles est rejeté. L'idée est que tous les nœuds gèrent les mêmes règles et les appliquent, créant un consensus sur l'histoire et permettant de générer un réseau résistant aux attaques byzantines (BFT).
De cette manière, le consensus de Nakamoto est chargé de fournir à Bitcoin les fonctions et capacités nécessaires pour qu'il puisse fonctionner de manière décentralisée et sécurisée.
Comment fonctionne le Consensus de Nakamoto
Maintenant, analysons un peu le fonctionnement du Consensus de Nakamoto, en partant de son point le plus fondamental : le début de génération d'un bloc pour le réseau.
Lorsque Bitcoin se prépare à générer un nouveau bloc, le réseau communique cet événement via un message qui dit aux mineurs de commencer à générer un nouveau bloc, en tenant compte du niveau de difficulté du réseau et de la cible.
À ce stade, les nœuds et les mineurs savent que le difficulté et cible Ce sont des éléments qui font partie des règles de validation des blocs dans le Consensus de Nakamoto. En fait, ces valeurs doivent être prises en compte lors de la génération d'un nouveau bloc pour le réseau.
À ce stade, les mineurs disposent déjà des éléments nécessaires pour commencer leur travail en utilisant l'algorithme PoW. Au cours de leur travail, ils organiseront les transactions à valider au sein du bloc et, en parallèle, ils générer les hachages SHA256, qui doit répondre à l'objectif fixé par le réseau.
A la fin de votre travail, les mineurs créent le bloc en suivant les règles de génération et le livrer au réseau pour vérification par les nœuds.
Ce n'est qu'une fois que le bloc est vérifié qu'il est ajouté à la copie du nœud de la blockchain et qu'un message est envoyé au reste du réseau indiquant qu'un nouveau bloc a été ajouté, accompagné d'une série de métadonnées qui aident le reste du réseau à vérifier que les données de génération de ce bloc sont disponibles et pouvoir ainsi recréer et valider individuellement ledit bloc.
Le processus de sélection des blocs
Cependant, la sélection de blocs est possible grâce au respect d'une série de règles.
La première règle pour sélectionner un bloc valide est essentiellement une course. De l'ensemble des mineurs au sein du réseau, seuls celui qui complète un bloc qui atteint la cible donné par le net sera le vainqueur de la course. Le prix? Émettez le bloc afin qu'il soit ajouté à la blockchain et réclamez ainsi les commissions et la coinbase dudit bloc.
Cependant, ce résultat ne sera valable que si la deuxième règle est vraie : le bloc ne sera ajouté que s'il est rempli dans la chaîne la plus longue. Chaque fois qu'un bloc est émis et validé, il est ajouté à la blockchain, faisant grandir le réseau.
Par exemple, si le réseau Bitcoin a une hauteur de 663.700 663.701 blocs, et qu'il s'avère qu'un nouveau bloc est généré et validé, le réseau aura une hauteur de XNUMX XNUMX blocs.
Mais il y a un problème. Le réseau est décentralisé, il y a des milliers de nœuds et de mineurs travaillant tous en parallèle, il y a donc des moments où une partie du réseau peut être d'une hauteur (663.699 663.700 blocs) et l'autre peut être différente (XNUMX XNUMX blocs). À ce stade, les règles du Consensus de Nakamoto sont très claires : le filet le plus long gagne, donc le mineur qui a donné son travail dans le réseau avec une hauteur de 663.700 XNUMX blocs, est celui qui pourra vraiment ajouter son bloc au réseau et réclamer la récompense.
Cette règle de la "chaîne la plus longue" s'applique non seulement aux mineurs et à leur travail, mais également aux nœuds et à leur synchronisation pour établir un consensus. Si les nœuds détectent un hard fork du réseau, où il y a deux réseaux avec des hauteurs et des historiques différents, les nœuds du réseau décideront de garder celui qui a la hauteur la plus élevée et donc un historique plus confirmé et un plus grand potentiel de calcul. De cette manière, le réseau maintient un consensus sur l'historique à suivre et à protéger.
D'autre part, les règles de validation garantissent que les blocs proposés ont respecté tout le nécessaire pour l'algorithme PoW. C'est-à-dire, le bloc doit avoir les données et un hachage valide, sinon il est rejeté.
Avec ces règles simples, le consensus de Nakamoto protège non seulement l'historique du réseau, mais prend également en charge éliminer les historiques qui peuvent être manipulés ou qui ne répondent pas aux normes nécessaires au bon fonctionnement de Bitcoin.
Incitations et rareté
De plus, le Consensus de Nakamoto repose sur deux concepts clés : le incitations et la pénurie.
Le premier d'entre eux maintient l'activité minière dans le réseau, puisque les incitations sont ce qui motive le travail des mineurs à travers le commissions et récompenses en bloc.
Le deuxième concept pèse sur ces incitations : la rareté. Bitcoin est déflationniste, avec un émission maximale de 21 millions de pièces. Cela conduit à des incitations et à des émissions monétaires limitées, ce qui rend ces ressources plus appréciées. En conséquence, les mineurs cherchent à accumuler autant de puissance de calcul que possible afin d'assurer les meilleures récompenses du réseau, et par conséquent de protéger le réseau.
Dans tout cela, Bitcoin applique un système déflationniste qui rréduit les récompenses globales tous les 4 ans environ, dans ce que nous appelons réduire de moitié. Ainsi, au cours de ses 4 premières années, la récompense de bloc Bitcoin est passée de 50 BTC à 25, et actuellement ladite récompense est de 6,25 BTC.
La réduction des émissions et l'énorme puissance de calcul accumulée sont chargées de rendre le consensus de Nakamoto plus robuste et la sécurité du réseau plus forte que jamais.
Le consensus de Nakamoto au-delà du Bitcoin
Le consensus de Nakamoto est considéré comme le premier algorithme de consensus capable d'offrir une tolérance totale aux pannes byzantines appliquée à une monnaie numérique décentralisée. Un tel exploit n'est pas passé inaperçu, non seulement dans le monde de l'informatique, mais aussi dans la génération de nouveaux projets de crypto-monnaie.
Ainsi, le Consensus de Nakamoto a été reproduit dans d'autres projets, par exemple, Litecoin et même le même Ethereum, qui a utilisé le consensus de Nakamoto dans son implémentation PoW, et utilise actuellement une version modifiée dans son implémentation Preuve de participation.