Bien que la blockchain Ethereum soit la plus populaire, elle est aussi souvent la plus encombrée. En période de forte activité, les frais de transaction explosent au grand dam des utilisateurs. De nombreuses solutions se construisent donc pour faire face à ce problème. Parmi elles, les rollups et en particulier les zero-knowledge rollups se montrent prometteuses.
Qu’est-ce qu’un Zero-Knowledge Rollup ?
Les Zero-Knowledge Rollups sont des solutions de scalabilité. Ils se présentent sous forme de layers-2, c’est-à-dire de blockchains de seconde couche construites au-dessus d’une blockchain principale. Ils cherchent à améliorer le nombre de transactions par seconde que celle-ci peut supporter. ZkSync ou Starknet sont des exemples de réseaux de type zk-rollups.
Lire plus : Qu’est-ce qu’un layer 2 ?
Un rollup est un réseau construit sur une blockchain mère, le layer 1. Il a pour responsabilité d’exécuter les transactions passées par les utilisateurs, de les regrouper en lots et d’envoyer ces lots sur son layer 1. Celui-ci les valide définitivement.
Ainsi, un rollup permet de décharger sa blockchain mère en exécutant les transactions off-chain, c’est-à-dire en-dehors du réseau layer 1. Ce type de solution se montre particulièrement utile pour scaler Ethereum. Il existe deux types de rollups : les Optimistic Rollups et les Zero-Knowledge Rollups, ou ZK-Rollups sur lesquels nous allons nous concentrer dans cet article.
Comment fonctionne un ZK-Rollup ?
Les ZK-Rollups utilisent la technologie des preuves à divulgation nulle de connaissance (zero-knowledge proofs). Les zk-proofs sont des preuves mathématiques permettant de vérifier qu’une information est bien correcte, sans pour autant la révéler. Elles sont ici utilisées pour certifier la validité des transactions soumises par les utilisateurs.
Quel est le déroulement d’une transaction sur un zk-rollup ?
Supposons que Bob, Alice et John possèdent tous les trois des Ethereums sur leur rollup préféré. Bob souhaite envoyer 5 ETHs à Alice, Alice souhaite en envoyer 3 à John, et John envoie 4 ETHs à Bob.
· Les trois utilisateurs passent leurs transactions respectives sur le rollup, de la même manière qu’ils effectueraient des transactions sur n’importe quelle blockchain.
· L’opérateur, qui gère le réseau zk-rollup regroupe les transactions dans un lot et les compresse afin de réduire au strict minimum les données qu’elles contiennent.
· Il produit ensuite une proposition de transition d’état pour le rollup : un nouvel état de la blockchain et de ses comptes sur lequel Alice possède 5-3 = 2 ETHs de plus, John en possède 3-4 = 2 de moins, et Bob 4-5 = 1 de moins.
· L’opérateur élabore également une preuve mathématique certifiant que cette transition est valide, appelée validity proof. Il envoie par la suite le tout sur le réseau Ethereum.
· Enfin, un smart-contract situé sur la blockchain Ethereum vérifie la validity proof envoyée par l’opérateur. Si celle-ci est correcte, le smart-contract remplace l’état du réseau zk-rollup par le nouvel état. Ce nouvel état de la blockchain prend en compte les transactions effectuées par Alice, Bob et John.
Ainsi, en regroupant les transactions par lots et en les compressant, les Zero-Knowledge Rollups permettent de réduire les frais payés par les utilisateurs et d’améliorer la scalabilité du réseau. On estime qu’ils peuvent faire supporter à Ethereum de 1000 à 4000 transactions par seconde, contre 15 à 40 par défaut. De plus, puisque c’est au final un smart-contract présent sur Ethereum qui vérifie la validity proof soumise par le rollup, celui-ci n’a pas à se soucier de sa sécurité et s’appuie entièrement sur celle de son layer 1. Cette solution se veut donc à la fois scalable et sûre.
Quels sont les défauts des Zero-Knowledge Rollups ?
Comme nous l’avons vu, les ZK-Rollups permettent d’améliorer la capacité de traitement des transactions d’Ethereum de façon sécurisée. Ils s’appuient sur une preuve mathématique pour valider celles-ci, éliminant le besoin de faire confiance aux parties prenantes du réseau. Cela leur confère un avantage indéniable face aux Optimistic Rollups, mais ils ne sont pas exempts d’inconvénients :
· Le calcul des validity proofs nécessite une puissance de calcul conséquente, augmentant ainsi les frais payés par les utilisateurs.
· Les zk-proofs sont souvent produites par un ou quelques acteurs, ce qui augmente le risque de censure du réseau s’ils venaient à se comporter de façon malicieuse.
Ainsi, les Zero-Knowledge Rollups constituent une solution de référence pour le passage à l’échelle de la blockchain Ethereum. Si ce type de réseau ne se développe que dépuis récemment, ses avantages sont indéniables. A l’avenir, ils pourraient bien devenir un élément essentiel de l’écosystème Blockchain dans son entièreté.