De TowerBFT à Alpenglow, Solana entre dans l'ère des millisecondes.

Titre original : Alpenglow : un nouveau consensus pour Solana Auteur original : Quentin Kniep, Kobi Sliwinski et Roger Wattenhofer Traduction originale : zhouzhou,

Note de l'éditeur : Alpenglow est un nouveau protocole de consensus lancé par Solana, remplaçant le mécanisme TowerBFT et la preuve historique, en introduisant Votor et Rotor, optimisant le vote et la propagation des données, réduisant significativement la latence à 100–150 millisecondes, réalisant une finalité en quelques secondes. Ce protocole améliore la performance, la résilience et l'évolutivité, permettant à Solana d'atteindre des vitesses de réponse comparables à celles du Web2.

Ce qui suit est le contenu original (pour faciliter la compréhension, le contenu d'origine a été légèrement réorganisé) :

Nous sommes fiers de lancer Alpenglow, le nouveau protocole de consensus de Solana. Alpenglow est un protocole de consensus conçu sur mesure pour les blockchains à preuve d'enjeu (Proof-of-Stake) à haute performance dans le monde entier. Nous croyons que le lancement d'Alpenglow marquera un tournant pour Solana. Ce n'est pas seulement un nouveau mécanisme de consensus, mais aussi la plus grande transformation du protocole central depuis la création de Solana.

Dans le cadre de notre déménagement à Alpenglow, nous dirons au revoir à un certain nombre de composants de base hérités, notamment TowerBFT et Proof-of-History. Nous avons introduit un tout nouveau module, Votor, pour prendre en charge la logique de vote et de finalisation des blocs. De plus, Alpenglow s’est éloigné de la communication basée sur les potins au profit d’une primitive de communication plus rapide et directe.

Bien qu’il s’agisse d’un changement majeur, Alpenglow s’appuie toujours sur les plus grandes forces de Solana. Turbine a joué un rôle clé dans le succès du réseau Solana, en résolvant l’important problème de la propagation des données. Dans les blockchains traditionnelles, les leaders sont souvent le goulot d’étranglement du système.

La technologie utilisée par Turbine consiste à diviser chaque bloc en de nombreux segments plus petits grâce à un codage de correction d'erreur (erasure-coding) et à les diffuser rapidement. L'essentiel est que ce processus tire pleinement parti de la bande passante de tous les nœuds. Le protocole de diffusion de données Rotor dans Alpenglow prolonge et optimise la philosophie de conception de Turbine.

Grâce à ces réformes, nous avons porté les performances de Solana à des niveaux sans précédent. Lors de l'utilisation de TowerBFT, il faut environ 12,8 secondes pour passer de la génération de bloc à la confirmation finale. Afin de réduire la latence à un niveau subsecond, Solana a introduit le concept de "confirmation optimiste".

Alpenglow va briser ces limites de délai. Nous prévoyons qu'Alpenglow pourra réduire le temps de confirmation finale réel à environ 150 millisecondes (médiane).

Dans certains cas, une confirmation finale peut même être réalisée en moins de 100 millisecondes - une vitesse presque incroyable pour un protocole de blockchain L1 mondial. (Ces données de latence sont basées sur les résultats de simulation de la distribution de staking actuelle sur le mainnet, sans tenir compte des frais de calcul.)

Un temps de latence médian de 150 millisecondes ne signifie pas seulement que Solana est plus rapide - cela signifie que la réactivité de Solana peut rivaliser avec celle des infrastructures Web2, ce qui a le potentiel de rendre la technologie blockchain viable dans de nouveaux domaines d'application nécessitant des performances en temps réel.

Le graphique ci-dessus montre la distribution des délais à chaque étape du protocole Alpenglow lorsque le leader est situé à Zurich, en Suisse. Nous avons choisi Zurich comme exemple car nous avons développé Alpenglow dans cette ville.

Chaque barre du graphique montre la latence moyenne des nœuds Solana dans la répartition mondiale, triée par distance par rapport à Zurich.

Le graphique représente le délai simulé pour chaque nœud du réseau atteignant différentes étapes du protocole Alpenglow, correspondant à la proportion des nœuds du réseau ayant atteint cette étape.

La barre verte représente la latence du réseau. D'après la répartition actuelle des nœuds de Solana, environ 65 % des nœuds de validation ont une latence réseau inférieure à 50 millisecondes par rapport à Zurich. Cependant, il y a une longue queue de latence, certains nœuds de validation ayant une latence réseau dépassant 200 millisecondes par rapport à Zurich.

La latence du réseau constitue une limite inférieure naturelle dans nos graphiques - par exemple, si un nœud est à 100 millisecondes de Zurich, alors tout protocole souhaitant finaliser la confirmation d'un bloc sur ce nœud nécessitera au moins 100 millisecondes.

La barre jaune représente le délai du Rotor (protocole de propagation des données), qui est la première phase du protocole Alpenglow.

Le histogramme rouge représente le temps passé par le nœud à recevoir au moins 60 % des votes de validation de poids staké.

La barre bleue représente le temps de confirmation final.

Alors, d'où vient la haute performance d'Alpenglow ?

Le composant de vote Votor d'Alpenglow met en œuvre un mécanisme de vote à un tour extrêmement efficace : si 80 % des nœuds de staking participent, le bloc peut être confirmé en un seul tour de vote ; même si seulement 60 % des nœuds de staking répondent, cela peut être réalisé en deux tours de vote. Ces deux modes sont intégrés et exécutés en parallèle, et le chemin le plus rapide est utilisé pour confirmer finalement le bloc.

Le sous-protocole de propagation de données d’Alpenglow, Rotor, poursuit et optimise l’approche de Turbine. À l’instar de Turbine, Rotor utilise sa bande passante proportionnellement en fonction du poids de jalonnement des nœuds, ce qui réduit le goulot d’étranglement des leaders et permet d’atteindre un débit élevé. En conséquence, la bande passante totale est utilisée à un niveau presque optimal. L’une des idées de conception de Rotor est qu’en réalité, la latence de la propagation de l’information est principalement limitée par la latence du réseau, plutôt que par la vitesse de transmission ou de calcul. Rotor utilise une seule couche de nœuds de relais au lieu de la structure arborescente multicouche de Turbine, ce qui réduit le nombre de sauts de réseau. De plus, Rotor a introduit un nouveau mécanisme de sélection de nœud de relais pour améliorer la robustesse.

Alpenglow est le résultat d’une recherche de pointe qui combine la distribution de données codées par effacement avec des mécanismes de consensus de pointe. Ses innovations comprennent un mécanisme de vote intégré à un tour/deux tours, qui entraîne des retards sans précédent dans la finalisation des blocs. Dans le même temps, il introduit également un « mécanisme de tolérance aux pannes 20+20 » unique : même si les conditions du réseau sont sévères, le protocole peut toujours fonctionner normalement, tolérant jusqu’à 20 % de nœuds de jalonnement malveillants et 20 % supplémentaires de nœuds non répondants. Parmi les autres contributions, citons une stratégie d’échantillonnage à faible variance.

Nous avons rédigé un livre blanc technique complet qui présente en détail Alpenglow. Le livre blanc non seulement explique l'intuition et les objectifs derrière notre conception, mais il expose également l'ensemble du protocole à l'aide de définitions claires et de pseudocode. De plus, il contient diverses données et calculs de simulation pour aider les lecteurs à comprendre la performance réelle d'Alpenglow, et enfin, il fournit une preuve complète de correction.

« Lien original »

Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
  • Récompense
  • Commentaire
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)