Besu (hyperledger)
Introduction
Besu (hyperledger) est une implémentation open source de l'Ethereum client écrit en Java. Besu prend en charge plusieurs algorithmes de consensus, mais l'algorithme spécifique utilisé peut être déterminé par les administrateurs du réseau lors de la configuration. Parmis les algorithmes de consensus supportés par Besu, on trouve:
- Proof of Work (PoW)
- Istanbul Byzantine Fault Tolerance (IBFT)
- Authority Round (AuRa)
- Clique
On va s'interesser d'avantage sur l'algorithme de consensus Istanbul Byzantine Fault Tolerance (IBFT). Cet algorithme cherche à garantir le consensus dans le réseau malgré la présence potentielle de nœuds malveillants ou déféctueux.
Istanbul Byzantine Fault Tolerance (IBFT)
Alors comment ça marche ?
Liste d'autorités : On commence par définir des nœuds d'autorité, qui sont les nœuds qui participent au consensus, c'est à dire qui ont le pouvoir de proposer et de sceller des blocs. La liste d'autorites est généralement définie au moment de la création du réseau et elle est connue par tous les nœuds.
Proposition de blocs : Une fois les nœuds de confiance choisis, on passe à la proposition de blocs. À chaque tour (round), une autorité propose un bloc contenant un ensemble de transactions. La rotation des autorités qui proposent des blocs se fait de manière déterministe, ce qui facilite la prévisibilité du consensus. La rotation des autorités se fait de manière cyclique à l'aide de l'algorithme Round Robin, assurant ainsi une opportunité équitable à chaque autorité pour proposer des blocs.
Vote : Ensuite, chaque nœud d'autorité vote pour le bloc proposé par l'autorité en cours. Le vote peut être "PREPARE" pour indiquer que le nœud est prêt à accepter le bloc proposé.
Quorum : À la fin des votes, on vérifie si un quorum de préparation est atteint. Un quorum est un ensemble de nœuds qui ont voté pour un bloc particulier. Il est atteint lorsqu'un nombre suffisant de nœuds ont voté pour un bloc particulier. il est défini par le paramètre de configuration
blockchain.istanbul.blockperiod
et est généralement défini à 2/3 du nombre total de nœuds d'autorité. Atteindre un quorum de préparation est une condition préalable avant de passer à l'étape suivante du consensus.Finalisation : Si le quorum est atteint, alors le bloc est validé. Maintenant, les autorités émettent des votes de "COMMIT". Une fois que le bloc a un quorum de votes de "COMMIT" égale ou supérieur à un certain pourcentage de nœuds, il est considéré comme finalisé et ces votes confirment que l'autorité est prete à ajouter le bloc à la blockchain, et les transactions du bloc sont considérées comme acceptées de manière irréversible par le réseau. La finalité est un aspect crucial pour garantir la sécurité et la consistance de la blockchain.
- Récompenses et Pénalités : On trouve aussi des mécanismes de récompenses et de pénalités pour encourager les participants à suivre les règles du consensus. Par exemple, les nœuds qui ne participent pas activement peuvent être pénalisés, tandis que ceux qui contribuent positivement peuvent être récompensés.
IBFT peut être adapté selon les cas d'utilisation de l'entreprise. il est conçu pour garder le réseau stable en cas de présence malveillants ou défaillants et il peut aussi être utilisé pour développé des applications décentralisées (DApps) sur la plateforme Ethereum. Il offre également l'auditabilité et la transparence des transactions en enregistrant chaque étape du processus de consensus dans la blockchain, assurant ainsi la vérifiabilité des processus.
Conclusion :
Pour conclure, IBFT est un algorithme de consensus utilisé pour répondre au problème des généraux Byzantins. Il est rapide, économe en énergie et offre une finalité, ce qui le rend adapté aux cas d'utilisation de l'entreprise où les transactions doivent être validées rapidement. Il convient de souligner que les administrateurs du réseau Besu ont la possibilité de configurer l'algorithme IBFT en ajustant ses paramètres selon les exigences spécifiques du réseau, ce qui leur confère une certaine souplesse.
Congratulations @yacineyelles! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 50 upvotes.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Check out our last posts: