Getting your Trinity Audio player ready...
|
Dernière modification effectuée le 31.07.2023 19:59
Introduction
Initialement, la promesse d’Ethereum était de construire une plateforme d’applications décentralisées de nouvelle génération et surtout, accessible à tous.
Bien qu’Ethereum ait parcouru un long chemin depuis, il reste néanmoins un domaine dans lequel le réseau doit encore évoluer : celui de la scalabilité. En effet, les frais de gas insoutenables et la congestion fréquente du réseau actuel représentent un défi important pour l’écosystème. Pour faire face à cela, la communauté a adopté une feuille de route centrée sur les rollups pour augmenter le scalabilité du réseau.
Les rollups sont aujourd’hui considérés par une partie de la communauté Ethereum comme le seul moyen viable de faire évoluer les blockchains, sans pour autant sacrifier la décentralisation et la sécurité.
Cependant, jusqu’à récemment, des obstacles techniques rendaient peu pratique l’utilisation des rollups, poussant les utilisateurs vers des blockchains de type layers 1, concurrentes à Ethereum comme Solana ou Avalanche.
Néanmoins, depuis le début de l’année 2021, de nombreuses solutions émergent et attirent l’attention comme StarkNet, produit par l’entreprise StarkWare ou encore de zkSync, produit par l’entreprise Matter Labs.
Récemment, c’est Polygon qui a annoncé travailler sur un zk-EVM. Scroll fait également partie des zk-EVM et compte bien jouer un rôle important dans cette course à la scalabilité.
Scroll : valeurs et ambitions d’un zk-EVM à suivre
Scroll est un ZK-rollup compatible avec l’Ethereum Virtual Machine (EVM). Le protocole s’appuie sur plusieurs lignes directrices afin d’atteindre ses objectifs.
Donner le pouvoir aux développeurs et utilisateurs
L’objectif de Scroll est d’assister Ethereum sur sa partie scalabilité en agissant en tant que seconde couche (layer 2). À l’inverse du ZK-rollup StarkNet construit à partir du langage Cairo et non compatible avec l’EVM, Scroll souhaite donner la possibilité aux développeurs de déployer des applications déjà existantes sur le réseau principal Ethereum, sans avoir besoin de tout modifier ou réécrire au niveau du code.
Un protocole open source tourné vers sa communauté
Les équipes de Scroll ont souhaité travailler en open source dès le départ afin de permettre l’audit et la vérification des lignes de code. Tout est consultable sur leur Github. Cela oblige l’équipe à être transparent et responsable vis-à-vis de la communauté.
Les équipes travaillent également en collaboration avec les membres de la Fondation Ethereum en charge de la confidentialité et de la scalabilité afin de construire le zk-EVM le plus ouvert possible.
Une volonté de décentralisation et de résistance à la censure
En tant que ZK-rollup, Scroll met un point d’honneur à conserver la même décentralisation que sur le réseau Ethereum. La disponibilité des données et le consensus sont toujours gérés par la couche 1 de la blockchain Ethereum, ce qui permet d’hériter du même niveau de décentralisation.
La résistance à la censure est plus difficile à atteindre pour les rollups. Les équipes de Scroll ont néanmoins conçu un protocole permettant de confier les preuves des rollups à une communauté de « Rollers« . L’objectif est de créer un écosystème robuste de “Rollers” et plus important encore, de permettre aux utilisateurs d’exécuter le prover eux-mêmes en cas de censure.
Pour construire le meilleur zk-EVM possible, les équipes de Scroll s’appuient sur 4 piliers :
- La sécurité des utilisateurs
- La compatibilité avec l’EVM
- L’efficacité du protocole (scalabilité)
- La promesse d’une décentralisation totale
Au cœur de l’architecture de Scroll
Techniquement, l’architecture actuelle du protocole Scroll se compose de trois éléments :
- Les nœuds Scroll
- Le réseau de Rollers
- Les contrats Rollup et Bridge
Les nœuds Scroll
Les nœuds permettent aux applications et aux utilisateurs d’interagir avec Scroll. Il se compose de trois modules : le séquenceur, le coordinateur et le relais.
Séquenceur : Le séquenceur accepte les transactions sur la couche 2. Toutes les secondes, il récupère un lot de transactions dans le mempool de la couche 2 et les exécute pour générer un nouveau bloc et une nouvelle racine d’état.
Coordinateur : Dès qu’un nouveau bloc est généré, le coordinateur est notifié et reçoit la trace d’exécution de ce bloc. Il envoie alors cette trace d’exécution à un Roller choisi au hasard pour la génération de la preuve.
Relais : Le relayeur surveille lui les contrats de bridge et de rollup déployés à la fois sur Ethereum et sur Scroll. Il a deux responsabilités principales :
1- Il surveille le contrat rollup pour suivre l’état des blocs sur la couche 2, y compris la disponibilité de leurs données et la preuve de leur validité.
2- Ensuite, il surveille les événements liés aux bridges déployés sur Ethereum et Scroll et relaie les messages d’un côté à l’autre.
Le réseau de Rollers
Les rollers servent à vérifier le réseau et sont chargés de générer les preuves de validité pour le zk-rollup. Afin de générer une preuve de validité, le processus est le suivant :
- Un Roller convertit d’abord la trace d’exécution reçue du coordinateur en témoins de circuit.
- Il génère des preuves pour chacun des circuits zkEVM.
- Enfin, il utilise l’agrégation de preuves pour combiner les preuves de plusieurs circuits zkEVM en une seule preuve de bloc.
Les contrats Rollup et bridge
Scroll se connecte à la couche de base d’Ethereum par le biais des contrats intelligents Rollup et Bridge. Ensemble, ils assurent la disponibilité des données pour les transactions de la couche 2 et permettent aux utilisateurs de faire passer des actifs entre la couche 1 et 2.
La roadmap du projet
Après plus d’un an de travail en collaboration avec le groupe PSE (Privacy and Scaling Explorations) de la Fondation Ethereum, les équipes de Scroll ont publié la version pré-alpha de leur protocole. Vous pouvez d’ailleurs participer à cette phase de test en cliquant sur signup.scroll.io.
À noter que cette version initiale sera exécutée sur un fork PoA privé d’Ethereum exploité par Scroll. Au-dessus de cette chaîne privée, les équipes de Scroll feront tourner un testnet Scroll L2 supportant les fonctionnalités suivantes :
- Les utilisateurs pourront interagir avec quelques applications et outils DeFi (fork Uniswap, wallet Metamask)
- Les utilisateurs pourront visualiser l’état du testnet Scroll via des explorateurs de blocs
- L’échange d’actif entre la couche 1 et 2 sera possible grâce à un bridge
Peu après cette version pré-alpha, les équipes de Scroll prévoient de déployer le protocole sur un réseau de test Ethereum en le rendant permissionless (c’est-à-dire que tout le monde peut venir tester le réseau). Les fonctionnalités suivantes devraient être intégrées :
- Possibilité d’exécuter un nœud Scroll
- Possibilité de déployer des smart contracts
D’après les équipes de Scroll, les choses devraient vite bouger dans les prochaines semaines, notamment sur l’architecture et la vision technique du protocole. À suivre donc.
Conclusion
Dans la course aux zk-EVM, Scroll est un concurrent à ne pas sous-estimer. Soutenu notamment par la Fondation Ethereum, le protocole vise à prendre une place importante au sein du marché des zk-rollups.
Néanmoins, Scroll fera face à une concurrence forte avec des protocoles positionnés sur le même créneau, comme zkSync de Matter Labs ou le zk-EVM de Polygon.