Besoin de mise à l’échelle

La mise à l’échelle d’Ethereum a été l’un des sujets les plus discutés depuis le lancement du réseau. Le débat sur la mise à l’échelle se réchauffe toujours après une période de congestion majeure du réseau.

L’une des premières périodes comme celle-ci a été le marché haussier de la crypto-monnaie de 2017. Où les tristement célèbres CryptoKitties, ainsi que les ICO, ont pu obstruer l’ensemble du réseau Ethereum. Provoquant une augmentation majeure des frais de gaz.

Cette année, la congestion du réseau est revenue encore plus forte. Cette fois causée par la popularité de la DeFi et de le yield farming. Il y a eu des périodes où même des frais de gaz aussi élevés que 500+ gwei ne permettaient pas de vérifier votre transaction pendant un certain temps.

En ce qui concerne la mise à l’échelle d’Ethereum ou des blockchains en général, il existe 2 façons principales de le faire: la mise à l’échelle de la couche de base elle-même (layer 1) ou la mise à l’échelle du réseau en déchargeant une partie du travail vers une autre couche – layer 2.

Mise à l’échelle des layers 1 et 2

Le layer 1 est notre couche de consensus de base standard où pratiquement toutes les transactions sont actuellement réglées. Le concept de layer n’est pas un concept spécifique à Ethereum. D’autres blockchains telles que Bitcon ou Zcash l’utilisent également largement.

La couche 2 est une autre couche construite sur la couche 1. Il y a quelques points importants ici. Le layer 2 ne nécessite aucune modification dans le layer 1. Il peut être simplement construit au-dessus du layer 1 en utilisant ses éléments existants tels que les contrats intelligents. Le layer 2 exploite également la sécurité de la couche 1 en ancrant son état dans la couche 1.

Ethereum peut actuellement traiter environ 15 transactions par seconde sur sa couche de base (layer 1). La mise à l’échelle du layer 2 peut augmenter considérablement le nombre de transactions. Selon la solution, on parle de traitement entre 2000-4000 tx / seconde.

Qu’en est-il d’Ethereum 2.0? N’était-ce pas censé faire évoluer Ethereum?

Oui. Ethereum 2.0 introduit la preuve d’enjeu et le partitionnement qui augmenteront considérablement le débit des transactions sur la couche de base.

Cela signifie-t-il que nous n’avons pas besoin de mise à l’échelle de la couche 2 lorsque Ethereum 2.0 est livré?

Pas vraiment, même avec le sharding, Ethereum aura toujours besoin d’une mise à l’échelle du layer 2 pour pouvoir gérer des centaines de milliers, voire des millions de tx par seconde à l’avenir.

C’est également là qu’entre en jeu le fameux triangle d’évolutivité. En théorie, nous pourrions simplement ignorer complètement le layer 2. Et nous concentrer sur la mise à l’échelle de la couche de base. Cela nécessiterait des nœuds hautement spécialisés pour gérer la charge de travail accrue. Ce qui entraînerait une centralisation plus élevée. Par conséquent, une baisse des propriétés de sécurité et de résistance à la censure du réseau.

S’en tenant au fait que l’évolutivité ne devrait jamais se faire au détriment de la sécurité et de la décentralisation. Nous nous retrouvons avec une combinaison de mise à l’échelle des layers 1 et 2 pour l’avenir.

Solutions de mise à l’échelle du layer 2

La mise à l’échelle de layer 2 est un terme collectif désignant les solutions qui aident à augmenter les capacités de la couche 1 en traitant les transactions hors chaîne (hors couche 1). Les 2 principales fonctionnalités qui peuvent être améliorées sont la vitesse de transaction et le débit de transaction. En plus de cela, les solutions de layer 2 peuvent réduire considérablement les frais de gaz.

En ce qui concerne les solutions de mise à l’échelle réelles, plusieurs options sont disponibles. Alors que certaines des options sont disponibles dès maintenant et peuvent augmenter le débit du réseau Ethereum à court et moyen terme. D’autres visent un horizon temporel à moyen et long terme.

Certaines des solutions de mise à l’échelle sont spécifiques à l’application, par exemple les canaux de paiement. D’autres, tels que les « optimistic rollups », peuvent être utilisés pour toute exécution arbitraire de contrat.

Pour mieux comprendre ces différences, explorons les solutions de mise à l’échelle de layer 2 les plus populaires.

Chaînes

Les canaux sont l’une des premières solutions de mise à l’échelle largement discutées. Ils permettent aux participants d’échanger leurs transactions hors chaîne un certain nombre de fois tout en ne soumettant que deux transactions à la couche de base.

Les types de canaux les plus populaires sont les canaux d’État et leur sous-type – les canaux de paiement.

Bien que les canaux aient le potentiel de traiter facilement des milliers de transactions par seconde, ils présentent quelques inconvénients. Ils n’offrent pas de participation ouverte. – Les participants doivent être connus d’avance. Et les utilisateurs doivent verrouiller leurs fonds dans un contrat multisig. De plus, cette solution de mise à l’échelle est spécifique à l’application et ne peut pas être utilisée pour mettre à l’échelle des contrats intelligents à usage général.

Le principal projet qui tire parti de la puissance des canaux d’État sur Ethereum est Raiden. Le concept de canaux de paiement est également largement utilisé par le Lightning Network de Bitcoin.

Plasma

Le plasma est une solution de mise à l’échelle de layer 2 qui a été initialement proposée par Joseph Poon et Vitalik Buterin. C’est un cadre pour créer des applications évolutives sur Ethereum.

Plasma exploite l’utilisation de contrats intelligents et d’arbres Merkle pour permettre la création d’un nombre illimité de chaînes enfants. Ce sont des copies de la blockchain Ethereum parent.

Le déchargement des transactions de la chaîne principale vers les chaînes enfants permet des transactions rapides et bon marché. L’un des inconvénients du plasma est une longue période d’attente pour les utilisateurs qui souhaitent retirer leurs fonds du layer 2. Le plasma, tout comme les canaux, ne peut pas être utilisé pour mettre à l’échelle des contrats intelligents à usage général.

Le réseau OMG repose sur leur propre implémentation de Plasma, appelée MoreViable Plasma. Matic Network est un autre exemple de plateforme utilisant une version adaptée du framework Plasma.

Sidechains

Les Sidechains sont des blockchains indépendantes compatibles Ethereum avec leurs propres modèles de consensus et paramètres de bloc.

L’interopérabilité avec Ethereum est rendue possible en utilisant la même machine virtuelle Ethereum. De sorte que les contrats déployés sur la couche de base Ethereum peuvent être directement déployés sur la sidechain. xDai est un exemple d’une telle sidechain.

Rollups

Les rollups fournissent une mise à l’échelle en regroupant ou en «cumulant» des transactions de sidechain en une seule transaction et en générant une preuve cryptographique. Egalement connue sous le nom de SNARK (succinct non-interactive argument of knowledge). Seule cette preuve est soumise à la couche de base.

Avec les cumuls, tous les états et exécutions des transactions sont gérés dans des sidechains. La chaîne Ethereum principale ne stocke que les données de transaction.

Il existe 2 types de rollups: les rollups Zk et les rollups optimistes.

Les rollups Zk, sont plus rapides et plus efficaces que les rollups optimistes. Mais elles ne permettent pas aux contrats intelligents existants de migrer facilement vers le layer 2.

Les rollups optimistes exécutent une machine virtuelle compatible EVM appelée OVM (Optimistic Virtual Machine). Elle permet d’exécuter les mêmes contrats intelligents que ceux qui peuvent être exécutés sur Ethereum. Ceci est vraiment important car cela permet aux contrats intelligents existants de conserver plus facilement leur composabilité. Ce qui est extrêmement pertinent dans la DeFi. Car tous les principaux contrats intelligents ont déjà été testés au combat.

L’un des principaux projets travaillant sur des rollups optimistes est Optimism. Elle se rapproche de plus en plus de leur lancement sur le réseau principal.

En ce qui concerne les rollups Zk, Loopring et Deversifi sont de bons exemples d’échanges décentralisés basés sur la couche 2. En plus de cela, nous avons ZkSync permettant des paiements cryptographiques évolutifs.

L’évolutivité des rollups peut également être amplifiée par Ethereum 2.0. En fait, comme les rollups n’ont besoin que de la couche de données pour être mis à l’échelle, ils peuvent déjà obtenir un énorme coup de pouce dans Ethereum 2.0 Phase 1. Cette dernière concerne le partitionnement des données.

En résumé

Malgré un éventail de solutions de mise à l’échelle de la layer 2 disponibles. Il semble que la communauté Ethereum converge vers une approche de mise à l’échelle principalement via des rollups et le partage de données Ethereum 2.0 Phase 1.

Cette approche a également été confirmée dans un article récent de Vitalik Buterin intitulé « rollup centric Ethereum roadmap»