Avalanche (AVAX) versus les plateformes de smart contracts concurrentes : tout ce qu’il faut savoir
Le mainnet de la plateforme de smart contracts Avalanche (AVAX) a été récemment déployé. Ava Labs ambitionne avec ce projet de concurrencer les plateformes existantes, comme Ethereum, EOS, Tezos ou encore Cardano. Scalabilité, sécurité et décentralisation : Avalanche souhaite ainsi surpasser ses prédécesseurs sur tous ces points.
Comparons donc les caractéristiques et les performances du réseau avec celles de ses concurrents.
Ceci est un article promotionnel écrit dans le cadre de la campagne de grants d’Avalanche.
Ethereum (ETH)
Ethereum est la plateforme d’applications décentralisées la plus populaire, que l’on ne présente plus. Actuellement, ses capacités sont de plus en plus limitées. Mais Ethereum 2.0 devrait changer la donne, avec son nouveau mécanisme de consensus par preuve d’enjeu (proof of stake). De plus, les solutions de couche secondaire comme Plasma vont améliorer grandement sa scalabilité.
Mécanisme de consensus
Ethereum utilise premièrement la preuve de travail. Ensuite, une version hybride PoW/PoS sera déployée pour assurer la transition vers Ethereum 2.0. Enfin, durant sa dernière phase de déploiement, le réseau utilisera la preuve d’enjeu. Le futur mécanisme de consensus d’Ethereum s’appelle Casper.
Débit de transactions
Actuellement, le débit de transactions du réseau Ethereum est d’environ 15 transactions par seconde.
Ce débit sera grandement amélioré durant les trois phases de déploiement d’Ethereum 2.0. Ainsi, Vitalik Buterin parle de 2000 à 3000 tx/s pour la phase 0, et de 100 000 tx/s pour la phase 1.
Finalité des transactions
Le temps moyen de confirmation d’un bloc sur Ethereum est d’environ 13 secondes. La finalité d’une transaction est assumée au bout de 30 confirmations. Le délai de finalisation est donc d’environ 7-8 minutes.
Frais de transaction
Les frais de transactions sont actuellement le point faible d’Ethereum, principalement à cause de l’explosion de la finance décentralisée (DeFi). En effet, ils tournent à 3,79 $ par transaction.
Langages de programmation
Le principal langage de programmation des smart contracts d’Ethereum est Solidity. Solidity est un langage de programmation orienté objet, influencé par le C++, Python et Javascript. Mais il est également possible d’utiliser d’autres langages, pour programmer des smart contracts qui pourront être interprétés par l’Ethereum Virtual Machine, comme Vyper, Obsidian ou LLL.
EOS (EOS)
EOS est la plateforme décentralisée conçue par Dan Larimer, lancée en 2018. Il y a désormais suffisamment de données disponibles pour dresser le bilan de ses performances. Tout d’abord, rappelons que le pari de Dan Larimer était de sacrifier la décentralisation du système au profit de sa scalabilité.
Mécanisme de consensus
EOS utilise la preuve d’enjeu déléguée (delegated proof of stake). Avec ce mécanisme, les détenteurs du token votent pour des nœuds producteurs de blocs, qui sont au nombre de 21. La sélection du nœud finalisant les transactions est aléatoire. Ce système permet ainsi d’assurer un haut débit de transactions.
Débit de transactions
Le débit maximal relevé sur la blockchain d’EOS fut de 3996 tx/s. Le réseau permet de traiter de façon consistante plus de 1000 tx/s. Cependant, ces données sont mises en doute par certains chercheurs.
Finalité des transactions
C’est un des points forts d’EOS : les transactions sont finalisées en moins d’une demi-seconde. Voici ci-dessous le temps d’exécution des contrats pour chacun des producteurs de blocs :
Frais de transaction
Sur EOS, les frais de transactions sont gratuits pour l’utilisateur (à l’exception des frais de création de compte). En revanche, les créateurs de smart contracts doivent mettre la main à la poche. Ces frais varient en fonction de l’usage en mémoire vive, CPU et bande passante du contrat.
Langages de programmation
Le langage de programmation principal d’EOS est le C++. Cependant, EOS peut interpréter tout langage pouvant être compilé en Web Assembly (WASM).
Tezos (XTZ)
Tezos est la plateforme de smart contracts à la française ! Arthur Breitman et sa femme Kathleen Breitman la conçurent en 2014, et elle vit le jour en 2018. Avant tout, le projet mise sur la fiabilité de son langage, le Michelson, se prêtant à la vérification formelle. Plusieurs institutions ont ainsi adopté la plateforme.
Mécanisme de consensus
Le mécanisme de consensus utilisé par Tezos est une variante de la preuve d’enjeu déléguée. Il est baptisé Emmy+; on parle alors de preuve d’enjeu liquide. Contrairement à EOS, les détenteurs de XTZ sont récompensés par le protocole (et pas seulement le délégué).
Débit de transactions
Le débit théorique de Tezos est de 40 transactions par seconde. Cependant, 76 % des transactions de Tezos sont dédiées au maintien du consensus. Le débit réel est donc plus faible.
Finalité des transactions
Le temps de confirmation d’un bloc sur Tezos est de 60 secondes. On considère que 30 confirmations sont nécessaires pour assurer la finalité d’une transaction. Le délai de finalisation est ainsi de 30 minutes.
Frais de transaction
Assurément, il s’agit là d’un point fort. C’est l’inflation qui rémunère les producteurs de blocs de Tezos (bakers) : les frais de transactions sont dérisoires. L’utilisateur a ainsi le choix du montant des récompenses attachées à sa transaction. La plupart des bakers acceptent des transactions sans frais attachés. Les frais moyens sont actuellement inférieurs à 1 cent (0,004 $).
Langages de programmation
Le langage de programmation spécifique à Tezos est le Michelson. Ce langage de bas niveau est conçu pour faciliter la vérification formelle du code. Il est également possible de programmer des smart contracts dans d’autres langages, qui seront interprétés en Michelson :
Cardano (ADA)
Cardano est le projet ambitieux de Charles Hoskinson, co-fondateur d’Ethereum. C’est l’un des concurrents les plus sérieux d’Ethereum sur le terrain des plateformes de smart contracts. Une équipe de chercheurs répartie partout dans le monde assure son développement.
Mécanisme de consensus
Le protocole de consensus de Cardano s’appelle Ouroboros. Il est basé sur le mécanisme du proof of stake. Un système de peer review entre les chercheurs participant au projet assure sa fiabilité. Il est hautement scalable et sécurisé.
Débit de transactions
Cardano peut traiter 40 transactions par seconde. Sa solution de couche secondaire, Hydra, devrait permettre de traiter plus de 1000 tx/s. D’après les simulations de l’équipe de développement, avec une connectivité optimale entre les nœuds, le débit pourrait atteindre le million de transactions par seconde. Cette promesse rappelle donc celle de Vitalik quant à Ethereum 2.0 et son sharding.
Finalité des transactions
Le temps de production d’un bloc est fixé à 20 secondes. On estime que 15 confirmations sont nécessaires pour assurer une finalité satisfaisante. Le temps de finalisation d’une transaction est donc d’environ 5 minutes.
Frais de transaction
Les frais de transactions sur Cardano sont très faibles : moins de 2 centimes.
Langages de programmation
Le langage de programmation principal des smart contracts de Cardano s’appelle Plutus. Il est bâti sur le langage Haskell, qui est extrêmement sécurisé.
Avalanche (AVAX)
Enfin, Avalanche est la plateforme décentralisée conçue par le génie des systèmes distribués Emin Gün Sirer. Les performances relevées lors des tests sont très impressionnantes. Bien sûr, elles devront être confirmées après quelques mois de recul !
Mécanisme de consensus
La nouvelle classe de protocoles de consensus développée au sein d’Avalanche s’appelle Snow. Basé sur la preuve d’enjeu, le consensus d’Avalanche utilise un système de réseaux de blockchains et d’instances maintenues par un graphe orienté acyclique (DAG).
Débit de transactions
Ava Labs a réalisé ici une véritable prouesse ! En effet, le débit de transactions devrait être supérieur à celui d’un réseau de paiement interbancaire comme VISA. Selon les résultats des tests, ce débit peut ainsi atteindre 7000 tx/s avec 2000 nœuds !
Les tests ont été réalisés sur des instances EC2 d’AWS. Entre 125 et 2000 instances de machines virtuelles ont été déployées. La bande passante moyenne est de 100 Mbps. Les tests se sont basés sur des lots de 20 ou 40 transactions, d’une taille de 250 octets.
Finalité des transactions
Avalanche utilise la conception probabiliste de la finalité des transactions amenée par Satoshi Nakamoto. Ainsi, le compromis réside entre probabilité d’erreur minimale et performance. Avalanche permet de finaliser les transactions du réseau en une à deux secondes.
Grâce à son graphe orienté acyclique, la taille du réseau n’influence pas la latence des transactions :
La latence est donc sensiblement la même, quel que soit le nombre de nœuds composant le réseau.
Pour avoir plus de détails concernant la probabilité de finalité d’une transaction en fonction du pourcentage d’acteurs byzantins, consulter le whitepaper.
Frais de transaction d’Avalanche
Les frais varient en fonction du type de transaction. Ainsi, les transactions simples en AVAX présentent des frais faibles, tandis que les frais attachés aux nouveaux sous-réseaux sont plus élevés. Il est aussi possible de créer sa propre structure de frais au sein d’un subnet.
Les frais de transactions ne sont donc pas fixés par la libre appréciation de l’utilisateur, et c’est une fonction spécifique qui les gère. Elle ajuste les frais en fonction de la congestion du réseau. Pour l’instant, nous n’avons pas de données relatives aux frais des transactions sur Avalanche.
Langages de programmation sur Avalanche
C’est ce qui pourrait donner à Avalanche un avantage certain sur toutes les plateformes existantes. La plateforme permettra d’implémenter de multiples machines virtuelles, et donc de langages de programmation différents.
Avalanche intègre l’Ethereum Virtual Machine. Cela signifie que les smart contracts pourront être codés en Solidity. N’importe qui pourra donc copier-coller son smart contract et le déployer au sein d’Avalanche. Si les performances du mainnet s’avèrent conformes à ce qui est avancé par Ava Labs, cela représente une menace réelle pour Ethereum. Web Assembly (WASM) sera ensuite implémenté. Enfin, de nombreuses machines virtuelles seront déployées par la communauté.
Conclusion : Avalanche (AVAX) versus le reste du monde
La concurrence fait donc rage entre les géants du secteur des plateformes d’applications décentralisées. Les développeurs cherchent ainsi à trouver le compromis parfait entre scalabilité, décentralisation et sécurité. Les mécanismes basés sur la preuve d’enjeu et la preuve d’enjeu déléguée permettent d’améliorer grandement la scalabilité de ces réseaux; mais bien entendu, cela ne doit pas se faire au détriment de la sécurité.
EOS, par exemple, a sacrifié la décentralisation du système au profit d’un débit de transactions très élevé. Ethereum 2.0 devra faire ses preuves et montrer que le passage au proof of stake ne pose pas de problèmes de sécurité. Enfin, Cardano et Avalanche devraient présenter un débit de transactions record.
Il est cependant très clair que la supériorité d’Avalanche est écrasante théoriquement : les premiers mois de vie du mainnet devront confirmer cette avance technologique.
L’année 2021 sera celle de la finance décentralisée. Il y a fort à parier que les fonds continueront d’affluer dans cet écosystème. Le projet qui montrera les meilleures performances, la meilleure compatibilité et le plus haut degré de décentralisation sera sûrement le leader de cette compétition.