Simple Science

La science de pointe expliquée simplement

# Informatique# Informatique distribuée, parallèle et en grappes

Améliorer le consensus BFT avec des protocoles DAG

Les protocoles BFT basés sur des DAG améliorent la scalabilité et l'efficacité dans le traitement des transactions.

― 6 min lire


DAG-BFT : Une nouvelleDAG-BFT : Une nouvelleapprocheavec des protocoles BFT avancés.Améliorer l'efficacité des transactions
Table des matières

Les systèmes de Tolérance aux pannes byzantines (BFT) sont conçus pour garantir la fiabilité en cas de pannes dans un réseau. Ils maintiennent un fonctionnement correct même si certaines répliques, ou serveurs, échouent ou se comportent mal. Les protocoles de consensus BFT ont été largement appliqués, surtout dans des systèmes décentralisés comme les blockchains, pour s'assurer que les transactions sont traitées de manière précise et efficace.

Protocoles BFT Traditionnels

Les premiers protocoles BFT se concentraient sur le problème d'atteindre le consensus dans un cadre distribué. Le protocole Practical Byzantine Fault Tolerance (PBFT) était l'une des premières implementations réussies, permettant à un groupe de serveurs de s'accorder sur l'ordre des transactions. PBFT atteint une faible latence, nécessitant seulement trois échanges de messages pour valider une transaction dans un scénario sans faute. Cependant, il repose sur un seul leader pour proposer l'ordre des commandes, ce qui crée un risque d'échec et limite le Débit.

Le Défi de la Latence et du Débit

Les protocoles BFT actuels ont souvent du mal à équilibrer latence et débit. Bien que les protocoles BFT traditionnels optimisent la latence, les nouveaux protocoles privilégient un débit élevé, sacrifiant les temps de réponse dans le processus. Cela crée une tension dans la conception des systèmes BFT, où atteindre à la fois une faible latence et un haut débit reste un défi significatif.

Introduction aux Protocoles DAG-BFT

Récemment, une nouvelle classe de protocoles BFT a émergé, connue sous le nom de protocoles BFT basés sur des graphes acycliques dirigés (DAG-BFT). Ces protocoles découplent la diffusion des données du consensus, permettant à chaque réplique d'agir en tant que proposeur. En utilisant une structure DAG, ils peuvent atteindre une meilleure évolutivité et un meilleur débit. Cependant, les protocoles DAG-BFT existants entraînent souvent une latence élevée, les rendant moins adaptés aux applications en temps réel.

La Structure des Protocoles DAG-BFT

Dans un DAG, chaque nœud représente une transaction, et les arêtes représentent les relations entre les transactions, comme la causalité. Lorsqu'une réplique propose un nouveau lot de transactions, elle ajoute un nœud au DAG. Pour qu'une transaction soit considérée comme validée, elle doit être référencée par un nœud d'ancrage validé. Cette conception permet une couche de diffusion des données parallèle et réactive, ce qui est crucial pour augmenter le débit.

Le Problème de Latence dans les Protocoles DAG-BFT

Malgré leurs avantages, les protocoles DAG-BFT sont actuellement freinés par d'importants problèmes de latence. En moyenne, ils nécessitent plus de dix échanges de messages pour valider une transaction. Ce manque d'efficacité peut compromettre les capacités en temps réel que de nombreuses applications modernes exigent.

Répartition des Composants de Latence

La latence totale des protocoles DAG-BFT peut être décomposée en trois composants clés :

  1. Latence de Mise en File d'Attente : C'est le temps qu'une transaction attend avant d'être incluse dans une proposition. Les propositions de transactions manquées signifient attendre le prochain tour pour soumettre la transaction.
  2. Latence d'Ancrage : C'est le temps d'attente pour qu'une transaction soit référencée par un ancrage validé. La fréquence des candidats d'ancrage affecte cette latence.
  3. Latence de Validation d'Ancrage : C'est le temps nécessaire pour valider une proposition d'ancrage et ses transactions associées.

Approches pour Réduire la Latence

Pour résoudre ces problèmes de latence, plusieurs techniques peuvent être mises en place pour rationaliser le processus de validation des transactions dans les protocoles DAG-BFT.

Optimisation des Règles de Validation d'Ancrage

Une approche fondamentale pour réduire la latence de validation d'ancrage consiste à améliorer les règles régissant quand les ancrages peuvent valider des transactions. En permettant une validation plus rapide lorsque certaines conditions sont remplies, comme lorsque plusieurs nœuds non certifiés se lient à un ancrage, le système peut réaliser des Latences réduites.

Augmenter le Nombre d'Ancrages

Une autre stratégie efficace est d'augmenter dynamiquement le nombre d'ancrages par tour. Cette approche peut minimiser la latence d'ancrage puisque plus de nœuds ont des opportunités d'être référencés par des ancrages, accélérant ainsi le processus de validation.

Faire Fonctionner Plusieurs DAGs en Parallèle

Une troisième approche est de faire fonctionner plusieurs instances de DAG en parallèle. En échelonnant ces instances, le système peut s'assurer que les transactions peuvent être proposées plus fréquemment. Cela aide à atténuer la latence de mise en file d'attente rencontrée dans les systèmes traditionnels, permettant un traitement plus efficace des transactions.

Évaluation de la Performance

Pour déterminer l'efficacité de ces améliorations, diverses expériences ont été menées en comparant le nouveau protocole DAG-BFT avec les systèmes existants. Les résultats indiquent des améliorations significatives tant en termes de débit que de latence.

Résultats de l'Implémentation de Nouvelles Techniques

  • L'utilisation de règles de validation d'ancrage optimisées a conduit à une réduction de la latence de validation d'ancrage, permettant aux transactions d'être finalisées plus rapidement.
  • L'augmentation de la fréquence d'ancrage a efficacement diminué la latence d'ancrage, améliorant l'ensemble du calendrier de validation des transactions.
  • Faire fonctionner plusieurs DAGs en parallèle a considérablement réduit la latence de mise en file d'attente, résultant en un traitement plus rapide des transactions entrantes.

Conclusion

Les protocoles DAG-BFT ont un potentiel significatif pour améliorer le débit dans les systèmes distribués. En mettant en œuvre des stratégies pour réduire la latence sans compromettre le débit, un mécanisme de consensus plus efficace peut être établi. Les avancées faites ici soulignent qu'avec le bon design et les bonnes optimisations, atteindre à la fois un haut débit et une faible latence dans les systèmes BFT n'est pas seulement possible mais pratique pour des applications du monde réel.

Source originale

Titre: Shoal++: High Throughput DAG BFT Can Be Fast!

Résumé: Today's practical partially synchronous Byzantine Fault Tolerant (BFT) consensus protocols trade off low latency and high throughput. On the one end, traditional BFT protocols such as PBFT and its derivatives optimize for latency. They require, in fault-free executions, only 3 message exchanges to commit, the optimum for BFT consensus. However, this class of protocols typically relies on a single leader, hampering throughput scalability. On the other end, a new class of so-called DAG-BFT protocols demonstrates how to achieve highly scalable throughput by separating data dissemination from consensus, and using every replica as proposer. Unfortunately, existing DAG-BFT protocols pay a steep latency premium, requiring on average 10.5 message exchanges to commit a transactions. This work aims to soften this tension and proposes Shoal++, a novel DAG-based BFT consensus system that offers the throughput of DAGs while reducing commit latency to an average of 4.5 message exchanges. Our empirical findings are encouraging, showing that Shoal++ achieves throughput comparable to state-of-the-art DAG BFT solutions while reducing latency by up to 60%.

Auteurs: Balaji Arun, Zekun Li, Florian Suri-Payer, Sourav Das, Alexander Spiegelman

Dernière mise à jour: 2024-05-30 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2405.20488

Source PDF: https://arxiv.org/pdf/2405.20488

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires