Texte original en anglais : https://www.nervos.org/zh/knowledge-base/zk_rollup_vs_optimistic_rollup
Le Rollup est une solution d'extension de blockchain puissante qui est devenue très populaire au cours des deux dernières années. Il existe deux types de Rollup, ZK Rollup et Optimistic Rollup, qui ont le même objectif mais des fonctionnalités différentes.
Les transactions dans l'Optimistic Rollup sont automatiquement présumées valides jusqu'à preuve du contraire, tandis que le ZK Rollup utilise des preuves à divulgation nulle de connaissance (qui seront expliquées ci-dessous) pour prouver la validité des transactions. Ces deux types de Rollup ont leurs propres avantages et inconvénients, qui seront détaillés ci-dessous.
Pourquoi le Rollup est-il nécessaire ?
Le parcours de l'industrie de la blockchain au cours des dernières années montre qu'il est presque impossible d'évoluer une blockchain globale avec exécution des transactions, consensus et disponibilité des données sans compromettre la sécurité et la décentralisation.
Pour cette raison, de nombreuses blockchains Layer 1 ont récemment commencé à utiliser différentes solutions Rollup pour atténuer les exigences de débit en déplaçant l'exécution des transactions vers Layer 2. Ainsi, la plupart des transactions peuvent être traitées sur une couche distincte, puis réglées par lots en une seule transaction sur le Layer 1 sous-jacent.
En termes simples, le Rollup est un réseau d'exécution de transaction indépendant et à haut débit construit au-dessus de la blockchain Layer 1, empruntant la sécurité de celle-ci. Le Rollup permet à la blockchain de s'étendre à des dizaines de milliers de transactions par seconde sans compromettre la sécurité et la décentralisation. Le Rollup offre une expérience utilisateur exceptionnelle en réduisant considérablement les coûts de transaction et en augmentant le temps de règlement. En revanche, selon l'état actuel de la congestion du réseau, les transactions sur Ethereum peuvent coûter à l'utilisateur quelques dollars à plusieurs centaines de dollars. D'autre part, les frais de transaction sur les Rollups basés sur Ethereum varient de 0,01 à 0,1 dollar.
* Avant de continuer, veuillez également consulter l'explication de Layer 1 vs. Layer 2 pour bien comprendre les termes utilisés ici.
Différences entre ZK Rollup et Optimistic Rollup
La principale différence entre les deux types de Rollup réside dans la manière dont ils vérifient les preuves.
L'Optimistic Rollup est qualifié d'« Optimistic » car il suppose que toutes les transactions de niveau 2 sont valides, sauf preuve du contraire. D'autre part, le ZK Rollup utilise une cryptographie complexe appelée preuve à connaissance nulle pour prouver la validité des transactions sans trop de détails sur celles-ci.
Une autre différence entre ces deux technologies est la quantité de données qu'elles publient sur leur chaîne de base sous-jacente. Étant donné que le ZK Rollup dispose d'un mécanisme de vérification des transactions avant de publier sur la chaîne de base, il n'a pas besoin de transférer autant de données à Layer 1 que son homologue Optimistic. En d'autres termes, le ZK Rollup ne publie que des preuves de validité pour régler les transactions finales sur la chaîne de base, tandis que l'Optimistic Rollup publie l'ensemble des données de transaction.
Données relayées vers Layer 1 via ZK Rollup (gauche) et Optimistic Rollup (droite)
Pour les utilisateurs, la principale différence entre les deux types de Rollup réside dans le temps de retrait. En d'autres termes, comme l'Optimistic Rollup dépend des validateurs pour vérifier chaque transaction, s'ils estiment qu'une transaction est invalide, ils peuvent la contester, ce qui signifie que le temps de retrait des actifs peut durer de quelques jours à deux semaines. Bien que la période de contestation pour diverses mises en œuvre d'Optimistic Rollup puisse varier, cela reste nécessaire, ce qui signifie que les utilisateurs doivent toujours attendre plusieurs jours pour retirer des fonds sur la chaîne sous-jacente.
Cette période de contestation est nécessaire pour permettre aux validateurs d'avoir suffisamment de temps pour contester toute transaction suspecte par ce que l'on appelle une preuve de fraude. Une preuve de fraude est une déclaration d'invalidité d'une transition d'état (c'est-à-dire d'une transaction), ce qui nécessite de rétablir l'ensemble du lot. Les validateurs peuvent prouver qu'une transaction est invalide car ils possèdent toutes les données des transactions sur Layer 2, y compris une copie de l'état actuel du Rollup. Ils calculent également la racine d'état après du Rollup.
Si aucune preuve de fraude n'est déclarée par un validateur, ce lot de transactions sera automatiquement réglé sur Layer 1 à la fin de la période de contestation. Une fois tout cela terminé, les actifs d'origine sur Layer 1 seront débloqués, tandis que le même exemplaire sur Layer 2 sera détruit.
En ce qui concerne le ZK Rollup, le retrait d'actifs vers la chaîne de base peut être instantané, car les transactions ont déjà été vérifiées. Comme mentionné précédemment, le ZK Rollup prouve la validité des transactions par le biais de preuves à connaissance nulle, qui est un mécanisme cryptographique permettant à une partie (le prouveur) de prouver quelque chose à une autre partie (le vérificateur) sans partager d'informations sensibles concernant le sujet en question. Les preuves à connaissance nulle peuvent prendre deux formes, STARKS (preuves de connaissance succinctes et transparentes) et SNARKS (preuves de connaissance succinctes et non interactives), chacune ayant ses propres avantages et inconvénients.
Optimistic vs ZK Rollup : structure et mécanismes
Le ZK Rollup et l'Optimistic Rollup ont deux racines, une racine d'état avant et une racine d'état après.
La racine de l'état avant montre l'état du Rollup avant l'exécution des transactions. D'autre part, la racine de l'état après montre l'état du Rollup après l'exécution des transactions.
Ces deux Rollups utilisent également plusieurs contrats intelligents. Le ZK Rollup utilise deux contrats intelligents, un contrat principal et un contrat de validateur. Le contrat principal stocke les blocs Rollup et suit les dépôts et retraits d'actifs. Pendant ce temps, le contrat de validateur vérifie les preuves à connaissance nulle publiées sur Layer 1.
D'autre part, l'Optimistic Rollup utilise des contrats intelligents de pont déployés sur le Rollup et sur le Layer 1 sous-jacent. Pour chaque actif verrouillé dans un contrat intelligent de pont Layer 1, le même actif est minté sur le Rollup.
Le ZK Rollup et l'Optimistic Rollup ont tous deux un opérateur appelé séquenceur, dont le travail est de faciliter les transactions, de générer des blocs Rollup, d'ajouter des transactions aux contrats et de soumettre des données à la Layer 1 sous-jacente. La tâche efficace du séquenceur est de relier les réseaux Layer 1 et Layer 2. Lorsque les utilisateurs migrent des actifs de la chaîne de base vers la chaîne Rollup, et vice-versa, le séquenceur relaye les transactions.
Lorsque le séquenceur soumet des données de transaction, il propose également automatiquement une nouvelle racine d'état après au contrat intelligent Rollup. Le Rollup doit s'assurer que la racine d'état actuelle est équivalente à la racine d'état avant. Une fois validée, la racine d'état après proposée par le séquenceur devient la nouvelle racine d'état avant.
Avantages et inconvénients
Le principal avantage de l'Optimistic Rollup est sa complexité et ses coûts de transaction relativement bas, ce qui est au prix d'une période de contestation ou d'un temps de retrait plus long. D'autre part, le ZK Rollup est beaucoup plus complexe en dessous, mais présente des avantages considérables en termes de vitesse, de sécurité et de confidentialité.
Quel type de Rollup utilise Nervos ?
Nervos utilise une solution Optimistic Rollup personnalisée dans son premier Layer 2 Godwoken. La période de contestation de Godwoken dure environ sept jours, plus courte que la plupart des solutions Rollup sur Ethereum, mais suffisamment longue pour garantir une sécurité adéquate.
Godwoken est un réseau Layer 2 à haut débit, axé sur GameFi, construit au-dessus de Nervos, une Layer 1 CKB reposant sur la preuve de travail hautement sécurisée. Il est entièrement compatible avec l'EVM, ce qui signifie que les développeurs peuvent relativement facilement porter leurs applications décentralisées d'Ethereum avec seulement de petites modifications.
Résumé
La question de ZK Rollup vs. Optimistic Rollup reste un sujet de débat, chaque méthode ayant ses propres avantages et inconvénients. Actuellement, en raison de son rapport coût-efficacité plus élevé, l'Optimistic Rollup est plus favorisé que le ZK Rollup. Cependant, avec le développement rapide de ces deux types de Rollup, il n'y a pas encore de gagnant évident. Le ZK Rollup pourrait finalement gagner en notoriété et en utilité, ce qui en ferait un choix populaire à l'avenir, ce qui reste raisonnable.
