Scalabilité d'Ethereum : Naviguer dans le trilemme de la blockchain

Initialement publié en anglais par StarkWare le 06 Avril, 2023.

Une plongée approfondie dans les Sidechains et les solutions de couche 2 pour améliorer les performances

Il existe trois propriétés souhaitables que les blockchains essaient d'atteindre : la sécurité, la décentralisation et la scalabilité. Dans le domaine de la blockchain, il est bien connu qu'on ne peut obtenir simultanément que deux de ces propriétés dans un même système, au détriment de la troisième. Dans Ethereum, la sécurité et la décentralisation sont prioritaires par rapport à la scalabilité.

L'augmentation du nombre d'utilisateurs d'Ethereum crée un goulot d'étranglement des transactions : la vitesse de transaction ralentit et les prix du gas augmentent. Ce cycle entrave l'adoption d'Ethereum à grande échelle. Augmenter simplement le nombre de transactions par bloc compromettrait la décentralisation, car cela deviendrait plus coûteux pour les utilisateurs de faire fonctionner des nœuds Ethereum (copies indépendantes de l'historique des transactions Ethereum).

De plus, des blocs de très grande taille pourraient déstabiliser le consensus, compromettant ainsi la sécurité. Pour répondre à ces défis, diverses catégories de solutions de scalabilité ont émergé, comme les Sidechains et les solutions de couche 2.

Sidechains

Une sidechain est une blockchain distincte qui fonctionne en parallèle du réseau principal d'Ethereum, optimisant ainsi son algorithme de consensus et ses paramètres de bloc pour un débit plus élevé. Toutefois, étant donné qu’une sidechain est essentiellement une autre blockchain, sa scalabilité accrue se fait au détriment de la sécurité et de la décentralisation (le trilemme de scalabilité).

Contrairement aux solutions de couche 2 (L2), les sidechains ne publient pas les modifications d'état ou les données de transaction sur Ethereum, et elles ne bénéficient pas de la sécurité d'Ethereum. De plus, les chaînes latérales nécessitent des hypothèses de confiance plus élevées et n'atteignent pas l'objectif d'une sécurité sans confiance, les rendant plus vulnérables aux attaques.

Elles sont susceptibles de rencontrer des problèmes tels que des réorganisations de chaînes

Solutions de couche 2

Les solutions off-chain qui utilisent Ethereum pour le consensus et la sécurité sont classées dans la catégorie des solutions de couche 2. Ces solutions sont conçues pour aider à mettre à l'échelle votre application en traitant les transactions en dehors du réseau principal d'Ethereum (couche 1), tout en bénéficiant de son modèle de sécurité décentralisé. Une couche 2 est une blockchain distincte qui étend Ethereum et hérite des garanties de sécurité d'Ethereum.

Les transactions sont soumises aux nœuds du L2 plutôt qu'au L1, puis finalement réglées sur le L1.

Une fois soumises, les transactions sont sécurisées par Ethereum L1 et ne peuvent pas être modifiées. Les détails de la manière dont cela est réalisé varient selon les différentes solutions de couche 2.

Canaux d'état

Un canal d'état est un environnement de communication entre les participants à une transaction.

Un canal d'état est un protocole permettant aux utilisateurs d'effectuer "x" transactions entre eux "off-chain", tout en ne soumettant que deux transactions sur la chaîne principale d'Ethereum. Le canal utilise la cryptographie pour démontrer que les données finales générées sont vraiment le résultat d'un ensemble valide de transactions intermédiaires.

Chaque canal est géré par un contrat intelligent. Pour ouvrir un canal, les participants déploient le contrat et déposent des fonds. Pour commencer à effectuer des transactions off-chain, les deux parties signent une mise à jour de l'état. Pour fermer le canal, les participants soumettent le dernier état convenu on-chain, et le contrat intelligent distribue les fonds selon le solde de chaque participant dans l'état final.

Les canaux d'état offrent des avantages tels qu'un débit plus élevé, une confidentialité accrue, une latence réduite et des coûts moindres par rapport aux transactions on-chain. Ils peuvent être utiles pour les microtransactions, les applications décentralisées et les paiements conditionnels selon les états finals de la machine d'état.

Cependant, les canaux d'État ont quelques inconvénients, tels que l'hypothèse que tous les participants seront en ligne pour surveiller et répondre aux litiges, même non valides, ou risquent de perdre leurs fonds. Le nombre de participants qui composent un canal d'état reste fixe tout au long de sa durée de vie, limitant son utilité.

Comparés aux rollups, les canaux d'État offrent une sécurité moindre car ils ne publient pas toutes les données de transaction ou les engagements d'état sur le réseau principal. Cependant, leur connexion au réseau principal est supérieure à celle des chaînes latérales, ce qui les rend relativement plus sûrs.

Rollups

Un rollup est un type de solution de couche 2 qui déplace les calculs de transaction off-chain tout en stockant les données de transaction sur le réseau principal. Cela permet aux rollups d'hériter de la sécurité native d'Ethereum, reposant sur la décentralisation d'Ethereum.

Voici comment fonctionne un rollup : des milliers de transactions sont rassemblées en un lot. Toutes les transactions du lot sont traitées off-chain. Les informations de ces transactions sont ensuite regroupées en une seule transaction et sont envoyées pour être soumises on-chain.

En fonction de la méthode de déplacement des calculs off-chain, nous obtenons deux types de rollups : les rollups Optimistes et les rollups de Validité.

Optimistic Rollups

Les rollups optimistes fonctionnent en supposant que toutes les transactions d'un lot sont valides et ne réalisent aucun calcul par défaut. Si une transaction est jugée invalide, il y a une période de contestation pendant laquelle n'importe qui peut contester la transaction en générant une preuve de fraude. Les preuves de fraude réussies déclenchent une réexécution de la transaction contestée et mettent à jour l'état du rollup en conséquence. Les rollups optimistes sont compatibles avec l'EVM et peuvent utiliser les outils natifs d'Ethereum pour leur développement.

Validity Rollups

Les rollups de validité, également connus sous le nom de rollups à connaissance zéro (ZK), regroupent les transactions en lots et les traitent off-chain. Ensuite, le prouveur off-chain crée une preuve de validité pour la validité des transactions du lot. Les preuves de validité sont des garanties cryptographiques que le changement d'état proposé par le rollup est le résultat de l'exécution d'un certain lot de transactions. Les opérateurs de rollup postent ensuite un résumé des changements décrivant toutes les transactions du lot, accompagné de la preuve de validité.

Les rollups de validité utilisent des preuves mathématiques pour assurer automatiquement l'intégrité des transactions et sécuriser le protocole. Bien que les rollups de validité ne soient pas compatibles avec l'EVM par défaut, des compilateurs sur Starknet existent.

Bien que les rollups soient encore en développement et qu'ils ne soient peut-être pas aussi sécurisés qu'Ethereum sous certains aspects, ils ont déjà montré des résultats prometteurs dans des projets comme StarkEx.

La solution de rollup de validité de StarkWare, StarkEx, a déjà traité 392 millions de transactions et a un volume de trading cumulé de 907 milliards de dollars USD à travers toutes ses applications, de la DeFi aux NFT.

Résumé

Une augmentation des utilisateurs d'Ethereum crée un goulot d'étranglement des transactions, ralentissant les vitesses de transaction et augmentant les prix du gaz. Pour répondre à ces défis, diverses catégories de solutions d'extension ont émergé, comme les Sidechains et les couches 2.

Les Sidechains et les L2s adoptent tous deux une approche similaire de la scalabilité, en déplaçant l'exécution des transactions off-chain. Mais les Sidechains sont responsables de leur propre sécurité, tandis que les L2s héritent de la sécurité d'Ethereum, permettant aux L2s de se développer sans compromettre la décentralisation et la sécurité.

Les rollups sont une solution couche 2 qui déplace les calcules des transactions off-chain tout en stockant les données de transaction sur L1, ce qui leur permet d'hériter de la sécurité native d'Ethereum. Il existe deux types de rollups : les rollups optimistes et les rollups de validité.

Les rollups de validité ont un avantage sur les rollups optimistes en ce qu'ils priorisent la sécurité et l'intégrité des transactions en exigeant que chaque transaction soit vérifiée on-chain. Cela garantit que toutes les transactions sont valides et empêche toute activité frauduleuse. D'un autre côté, les rollups optimistes s'appuient sur des preuves de fraude pour détecter les transactions invalides, ce qui peut entraîner des retards et des vulnérabilités potentielles en matière de sécurité.

Starknet est un rollup de validité qui utilise des STARKs à la place des SNARKs, ce qui le rend sécurisé contre les ordinateurs quantiques et élimine le besoin d'une configuration initiale de confiance. Vous souhaitez étendre votre dApp en utilisant des STARKs sans avoir besoin de comprendre la technologie sous-jacente? Apprenez Cairo pour construire sur Starknet aujourd'hui !

Subscribe to Starknet France
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.