Cryptomonnaie

CypherBFT: Activer la décentralisation pour HotStuff – Cypherium

CypherBFT: Activer la décentralisation pour HotStuff - Cypherium


1*B1Mqge2YeFzyBo0u1hYyMA - CypherBFT: Activer la décentralisation pour HotStuff - Cypherium

Facebook a récemment publié son livre blanc sur la Balance et a été sous les projecteurs des médias mondiaux. Le livre blanc de Libra indique que sa mission est de mettre en place une infrastructure financière mondiale simple et facile à utiliser, reposant sur des concepts de chaînes de blocs et offrant aux populations les plus démunies une expérience de paiement en douceur et sans frontières.

Le protocole de consensus utilisé est LibraBFT, un nouvel accord de consensus byzantin à tolérance de pannes basé sur un autre accord de consensus, HotStuff avec quelques modifications mineures. Pour des raisons techniques, la Balance est actuellement une blockchain autorisée, mais son objectif déclaré est de devenir sans autorisation. à cette fin, Facebook promet de faire de la Balance une chaîne de chaînes sans permission, semblable à Ethereum, dans cinq ans.

L'algorithme de consensus HotStuff est devenu un centre d'attention renouvelé en raison de son implémentation dans Balance. En tant que scientifique principale de HotStuff, Dahlia Malki, seuls quatre projets majeurs ont adopté HotStuff jusqu’à présent, mais d’autres projets devraient suivre. Cypherium est l’un des premiers utilisateurs de HotStuff. En tant que directeur général de Cypherium, Sky Guo, et le premier auteur du document sur l’algorithme HotStuff, Ted Yin, sont de bons amis, l’équipe de Cypherium est attentive à HotStuff depuis la version V2 de l’algorithme (https://arxiv.org/abs /1803.05069v2) et l’équipe de développement de Cypherium a commencé à installer le logiciel à partir de la version 5 (https://arxiv.org/abs/1803.05069v5). Mais l’intention et la conception de Facebook sont très différentes de celles de Facebook, mais l’objectif de Cypherium a toujours été de déployer un consensus HotStuff ouvert et sans autorisation. C’est précisément ce que fait son réseau principal.

La différence entre les chaînes de blocs «autorisées» et «sans autorisation» concerne le fait qu'une entité peut accéder à un réseau de chaînes de machines en tant que nœud vérificateur. Dans une «chaîne de blocs autorisée», l’entité exécute le nœud vérificateur par le biais de son mode d’octroi d’autorisation, afin d’assurer la stabilité du réseau sans trop prendre en compte la sécurité; Dans une «blockchain sans permission», toute entité répondant aux exigences techniques peut exécuter un nœud vérificateur. Pour les chaînes sans permission comme Ethereum, tout mineur qui trouve une valeur nonce qualifiée peut participer au traitement des transactions et recevoir une certaine récompense minière fixe et une rémunération des frais de transaction. Cela favorise le développement extensif de l'ensemble de l'écosystème, mais la conception de l'ensemble de la chaîne doit prendre en compte davantage les performances et la sécurité du réseau. Les blockchains sans permission peuvent facilement devenir des blockchains autorisés, mais l'inverse est beaucoup plus difficile.

Cypherium a implémenté HotStuff avec un mécanisme sans permission en mode consensus à double chaîne. Les identités de vérificateur du prototype de consensus HotStuff se situent dans une plage fixe et, en plus de cela, LibraBFT est également construit sur le mécanisme de PDS. LBFT ajoute un mécanisme réaliste lors de l'application de Hotstuff au cas d'utilisation d'une chaîne de blocs, tel que l'introduction du concept d'époques, la possibilité de remplacer des nœuds de consensus et des mécanismes d'incitation et de pénalité. Afin d'éviter que le chef ne soit attaqué, un mécanisme imprévisible d'élection de chef (VRF), etc., est introduit.

L’équipe de Cypherium a d’abord envisagé d’utiliser le système de point de vente dans les implémentations HotStuff, mais ses développeurs ont ensuite découvert qu’en raison des mécanismes de fermeture de point fortement fermés, il n’était pas bon pour le développement de l’écosystème, car cette structure attirait facilement les attaques de pirates chaînes et ne peuvent pas atteindre correctement le but ultime de la chaîne publique sans permission de Cypherium. L'équipe a donc commencé à mettre au point son concept unique pour adopter le mécanisme de consensus hybride PoW + HotStuff.

Lorsque le PDG de Cypherium, Sky Guo, envisageait l’algorithme de consensus à utiliser pour la conception de la chaîne publique sous-jacente, son ami, le premier auteur du document HotStuff «Ted» Yin, lui a présenté le protocole HotStuff. Après que Sky ait mené une étude approfondie de HotStuff, il a discuté des aspects de conception et de performance de HotStuff avec Ted.

Enfin, Sky Guo et l’équipe de développement de Cypherium ont décidé que ce serait le remplacement idéal de l’algorithme PBFT, car ils ont constaté que HotStuff peut atteindre ses objectifs grâce à l’architecture unique à double chaîne de Cypherium, constituée d’une chaîne électorale et d’une chaîne de transaction. Dans cette architecture, une chaîne effectue les opérations de rotation électorale du mécanisme PoW, tandis que l'autre est une chaîne de transactions basée sur les nœuds de vérificateurs actuels du comité de consensus.

Parce que Cypherium a choisi un mécanisme de PoW dans sa première étape, tout dispositif informatique peut devenir un nœud vérificateur et ne dépend pas d'un tiers de confiance pour extraire des pièces Cypher.

À chaque fois qu'un mineur exploite avec succès le programme de guerre, le nœud ayant le plus grand nombre de membres du comité de vérificateurs quitte le comité et le nouveau mineur devient membre du comité de vérificateurs. Personne ne peut prédire les résultats des élections, car le réseau réalise une rotation dynamique permanente.

Chaque rotation de comité est générée comme indiqué ci-dessous, pour former une chaîne principale:

Figure 1

Étant donné que l'ajustement dynamique de la valeur de la difficulté de calcul rend le temps nécessaire pour que le PdT obtienne la valeur de vérification, nous définissons la chaîne de clés comme une chaîne lente (un bloc étant généré en moyenne en quelques minutes), et seul le comité de consensus ou l'événement de remplacement de leader est enregistré.

Une fois le bloc clé confirmé, le nœud de vérification du consensus appartenant au bloc clé participe au traitement consensus du package de transaction sous le leader et forme les vues V1, V2, V3, V4, V5, comme indiqué dans la figure suivante:

Figure 2

Ces vues sont connectées pour former une autre chaîne, que nous définissons comme une chaîne de transaction. Étant donné que le calcul du PoW n’est plus nécessaire à cette étape, la confirmation de chaque vue ne doit être vérifiée que par la signature du comité de consensus, de sorte que le taux de production de blocs est très rapide, le traitement pouvant atteindre 6 000 transactions par seconde.

Il convient de noter que la chaîne de clés et la chaîne de transaction susmentionnée constituent en réalité une seule chaîne continue dans l'algorithme HotStuff, comme indiqué ci-dessous:

figure 3

Lorsque le nœud normal exploite un PoW, il diffuse vers tous les nœuds de vérificateur actuels et le Leader de la V2 initie View Change, et envoie un Cmd type = key correspondant à la partie Cmd de la Figure 2, indiquant qu'un View View pour le Des nœuds vérificateurs ont été demandés. Lorsque l'étape DECIDE de la figure 2 est terminée, une nouvelle vue est générée. La vue doit enregistrer les informations d'identité de tous les nœuds vérificateurs du comité de consensus actuel (clé publique, adresse IP, etc.) afin d'économiser de l'espace de stockage et de faciliter la recherche. Les informations sont enregistrées dans une chaîne de clés distincte. , également enregistré sur la chaîne de transaction, la chaîne de transaction a Cmd type = tx pour se différencier de la chaîne de clés.

Les vérificateurs reçoivent les transactions du client et les partagent entre eux via un protocole txpool partagé. À chaque tour du groupe de transactions, un vérificateur joue un rôle principal (Leader) et propose d’étendre un bloc de transaction à une séquence de blocs contenant l’historique complet des transactions précédentes.

Le vérificateur reçoit le bloc proposé et vérifie ses règles de vote pour déterminer s’il doit voter pour le bloc. Si le vérificateur a l'intention de voter pour ce bloc, il exécutera les transactions de ce bloc sans influence externe. Ensuite, le vérificateur envoie un vote sur ce bloc et son état au chef. Une fois que le leader a collecté le résultat du vote auprès de tous les vérificateurs, il génère un certificat de quorum (certificat de quorum).

Figure 4

Le CQ est la preuve de 2f + 1 voix obtenue pour ce bloc, et le CQ avec les données de bloc est diffusé à tous les vérificateurs. Lorsqu'une règle de validation à trois chaînes continue est satisfaite, le blocage est validé. S'il y a un contrôle de qualité au k-ième tour et si les tours k + 1 et k + 2 ont deux blocs et que les contrôles de qualité sont confirmés, le blocage est engagé.

Les règles de validation permettent finalement à un vérificateur honnête de commettre un blocage. La chaîne Cypherium garantit que tous les vérificateurs honnêtes commettront éventuellement le blocage. Une fois qu'une séquence de blocs a été validée, l'état généré par l'exécution de la transaction peut continuer et constitue une base de données répliquée.

Chaque nœud vérificateur a un PaceMaker intégré pour enregistrer la différence de temps entre chaque étape (préparer, pré-valider, valider et décider). Si le délai est dépassé, la demande de changement de vue est immédiatement envoyée au nouveau chef. Si le nouveau chef ne répond pas, il est envoyé au prochain chef.

Le changement de vue traditionnel PBFT a une complexité de messagerie (n ^ 2). C'est-à-dire qu'avant que le changement de vue se produise, tous les noeuds vérificateurs honnêtes doivent confirmer que tous les noeuds honnêtes passent effectivement à la vue suivante.

HotStuff a transformé de manière très novatrice le consensus classique en deux tours de PBFT en trois, puis a réduit le coût du changement de vue en O (n). Il n'est pas nécessaire d'attendre le changement de vue. «Je sais que d'autres personnes connaissent également le changement de vue. " couche. Il est possible de se modifier, ce qui réduit la complexité du message. O (n ^ 2) à O (n): tant que le nœud honnête envoie une demande de changement de vue directement au nouveau leader et reçoit les informations en retour, le changement de vue commence.

Une fois le changement de vue terminé, la chaîne Cyperium enregistre les résultats du contrôle de la qualité correspondant, la modifie, forme un nouveau bloc Clé et poursuit le processus décrit ci-dessus dans le cadre du nouveau comité de consensus.

Afficher plus

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Articles similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page
Fermer