Scroll ZKP : Qu’est-ce que c’est, comment ça fonctionne et comment en acheter ?

Scroll ZKP crypto logo

Tout le contenu Coin Academy pour Scroll ZKP

Introduction

Depuis un certain nombre d’années et plus particulièrement depuis l’explosion du marché en 2021, le réseau Ethereum cherche désespérément un moyen d’augmenter son efficacité de traitement des transactions.

Beaucoup de solutions de seconde couche ont émergé après cela et même si le passage d'Ethereum en Proof of Stake (PoS) doit, à long terme, pouvoir pallier ce souci, le réseau cherche toujours des solutions sécurisées différentes pouvant permettre le traitement de haute fréquence de transactions.

Dans cette optique, les ZK rollup, une solution fraichement mise en avant, semble être un candidat intéressant pour répondre à ces problèmes de scalabilité.

Le projet Scroll est conçu dans ce but et tend à offrir des innovations et solutions pour faire évoluer le réseau Ethereum.

Rappel

Avant de présenter cette solution de ZK rollup apportée par Scroll, il est important d’avoir en tête certains concepts essentiels à la bonne compréhension de cet article.

Comme vous le savez très probablement, l’un des grands soucis de la blockchain de première couche décentralisée et sécurisée Ethereum est le grand manque de scalabilité qui provoque un goulot d’étranglement aboutissant à des frais de transaction exorbitants lorsque le réseau est beaucoup utilisé.

Pour pallier ce manque, l’une des solutions qui semble simple au niveau de la mise en place et très efficace est de proposer des Rollups en surcouche (Layer 2) D'Ethereum.

Il existe en réalité plusieurs sous-catégories de rollups, mais dans notre cas, nous nous attarderons seulement sur les ZK rollup.

Schema rollup

ZK rollup

Pour faire simple, un ZK rollup (Zero knowledge proof ou preuve nulle de connaissance) est une solution de seconde couche servant à traiter des transactions off-chain (en dehors de la blockchain) et de simplement envoyer une preuve cryptographique de l’état des soldes sur la chaine principale afin de mettre à jour les comptes.

Les rollups sont considérés comme des solutions hybrides, car ils allient données on-chain et données off-chain contrairement aux solutions de type sidechain.

En effet, d’après Vitalik Buterin : “Les rollups déplacent le calcul (et le stockage de l'état) hors chaîne, mais conservent certaines données par transaction sur la chaîne.”

Pour creuser le sujet plus en profondeur, nous vous recommandons la documentation officielle sur les ZK rollup.

Scroll ZKP

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

Dans l’idée, Scroll est une solution de deuxième couche de type ZK rollup compatible avec l'Ethereum Virtual Machine (EVM).

Scroll est donc un zk rollup créé pour mettre à l’échelle la blockchain Ethereum. La pièce centrale de Scroll est le zkEVM, qui est utilisé pour prouver l'exactitude de l'exécution de l'EVM dans Scroll.

Vous l’aurez compris, comme beaucoup de solutions alternatives comme les sidechains ou encore les optimistic rollups, la mission reste la même, permettre à la blockchain Ethereum (la chaine mère) de déporter l’exécution des transactions sur une chaîne annexe dédiée à cela.

La vision de Scroll

On peut constater que suite à ses problèmes de congestion, la chaine Ethereum a orienté sa feuille de route vers des solutions rollup afin d’augmenter son débit de traitement des transactions.

Les équipes de Scroll voient dans les rollups le seul moyen viable aujourd’hui de faire évoluer les blockchains sans sacrifier la décentralisation et la sécurité.

Depuis de récentes recherches, les ZKP (Zero Knowledge Proof) semblent être une solution miracle, relativement simple à mettre en place et supprimant le compromis entre sécurité et évolutivité.

Les équipes de Scroll sont convaincues que les plateformes informatiques décentralisées occuperont une place si importante dans un avenir proche qu’il est primordial qu’elles soient drivées par des communautés plutôt que par une entité centrale ou une seule équipe de développement.

C’est dans cet état d’esprit que Scroll a été façonné en s’appuyant sur certaines valeurs fondamentales :

  • Mettre le pouvoir entre les mains de l’humanité en rendant la technologie blockchain ultra-accessible grâce à une mise à l’échelle de masse pour des milliards d’utilisateurs. Pour cela, il faut les rendre à la fois évolutives et suffisamment bon marché pour être accessibles à tous, tout en étant sécurisées et userfriendly

  • Scroll met en avant également sa transparence avec sa communauté en étant totalement open source dès le premier jour de sa création. Cette accessibilité a pour but de rendre cette technologie mieux comprise et vérifiée de tous. Du point de vue d'un développeur, la construction ouverte conduit à des systèmes plus sûrs et mieux conçus. En raison de son accessibilité, le code de Scroll fait constamment l'objet d'un examen par les pairs, tant internes qu'externes

  • La dernière valeur, portée comme un étendard par les équipes de Scroll, est bien évidemment la lutte pour la décentralisation et la résistance à la censure. En effet, le projet estime qu'il est essentiel de préserver les propriétés fondamentales de décentralisation et de résistance à la censure qui rendent Ethereum si puissant. C’est en ayant pour objectif final une décentralisation et une résistance à la censure équivalante à celle d’Ethereum que Scroll se construit

Le fonctionnement technique de Scroll

Techniquement, Scroll suit un schéma classique de ZK rollup dont l’idée de base est d’agréger un grand nombre de transactions d'état dans un bloc rollup et de générer une preuve succincte pour le bloc hors chaîne.

Scroll Architecture

L'architecture actuelle se compose de trois éléments d'infrastructure :

Les nœuds Scroll : Ils construisent les blocs de deuxième couche avec les transactions des utilisateurs. Ils engagent ces blocs sur la couche de base d’Ethereum, et transmettent les messages entre Layer 1 et Layer 2. Il s’agit là du principal moyen pour les utilisateurs et les applications d’interagir avec Scroll. Ils se composent de trois modules qui sont, respectivement, le séquenceur (Sequencer), le coordinateur (Coordinator) et le relayer.

Concrètement, le séquenceur fournit une interface JSON-RPC et accepte les transactions sur la Layer 2 (L2). De manière très régulière (quelques secondes), il récupère un lot de transactions dans le mempool de la L2 et les exécute pour générer un nouveau bloc sur la L2 et une nouvelle racine d'état.

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 du séquenceur. Il envoie ensuite la trace d'exécution à un Roller choisi au hasard dans le pool de Roller pour la génération de la preuve.

Le Relayeur a pour mission de surveiller les contrats de bridge et de rollup déployés à la fois sur Ethereum et sur Scroll.

Il devra assumer 2 tâches très importantes : surveiller le contrat de rollup pour suivre l'état des blocs L2, y compris la disponibilité de leurs données et la preuve de leur validité, mais également surveiller les dépôts et retraits des contrats de bridge (pont) déployés sur Ethereum et Scroll et relayer les messages d'un côté à l'autre.

Réseau Roller : Génère les preuves de validité zkEVM pour prouver que les transactions sont exécutées correctement. Pour faire simple, les Rollers sont censés utiliser des accélérateurs : du matériel informatique utilisé pour la preuve de travail tels que des cartes graphiques (GPU), des FPGA et des ASIC pour réduire le temps et le coût des preuves.

Les Rollers utilisent un processus en plusieurs étapes pour générer une preuve :

  • Il 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
  • Pour finir, il utilise l'agrégation de preuves pour combiner les preuves de plusieurs circuits zkEVM en une seule preuve de bloc

Comme à notre habitude, nous pensons qu’une image vaut 1 000 mots.

génération de preuve dans Scroll

Contrats Rollup et Bridge : Fournit la disponibilité des données pour les transactions Scroll, vérifie les preuves de validité zkEVM et permet aux utilisateurs de déplacer des actifs entre Ethereum et Scroll.

Pour faire simple, le contrat Rollup reçoit les racines d'état et les blocs L2 du séquenceur. Puis, il stocke les racines d'état (state root) dans l'état d'Ethereum et les données de bloc de deuxième couche en tant que calldata (stockage des données provenant d’appel externe aux fonctions) Ethereum.

Cela assure la disponibilité des données pour les blocs Scroll tout en tirant parti de la sécurité d'Ethereum pour garantir que les indexeurs, y compris le relais Scroll, peuvent reconstruire les blocs L2.

Une fois qu'une preuve de bloc établissant la validité d'un bloc L2 a été vérifiée par le contrat Rollup, le bloc correspondant est considéré comme finalisé sur Scroll.

Quant à eux, les contrats de bridge déployés sur Ethereum et Scroll permettent de faire le pont entre les deux couches pour des messages ou des actifs normés comme les jetons ERC20 dans les deux sens.

Conclusion

Dans l’ensemble, le projet Scroll propose des solutions alléchantes et novatrices pour l’avenir du réseau Ethereum.

Cependant, s'agissant d’un projet récent, toutes ses preuves sont encore à faire s'il veut pouvoir s’imposer comme un concurrent sérieux au projet tant attendu de StarkWare et sa solution StarkNet proposant une alternative similaire.

En attendant, il reste intéressant de garder un œil dessus et de suivre son évolution car, comme expliqués dans l’introduction de cet article, les rollups semblent être une solution séduisante pour les réseaux de première couche comme Ethereum, Tezos, Cardano ou Celestia.

Liens utiles

🌐 zkEVM

🐦 Twitter Scroll