La plateforme Avalanche — Une introduction technique

Nicolas Lemaitre
Avalanche fr
Published in
6 min readApr 8, 2020

Cette introduction sert de ressource initiale aux développeurs et concepteurs de systèmes intéressés à rejoindre la communauté Avalanche, informant les nouveaux utilisateurs sur la manière dont Avalanche pourrait être exploitée dans de nouveaux produits.

Pourquoi Avalanche ?

Ava a été créée pour remplir les cas d’utilisation, que les plateformes existantes sont incapables de fournir tout en conservant la promesse de décentralisation. Les personnes qui utilisent Avalanche le font parce qu’elles doivent prendre en charge leurs systèmes à haut débit mais ne souhaitent pas compter sur un intermédiaire de confiance. Avec la possibilité de partitionner les données privées loin du reste du réseau Avalanche tout en étant membre du réseau global, Avalanche permet des cas d’utilisation de la confidentialité que les autres plateformes ne font pas.

Avalanche, qu’est-ce que c’est ?

Avalanche est la première blockchain de nouvelle génération utilisant la preuve d’enjeu pour répondre à la demande grandissante de la DeFi. Grâce au consensus le plus avancé de sa génération (le protocole Avalanche), Avalanche atteint un débit supérieur à 4500 TPS tout en conservant une finalité en dessous de 3 secondes et le tout avec une décentralisation sans précédent. Conçue comme une plateforme, Avalanche permet à quiconque de déployer des sous-réseaux, privés ou publics, et de créer des environnements d’exécution personnalisable pour répondre aux besoins de leurs réseaux respectifs. Avec la capacité de créer et d’échanger des actifs entre les chaînes et les sous-réseaux, Avalanche désert toutes les industries en tant que colonne vertébrale et infrastructure pour l’internet des échanges.

Avalanche est alimentée par la famille de protocoles de consensus “Snow”, décrite dans le document de la Team Rocket en 2018. Ce protocole utilise un sous-échantillonnage répété et aléatoire pour atteindre un consensus extrêmement rapidement à travers tout le réseau. Cette nouvelle classe de protocoles a été vérifiée et analysée par une équipe de doctorants de l’université Cornell qui était heureux d’annoncer la viabilité de ce protocole ! Cela a lancé AVA Labs fin 2018 alors qu’ils commençaient la création de la plateforme Avalanche.

Comment Avalanche se compare

Avalanche est une amélioration d’un ordre de grandeur par rapport aux précédents protocoles décentralisés (et dans certains cas, deux ordres de grandeur). Le tableau ci-dessous compare Avalanche aux technologies existantes :

Avalanche offre tous les avantages, sans les inconvénients des protocoles existants. Il résiste même aux attaques dites “attaques des 51%”.

Concepts de Base de la plateforme Avalanche

L’architecture se compose de quatre concepts fondamentaux :

Moteurs de consensus

La famille de protocoles de consensus Snow est le fondement d’Avalanche. La plateforme dispose de deux moteurs de consensus au lancement :

Avalanche — Un consensus optimisé pour un DAG qui a d’abord été décrit dans le document de la Team Rocket. Haut débit, parallélisme, et est simple à élaguer.

Snowman — Consensus optimisé pour une chaîne linéaire qui a d’abord été créé par l’équipe d’AVA Labs. Haut débit, totalement ordonné, idéal pour les contrats intelligents.

Le consensus est distinct de la structure de données sous-jacente, de sorte que l’on pourrait créer une chaîne Snowman basée sur UTXO ou basée sur un compte.

Machines Virtuelles (MVs)

Les MVs dans Avalanche sont un code qui utilise le consensus pour produire une base de données. Cette base de données peut prendre la forme d’une chaîne, d’un DAG, d’un fichier journal ou d’une autre structure de données qui nécessite une synchronisation sur plusieurs machines. La logique de la machine virtuelle peut être déployée plusieurs fois sur plusieurs sous-réseaux, chacun créant un identifiant de chaîne individuelle pour cette instance.

Chaînes

Les chaînes sont un terme générique pour les instances de MV. Chaque chaîne se voit attribuer un ChainID et peut faire partie d’un seul sous-réseau. Cependant, la même machine virtuelle peut être utilisée pour déployer plusieurs fois le même type de chaîne dans un sous-réseau ou dans d’autres sous-réseaux. Par exemple, quelqu’un pourrait déployer sa propre MV d’Ethereum dans leur sous-réseau et utiliser la MVE dans d’autres sous-réseaux et ces deux machines virtuelles seraient des machines avec des états complètement différents.

Subnets

Subnet (parfois appelé “sous-réseau”) est un sous-ensemble de validateurs de la plateforme Avalanche qui ont choisi de participer à la validation d’un groupe de chaînes. Toutes les chaînes déployées sur un sous-réseau seront validées par les validateurs qui choisissent de devenir membres de ce sous-réseau. Les sous-réseaux doivent créer leurs propres mécanismes d’incitation pour ces validateurs. Les sous-réseaux peuvent avoir des dizaines de chaînes s’ils le souhaitent.

Le Subnet Avalanche

Avalanche implémente un sous-réseau principal par défaut contenant trois chaînes :P-Chain, X-Chain, et C-Chain.

Chaque validateur de la plateforme Avalanche doit valider ces chaînes. Pour les chaînes supplémentaires, créez d’abord un nouveau sous-réseau à l’aide de la chaîne P, puis ajoutez des chaînes au sous-réseau, également via la chaîne P.

La chaîne X est destinée au jeton Avalanche et à la création de nouvelles classes d’actifs. Il utilise un DAG avec un modèle UTXO qui est hautement parallélisable et facilement élagué. Cela permet un échange rapide des actifs dans tout l’écosystème Avalanche.

La chaîne C est une copie propre de l’EVM. Cela permet aux contrats intelligents de vous fournir un nœud Geth complet en utilisant le consensus Snowman au lieu de Nakamoto.

Le sous-réseau Avalanche n’est pas facultatif pour valider dans la plate-forme Avalanche. L’implantation dans le sous-réseau principal permet aux validateurs de participer à d’autres sous-réseaux. Cela permet également des engagements croisés entre les sous-réseaux. En ayant un groupe commun de validateurs, Avalanche garantit que la sécurité des sous-réseaux est ancrée dans la chaîne P.

Outils de Travail

Avalanche dispose de plusieurs outils pour construire et développer sur la plateforme.

Gecko

Le premier client pour le réseau Avalanche, écrit par AVA Labs. Gecko est une implémentation Go du protocole Avalanche. Il dispose d’une suite complète de RPC JSON pour interagir avec les API VM. Il est livré avec un Keystore local, des métriques, IPC et des API d’administration pour interagir avec le nœud lui-même.

Slopes

La bibliothèque Javascript pour interagir avec les API Avalanche. Slopes s’intègre bien aux applications décentralisées existant pour permettre l’intégration d’Avalanche. Il a une architecture de bibliothèque modulaire, permettant aux machines virtuelles personnalisées d’écrire des plugins pour étendre la fonctionnalité Slopes.

Avash

Commencer par un environnement de test local est intimidant. Avash est un programme écrit en Go qui vise à permettre la création rapide de réseaux locaux à des fins de tests. Avec la prise en charge des scripts Lua, Avash permet aux développeurs d’automatiser divers réseaux locaux, de lancer des sous-réseaux et de déployer des chaînes sur ces réseaux pour les intégrer aux pipelines CI.

Avalanche Wallet et Faucet

Un portefeuille et un serveur faucet ont été ouverts pour permettre aux développeurs de démontrer l’écosystème d’Avalanche. À l’aide du portefeuille, des fonds peuvent être envoyés et reçus sur tout le réseau, prenant en charge plusieurs actifs dans la chaîne X. Lorsque vous utilisez des environnements de test partagés privés, le serveur faucet est utile pour permettre à plusieurs utilisateurs de gagner des fonds à leurs propres fins de tests.

Rejoignez-nous sur Telegram ou sur Twitter !

Ressources importantes

Code Repositories

Guides du développeur

À propos d’Avalanche :

Avalanche est une plateforme open-source permettant de lancer des applications financières décentralisées et des déploiements de blockchain d’entreprise dans un écosystème interopérable et hautement évolutif. Les développeurs qui se servent d’Avalanche peuvent facilement créer des applications puissantes, fiables et sécurisées et des réseaux blockchain personnalisées avec des ensembles de règles complexes ou s’appuyer sur des sous-réseaux privés ou publics existants.

Telegram Francophone | Twitter Francophone |Site Web |Papier blanc | Twitter | Discord | GitHub | Documentation | Explorer | Avalanche-X | Telegram | Facebook | LinkedIn | Reddit | YouTube

--

--