Rejoignez-Nous sur

Pokémon entre dans l'espace blockchain (Avalanche)

1*U yhywiAk63nJFRZbClV9Q

News

Pokémon entre dans l'espace blockchain (Avalanche)

Pokémon entre dans la blockchain – Introduction au protocole: Avalanche

1*U yhywiAk63nJFRZbClV9Q
Pokémon: Team Rocket

Avalanche est un ensemble de protocoles consensuels mis en place par Équipe fusée en 2018.

«Ce document présente une nouvelle famille de protocoles consensuels adaptés aux crypto-monnaies, basés sur un échantillonnage aléatoire et une décision métastable. Les protocoles fournissent une garantie de sécurité probabiliste forte et une garantie de vivacité pour les bons clients. ”

URL: Papier blanc

La famille de protocoles comprend les quatre suivants:

  • Neige fondante (non byzantin)
  • Flocon de neige (+ Tolérance aux pannes byzantines)
  • Boule de neige (+ Compteurs de confiance)
  • avalanche (combinaison des trois protocoles précédents)

Slush, Snowflake et Snowball ont été introduits dans le livre blanc afin de mieux comprendre les concepts à la base du protocole final: avalanche. Tous les concepts et améliorations y sont incorporés.

Avalanche promet ce qui suit:

  • Finalité rapide
  • Faible latence (2 secondes)
  • Evolutivité (tests réussis dans un réseau de nœuds de 10 000 à 10 m)
  • Robuste (il n’est pas nécessaire d’être membre précis; tout le monde peut rejoindre / quitter le réseau à tout moment – comme par exemple Bitcoin)
  • Ne consomme pas d’énormes quantités d’énergie, contrairement aux chaînes de type Proof-of-Work

Le protocole est construit sur un délibérément métastable mécanisme. La métastabilité fait essentiellement référence au concept selon lequel le système est conçu pour apporter une réponse et ne va pas rester en équilibre.

  • Tous les nœuds finissent par se mettre d'accord
  • Échantillon aléatoire pris en charge pour le basculer d'une manière ou d'une autre
  • Facilite la mise à l'échelle via l'échantillonnage aléatoire de sous-ensembles (de l'ensemble du réseau)

Exemple: Chaque nœud doit choisir entre deux couleurs: bleu ou rouge. Même si le réseau commence avec une distribution 50:50, il basculera d'une manière ou d'une autre, via l'arbitrage aléatoire.

Différenciateur clé des protocoles de consensus actuels de Nakamoto:

  • Délibérément métastable
  • TPS / Latence
  • Inspiré des protocoles de potins (les requêtes déclenchent d'autres requêtes, qui en déclenchent d'autres, ..)
  • Compromis important: vivacité pour une transaction conflictuelle (garantit uniquement la vivacité pour des transactions vertueuses)
  • Exécute des «sous-programmes» (échantillonnage aléatoire de sous-ensembles), ce qui permet de créer de plus petites instances de consensus en parallèle, ce qui permet d'atteindre des rendements plus élevés. Un effet secondaire est que tous les noeuds ne seront pas complètement synchronisés les uns avec les autres à un moment donné, mais qu'ils convergeront finalement tous vers le même historique au fil du temps.

Fournit deux garanties:

  • sécurité: Il n'y a pas deux nœuds honnêtes qui n'accepteront des transactions en conflit
  • Vivacité: Toute transaction vertueuse émise par un client honnête sera finalement acceptée par chaque nœud honnête

Consensus traditionnel vs consensus de Nakamoto

le Consensus Traditionnel les mécanismes ont un complexe de communication quadratique O (n²) (n est le nombre de nœuds dans le réseau) et nécessitent une appartenance précise aux connaissances. Cela signifie que pour chaque nœud supplémentaire ajouté, le partage des informations avec tous les autres nœuds prend un temps exponentiellement plus long.

La source: https://flatoutcrypto.com/home/avalancheprotocol

Attendu qu'avec Consensus de Nakamoto (nommée d'après et introduite par Satoshi Nakamoto en 2009), il n'est pas nécessaire d'avoir un abonnement précis. Le consensus est atteint grâce à Proof-of-Work dans lequel un chef (ici: mineur) est choisi «au hasard» pour produire un bloc. Il permet à un certain pourcentage de nœuds byzantins (contradictoires) du réseau et parvient toujours à un consentement. Cependant, il présente des inconvénients tels que l’évolutivité limitée, la latence élevée et l’énorme consommation d’énergie comme résistance à la sybille.

Avalanche estime la complexité de leur communication dans la plage suivante:

O (kn log n) à O (kn)
(n = nœuds; k = seuil de sécurité)

Réseaux synchrones vs asynchrones

Les articles décrivent Avalanche comme un réseau synchrone. Bitcoin, Ethereum et de nombreux autres projets de blockchain sont des réseaux synchrones. Il existe pas mal de bonnes ressources sur Internet, mais une introduction simplifiée devrait être raisonnable pour saisir l’idée principale.

Synchrone signifie qu'il existe une hypothèse de synchronisation. Un message Bitcoin, par exemple un bloc doit être produit toutes les 10 minutes (plus un tampon: Bloquer l'horodatage – Bitcoin Wiki), un message Ethereum (bloc) toutes les 15 secondes. C'est fondamentalement une certaine limite de temps connue. Tous les blocs qui durent plus longtemps que celui-ci ont expiré et sont considérés comme non valides.

Dans les réseaux asynchrones, un message peut prendre un temps indéfiniment pour atteindre des homologues et chaque nœud peut prendre un temps indéfiniment pour répondre.

Les réseaux synchrones sont vulnérables aux attaques par déni de service, qui peuvent ralentir le réseau et certaines limites de temps ne peuvent pas être atteintes.

La famille des avalanches

Slush, Snowflake et Snowball sont les premiers protocoles décrits dans cet article. Ils servent uniquement à comprendre le dernier membre: Avalanche. Ils apportent tous des aspects technologiques qui se rejoignent finalement.

Neige fondante

Slush est le protocole le plus simple de la famille. La neige fondue et la métastabilité sous-jacente s'expliquent facilement par l'exemple suivant:

  1. Le nœud reçoit les transactions d'un client et lance une requête
  2. Le nœud interroge à une taille constante (k) échantillon du réseau uniformément au hasard
  3. Dès réception d'une requête,
    3a. un nœud non coloré adopte la couleur, répond avec cette couleur et lance sa propre requête;
    3b. un nœud coloré répond simplement avec sa propre couleur;
    3c si k réponses ne sont pas reçues dans un délai déterminé, le nœud prélève un échantillon supplémentaire dans les nœuds restants.
  4. Le nœud d'interrogation recueille k réponses et vérifie si une fraction est de la même couleur
  5. Si le seuil est atteint et que la couleur échantillonnée diffère de la couleur propre du nœud, le nœud bascule sur cette couleur.
  6. Il recommence avec l’étape de la requête et lance une nouvelle série de requêtes, pour un total de m rondes
  7. Si m est suffisamment élevé, le protocole garantit que tous les nœuds seront colorés à l'identique

J'ai développé un exemple simple avec MS Excel (dans la mesure où les formules me le permettent. J'ai intentionnellement évité d'utiliser VBA ici). Cela montre, de manière simplifiée, comment fonctionne la métastabilité en montrant les effets du sous-échantillonnage aléatoire: une couleur gagne un léger avantage et amplifie ce déséquilibre (même si vous commencez avec un état 50:50)

Slush est sans mémoire. Il ne conserve aucun état entre les différents tours de requête, à l'exception du fait qu'il possède la couleur. Il ne conserve pas non plus l'historique des interactions avec d'autres nœuds.

De plus, Slush n'est pas tolérant aux pannes byzantines. (BFT) Un acteur contradictoire pourrait maintenir le réseau dans un état d'équilibre (en changeant continuellement la couleur des nœuds I afin qu'ils atteignent le consensus.

Flocon de neige

Snowflake est basé sur Slush, mais ajoute la tolérance aux pannes byzantines (BFT).
Chaque nœud a un compteur cnt qui stocke le nombre d'échantillons consécutifs du réseau ayant donné le résultat (tous rouges ou tous bleus).

Un nœud accepte les couleurs actuelles, si son cnt dépasse β (comme un seuil).

  • Sur chaque requête générant un certain nombre de réponses pour la même couleur que le nœud, le cnt est incrémenté.
  • À chaque changement de couleur, le nœud se réinitialise cnt à 0.

Boule de neige

Snowball s'accumule sur Snowflake et inclut un état de confiance, puisque le compteur cnt est éphémère, car il se réinitialise à chaque changement de couleur. Un nouveau compteur de confiance est ajouté.

Le compteur de confiance enregistre le nombre de requêtes ayant généré un résultat de seuil pour la couleur correspondante, mais la couleur n'est modifiée que lorsque sa couleur actuelle devient inférieure à la valeur de confiance de la nouvelle couleur.

  1. À chaque requête, le nœud augmente son compteur de confiance pour la couleur respective.
  2. Le nœud change de couleur lorsque le compteur de confiance pour sa couleur actuelle est inférieur au compteur de confiance de la nouvelle couleur.

avalanche

Avalanche est basé sur les trois protocoles introduits précédemment et ajoute de nouvelles avancées.
Il est basé sur un graphe acyclique direct (DAG) dynamique comportant uniquement des ajouts. Le DAG a un seul évier qui est le sommet de la genèse (Graphe acyclique dirigé – Wikipedia).

1*QvaMlU8htAWncoheChhYOw
La source: http://homepages.math.uic.edu/~leon/cs-mcs401-s08/handouts/graphs-intro.pdf

Dans tout digraphe, nous définissons un sommet v comme
une source, s'il n'y a pas d'arête menant à v, et
un évier s'il n'y a pas de bords menant à v.

L'utilisation d'un DAG présente deux avantages:

  1. Cela augmente l’efficacité, puisqu’une nouvelle transaction vote explicitement pour ses parents (1-n) transactions et implicitement à toutes les transactions car un vote pour une transaction est un vote pour toutes les transactions sur son chemin de retour au sommet de la genèse.
  2. Cela améliore la sécurité, car il est plus difficile (pas impossible; essentiellement la même finalité que dans les chaînes de blocs) d'annuler les décisions passées.

Utilisation des avalanches chits à côté des compteurs de confiance, qui ont été expliqués avec le protocole Snowball.

C’est ainsi que cela fonctionne (et particulièrement important dans le cas de transactions conflictuelles telles que les tentatives de doubler les dépenses):

  1. Une transaction T est interrogé, toute transaction implicitement accessible depuis T (en suivant les bords) font également partie de la requête.
  2. Un nœud ne répondra positivement à la requête que si T et toute son ascendance est l'ensemble préféré pour eux
  3. Si plus d’un certain seuil votent positivement à la requête, la transaction que j’ai dite pour collecter un chit. Les jetons sont le résultat d'échantillons uniques et sont immuables. Les valeurs vont de 0 à 1.
  4. Les nœuds calculent leur confiance en tant que somme de chit valeurs non seulement à la transaction T mais aussi pour les parents et les descendants (nouvelles transactions). La confiance peut augmenter à mesure que le DAG grandit.
Source: livre blanc

Par exemple, étant donné que T2 a une confiance plus grande que T3, ses descendants sont plus susceptibles de collecter des jetons à l'avenir par rapport à T3.

Les nœuds consentent si la transaction est correcte ou en conflit avec une autre transaction. L’avalanche peut donc être considérée comme utilisant des instances de Snowball pour résoudre des conflits. Avalanche incarne une instance de Snowball pour chaque conflit.

Semblable à Bitcoin, Avalanche laisse la décision d'accepter ou non une transaction à l'application.

Questions ouvertes

  • Résistance Sybil (ayant par exemple un grand nombre de nœuds malveillants sur le réseau) une solution possible serait de miser sur la réputation (dans une certaine mesure, comme DPoS)
  • Avec des transactions conflictuelles (double dépense), peut-on perdre de l'argent? par exemple. comme une pénalité
    – Liveness est-il affecté?
    – Que se passe-t-il si un portefeuille est brisé et envoie accidentellement deux transactions?

Si vous êtes intéressé par le grand livre distribué Technoloy, Blockchain, Ethereum, Bitcoin et plus:

ynkzlk (@ynkzlk) | Gazouillement

Sources

stat


Pokémon entre dans l'espace blockchain (Avalanche) a été publié à l'origine dans Hacker midi sur Medium, où les gens poursuivent la conversation en soulignant et en répondant à cette histoire.



Traduction de l’article de Yannik Zuehlke : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

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

Plus dans News

Top
dictum dapibus Donec justo tristique ipsum ultricies Sed Praesent libero venenatis,