fraude preuve et ZK Fraud Proof : principes de mise en œuvre des technologies de sécurité modernes de Blockchain
La preuve de fraude est une solution technique largement utilisée dans le domaine de la Blockchain, qui provient à l'origine de la communauté Ethereum et a été adoptée par des Layer2 Ethereum connus comme Arbitrum et Optimism. Après l'émergence de l'écosystème Bitcoin en 2023, Robin Linus a proposé le schéma BitVM, dont la pensée centrale est la preuve de fraude, fournissant un nouveau modèle de sécurité pour le Layer 2 de Bitcoin ou les ponts, basé sur des technologies existantes telles que Taproot.
BitVM a connu l'évolution de plusieurs versions théoriques, depuis la version précoce BitVM0 jusqu'à la version ultérieure BitVM2, le chemin de mise en œuvre technologique associé mûrissant constamment, attirant une large attention dans l'industrie. Plusieurs projets tels que Bitlayer, Citrea, BOB, etc. ont tous utilisé BitVM comme base technique pour réaliser différentes versions.
Cet article prendra comme exemple le schéma de preuve de fraude d'Optimism, en analysant sa solution basée sur la machine virtuelle MIPS et la preuve de fraude interactive, ainsi que les principales idées de la preuve de fraude ZK.
OutputRoot et StateRoot
Optimism est un projet bien connu de Rollup Optimiste, dont l'infrastructure est composée de séquenceurs et de contrats intelligents sur la chaîne Ethereum. Après que le séquenceur a traité les données de transaction, ces données sont envoyées sur Ethereum. Les utilisateurs exécutant le client de nœud Optimism peuvent télécharger ces données, exécuter les transactions localement et calculer le hash de l'état actuel.
Si le séquenceur télécharge un hash d'ensemble d'état incorrect, les résultats calculés localement seront différents. À ce moment, une contestation peut être initiée via le système de preuve de fraude. Les blockchains de type EVM utilisent généralement une structure de données de Merkle Tree pour enregistrer l'ensemble d'état, appelée World State Trie. Après l'exécution de la transaction, le World State Trie changera et son hash final sera également mis à jour. Ethereum appelle ce hash StateRoot, utilisé pour représenter les changements de l'ensemble d'état.
Le système de comptes d'Optimism est similaire à celui d'Ethereum et utilise également le champ StateRoot pour refléter les changements dans l'ensemble des états. Le séquenceur téléchargera régulièrement l'OutputRoot sur Ethereum, qui est calculé à partir de StateRoot et de deux autres champs.
Machine virtuelle MIPS et arbre de Merkle en mémoire
Pour vérifier la validité de OutputRoot sur la chaîne, la méthode la plus simple consiste à mettre en œuvre un client de nœud OP sur Ethereum, mais cela pose deux problèmes :
Les contrats intelligents ne peuvent pas obtenir automatiquement les paramètres d'entrée nécessaires pour la preuve de fraude.
La limite de Gas d'Ethereum ne prend pas en charge les tâches de calcul complexes
Le premier problème peut être résolu en déployant le contrat PreimageOracle. Pour le deuxième problème, l'équipe OP a écrit une machine virtuelle MIPS en Solidity, réalisant une partie des fonctionnalités du client de nœud.
En raison de l'incapacité d'exécuter toutes les transactions de manière complète sur la Blockchain, OP a conçu un système interactif de fraude proof, qui précise le processus de traitement des transactions en un traitement ordonné des codes d'opération MIPS. Après l'exécution de chaque code d'opération, le hash de l'état de la machine virtuelle change, et ces enregistrements sont résumés en un arbre Merkle.
Dans le processus de preuve de fraude, il est nécessaire de déterminer quel code d'opération MIPS a causé un problème avec le hash de l'état de la machine virtuelle, puis de reproduire l'état à ce moment-là sur la blockchain, d'exécuter le code d'opération et de comparer les résultats. Cela nécessite de télécharger certaines informations d'état de la machine virtuelle MIPS sur la blockchain.
Preuve de fraude interactive
L'équipe OP a développé le protocole Fault Dispute Game(FDG), qui comprend deux rôles : le challenger et le défenseur. Les participants doivent construire localement un GameTree, composé de deux niveaux d'arbres Merkle. Les nœuds feuilles de la première couche de l'arbre sont les OutputRoot de différents Blocs, et les feuilles de la deuxième couche sont les hash d'état de la machine virtuelle MIPS.
Les deux parties ont interagi plusieurs fois sur la Blockchain, aboutissant finalement à la localisation du code d'opération MIPS contesté. Le mécanisme central de la preuve de fraude interactive comprend :
Les codes d'opération MIPS et les informations d'état de la VM nécessaires pour le positionnement FDG doivent être exécutés sur la Blockchain.
Exécuter ce code d'opération dans la machine virtuelle MIPS sur la chaîne Ethereum, obtenir le résultat final.
Preuve de fraude ZK
L'interaction complexe des preuves de fraude traditionnelles présente les problèmes suivants :
Les interactions multiples génèrent d'importants coûts en gas
Le processus d'interaction est long, pendant lequel le Rollup ne peut pas exécuter les transactions correctement.
La difficulté de développement des instructions de reproduction spécifiques à la VM sur la Blockchain est élevée.
Pour résoudre ces problèmes, Optimism a proposé le concept de ZK Fraud Proof. L'idée principale est que lorsqu'un défi se produit, le séquenceur de Rollup fournit une preuve ZK de la transaction contestée, qui est vérifiée par un contrat intelligent Ethereum. Si la vérification est réussie, cela indique que le traitement de la transaction est correct.
Comparé à la preuve de fraude interactive, la preuve de fraude ZK simplifie plusieurs interactions en une seule génération et vérification de preuve ZK, économisant du temps et des coûts. Par rapport à ZK Rollup, l'OP Rollup basé sur la preuve de fraude ZK ne génère des preuves ZK que lorsqu'il est contesté, réduisant ainsi les coûts de calcul.
Cette idée a également été adoptée par BitVM2. Des projets utilisant BitVM2, comme Bitlayer et Goat Network, réalisent des programmes de vérification ZK Proof via des scripts Bitcoin, réduisant considérablement l'échelle des programmes devant être enregistrés sur la Blockchain.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Fraud Proof et ZK Fraud Proof : Analyse des principes de mise en œuvre des technologies de sécurité modernes de la Blockchain
fraude preuve et ZK Fraud Proof : principes de mise en œuvre des technologies de sécurité modernes de Blockchain
La preuve de fraude est une solution technique largement utilisée dans le domaine de la Blockchain, qui provient à l'origine de la communauté Ethereum et a été adoptée par des Layer2 Ethereum connus comme Arbitrum et Optimism. Après l'émergence de l'écosystème Bitcoin en 2023, Robin Linus a proposé le schéma BitVM, dont la pensée centrale est la preuve de fraude, fournissant un nouveau modèle de sécurité pour le Layer 2 de Bitcoin ou les ponts, basé sur des technologies existantes telles que Taproot.
BitVM a connu l'évolution de plusieurs versions théoriques, depuis la version précoce BitVM0 jusqu'à la version ultérieure BitVM2, le chemin de mise en œuvre technologique associé mûrissant constamment, attirant une large attention dans l'industrie. Plusieurs projets tels que Bitlayer, Citrea, BOB, etc. ont tous utilisé BitVM comme base technique pour réaliser différentes versions.
Cet article prendra comme exemple le schéma de preuve de fraude d'Optimism, en analysant sa solution basée sur la machine virtuelle MIPS et la preuve de fraude interactive, ainsi que les principales idées de la preuve de fraude ZK.
OutputRoot et StateRoot
Optimism est un projet bien connu de Rollup Optimiste, dont l'infrastructure est composée de séquenceurs et de contrats intelligents sur la chaîne Ethereum. Après que le séquenceur a traité les données de transaction, ces données sont envoyées sur Ethereum. Les utilisateurs exécutant le client de nœud Optimism peuvent télécharger ces données, exécuter les transactions localement et calculer le hash de l'état actuel.
Si le séquenceur télécharge un hash d'ensemble d'état incorrect, les résultats calculés localement seront différents. À ce moment, une contestation peut être initiée via le système de preuve de fraude. Les blockchains de type EVM utilisent généralement une structure de données de Merkle Tree pour enregistrer l'ensemble d'état, appelée World State Trie. Après l'exécution de la transaction, le World State Trie changera et son hash final sera également mis à jour. Ethereum appelle ce hash StateRoot, utilisé pour représenter les changements de l'ensemble d'état.
Le système de comptes d'Optimism est similaire à celui d'Ethereum et utilise également le champ StateRoot pour refléter les changements dans l'ensemble des états. Le séquenceur téléchargera régulièrement l'OutputRoot sur Ethereum, qui est calculé à partir de StateRoot et de deux autres champs.
Machine virtuelle MIPS et arbre de Merkle en mémoire
Pour vérifier la validité de OutputRoot sur la chaîne, la méthode la plus simple consiste à mettre en œuvre un client de nœud OP sur Ethereum, mais cela pose deux problèmes :
Le premier problème peut être résolu en déployant le contrat PreimageOracle. Pour le deuxième problème, l'équipe OP a écrit une machine virtuelle MIPS en Solidity, réalisant une partie des fonctionnalités du client de nœud.
En raison de l'incapacité d'exécuter toutes les transactions de manière complète sur la Blockchain, OP a conçu un système interactif de fraude proof, qui précise le processus de traitement des transactions en un traitement ordonné des codes d'opération MIPS. Après l'exécution de chaque code d'opération, le hash de l'état de la machine virtuelle change, et ces enregistrements sont résumés en un arbre Merkle.
Dans le processus de preuve de fraude, il est nécessaire de déterminer quel code d'opération MIPS a causé un problème avec le hash de l'état de la machine virtuelle, puis de reproduire l'état à ce moment-là sur la blockchain, d'exécuter le code d'opération et de comparer les résultats. Cela nécessite de télécharger certaines informations d'état de la machine virtuelle MIPS sur la blockchain.
Preuve de fraude interactive
L'équipe OP a développé le protocole Fault Dispute Game(FDG), qui comprend deux rôles : le challenger et le défenseur. Les participants doivent construire localement un GameTree, composé de deux niveaux d'arbres Merkle. Les nœuds feuilles de la première couche de l'arbre sont les OutputRoot de différents Blocs, et les feuilles de la deuxième couche sont les hash d'état de la machine virtuelle MIPS.
Les deux parties ont interagi plusieurs fois sur la Blockchain, aboutissant finalement à la localisation du code d'opération MIPS contesté. Le mécanisme central de la preuve de fraude interactive comprend :
Preuve de fraude ZK
L'interaction complexe des preuves de fraude traditionnelles présente les problèmes suivants :
Pour résoudre ces problèmes, Optimism a proposé le concept de ZK Fraud Proof. L'idée principale est que lorsqu'un défi se produit, le séquenceur de Rollup fournit une preuve ZK de la transaction contestée, qui est vérifiée par un contrat intelligent Ethereum. Si la vérification est réussie, cela indique que le traitement de la transaction est correct.
Comparé à la preuve de fraude interactive, la preuve de fraude ZK simplifie plusieurs interactions en une seule génération et vérification de preuve ZK, économisant du temps et des coûts. Par rapport à ZK Rollup, l'OP Rollup basé sur la preuve de fraude ZK ne génère des preuves ZK que lorsqu'il est contesté, réduisant ainsi les coûts de calcul.
Cette idée a également été adoptée par BitVM2. Des projets utilisant BitVM2, comme Bitlayer et Goat Network, réalisent des programmes de vérification ZK Proof via des scripts Bitcoin, réduisant considérablement l'échelle des programmes devant être enregistrés sur la Blockchain.