Fraud proof et principe de mise en œuvre de ZK Fraud Proof
La preuve de fraude est une solution technique largement utilisée dans le domaine de la blockchain, originaire de la communauté Ethereum, adoptée par des Layer2 comme Arbitrum et Optimism. Après l'émergence de l'écosystème Bitcoin en 2023, Robin Linus a proposé le schéma BitVM, dont l'idée centrale est la preuve de fraude, offrant un nouveau modèle de sécurité pour le second niveau de Bitcoin ou les ponts.
BitVM a connu plusieurs évolutions de version, passant de la solution de circuits logiques à la solution ZK Fraud Proof et au circuit de vérification Groth16, avec des chemins technologiques connexes qui continuent de mûrir. Actuellement, plusieurs projets sur le marché ont réalisé différentes implémentations en se basant sur la technologie BitVM.
Cet article prendra l'exemple du schéma de preuve de fraude d'Optimism pour analyser sa mise en œuvre 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
L'infrastructure d'Optimism est composée d'un séquenceur et de contrats intelligents sur la chaîne Ethereum. Après avoir traité les transactions, le séquenceur envoie les données à Ethereum. Tout le monde peut exécuter un nœud Optimism, télécharger les données téléchargées par le séquenceur et exécuter les transactions localement, calculant ainsi le hash de l'état actuel.
Si le séquenceur télécharge un hachage d'ensemble d'état incorrect, les résultats de calcul local peuvent différer, et à ce moment-là, une contestation de preuve de fraude peut être initiée. Le système prendra des mesures appropriées à l'encontre du séquenceur en fonction du résultat du jugement.
Optimism utilise un champ StateRoot similaire à celui d'Ethereum pour représenter les changements dans l'ensemble d'états. Le séquenceur télécharge régulièrement l'OutputRoot vers Ethereum, l'OutputRoot étant calculé à partir de StateRoot et d'autres champs.
Machine virtuelle MIPS et arbre Merkle en mémoire
Pour vérifier la validité de OutputRoot sur la chaîne, l'équipe d'Optimism a implémenté une machine virtuelle MIPS en Solidity, capable d'exécuter certaines fonctionnalités des nœuds OP. Cependant, en raison des limites de Gas d'Ethereum, il n'est pas possible d'exécuter toutes les transactions en entier sur la chaîne.
Pour résoudre ce problème, Optimism a conçu un système de preuve de fraude interactive, qui décompose le processus de traitement des transactions en une série d'opcodes MIPS. En observant quel opcode a échoué lors de l'exécution, il est possible de déterminer si OutputRoot est invalide.
Dans la mise en œuvre spécifique, les informations d'état de la machine virtuelle MIPS sont organisées en arbre de Merkle. Les contrats liés à la fraude sont exécutés par la fonction Step pour traiter une instruction MIPS et sont comparés aux résultats soumis par le séquenceur.
Les données de mémoire de la machine virtuelle MIPS sont également organisées en un arbre de Merkle de 28 niveaux, memRoot étant le hachage racine de cet arbre. Lors de l'exécution des instructions, il est nécessaire de fournir une partie des données de mémoire ainsi qu'une preuve de Merkle.
Preuve de fraude interactive
L'équipe d'Optimism a développé le protocole Fault Dispute Game(FDG) pour localiser les codes d'opération MIPS contestés. Les participants doivent construire localement un GameTree, comprenant deux niveaux :
Le nœud feuille de premier niveau est l'OutputRoot des différents blocs.
Le nœud feuille de deuxième niveau est le hash d'état de la machine virtuelle MIPS
Les deux parties ont interagi plusieurs fois sur la chaîne, jusqu'à ce qu'elles localisent l'opcode MIPS contesté et l'état de la VM au moment de son exécution.
Preuve de fraude ZK
Les preuves de fraude traditionnelles présentent des problèmes tels que la complexité des interactions, des coûts de gaz élevés et des pauses dans les Rollups. Pour cela, Optimism a proposé le concept de ZK Fraud Proof :
Le challenger désigne la transaction à rejouer
Le séquenceur de Rollup génère la preuve ZK de cette transaction.
Vérification des preuves ZK par des contrats intelligents Ethereum
Comparé aux solutions interactives, la preuve de fraude ZK simplifie plusieurs interactions en une seule génération et vérification de preuve ZK, ce qui permet d'économiser considérablement du temps et des coûts. Par rapport aux ZK Rollups, la preuve n'est générée que lorsqu'elle est contestée, réduisant ainsi la charge de calcul.
Cette approche ZK est également adoptée par BitVM2. Les projets utilisant BitVM2 réalisent la vérification ZK Proof via les scripts Bitcoin et ont considérablement simplifié le programme de mise en chaîne.
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.
12 J'aime
Récompense
12
2
Partager
Commentaire
0/400
FudVaccinator
· 07-15 02:45
C'est très ingénieux d'un point de vue technique, mais pour L2, il suffit de regarder l'op.
Voir l'originalRépondre0
Layer2Observer
· 07-14 03:10
La machine virtuelle MIPS est pas mal, mais les coûts sont trop élevés.
Analyse approfondie : l'évolution de la preuve de fraude et le principe de mise en œuvre de la preuve de fraude ZK
Fraud proof et principe de mise en œuvre de ZK Fraud Proof
La preuve de fraude est une solution technique largement utilisée dans le domaine de la blockchain, originaire de la communauté Ethereum, adoptée par des Layer2 comme Arbitrum et Optimism. Après l'émergence de l'écosystème Bitcoin en 2023, Robin Linus a proposé le schéma BitVM, dont l'idée centrale est la preuve de fraude, offrant un nouveau modèle de sécurité pour le second niveau de Bitcoin ou les ponts.
BitVM a connu plusieurs évolutions de version, passant de la solution de circuits logiques à la solution ZK Fraud Proof et au circuit de vérification Groth16, avec des chemins technologiques connexes qui continuent de mûrir. Actuellement, plusieurs projets sur le marché ont réalisé différentes implémentations en se basant sur la technologie BitVM.
Cet article prendra l'exemple du schéma de preuve de fraude d'Optimism pour analyser sa mise en œuvre 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
L'infrastructure d'Optimism est composée d'un séquenceur et de contrats intelligents sur la chaîne Ethereum. Après avoir traité les transactions, le séquenceur envoie les données à Ethereum. Tout le monde peut exécuter un nœud Optimism, télécharger les données téléchargées par le séquenceur et exécuter les transactions localement, calculant ainsi le hash de l'état actuel.
Si le séquenceur télécharge un hachage d'ensemble d'état incorrect, les résultats de calcul local peuvent différer, et à ce moment-là, une contestation de preuve de fraude peut être initiée. Le système prendra des mesures appropriées à l'encontre du séquenceur en fonction du résultat du jugement.
Optimism utilise un champ StateRoot similaire à celui d'Ethereum pour représenter les changements dans l'ensemble d'états. Le séquenceur télécharge régulièrement l'OutputRoot vers Ethereum, l'OutputRoot étant calculé à partir de StateRoot et d'autres champs.
Machine virtuelle MIPS et arbre Merkle en mémoire
Pour vérifier la validité de OutputRoot sur la chaîne, l'équipe d'Optimism a implémenté une machine virtuelle MIPS en Solidity, capable d'exécuter certaines fonctionnalités des nœuds OP. Cependant, en raison des limites de Gas d'Ethereum, il n'est pas possible d'exécuter toutes les transactions en entier sur la chaîne.
Pour résoudre ce problème, Optimism a conçu un système de preuve de fraude interactive, qui décompose le processus de traitement des transactions en une série d'opcodes MIPS. En observant quel opcode a échoué lors de l'exécution, il est possible de déterminer si OutputRoot est invalide.
Dans la mise en œuvre spécifique, les informations d'état de la machine virtuelle MIPS sont organisées en arbre de Merkle. Les contrats liés à la fraude sont exécutés par la fonction Step pour traiter une instruction MIPS et sont comparés aux résultats soumis par le séquenceur.
Les données de mémoire de la machine virtuelle MIPS sont également organisées en un arbre de Merkle de 28 niveaux, memRoot étant le hachage racine de cet arbre. Lors de l'exécution des instructions, il est nécessaire de fournir une partie des données de mémoire ainsi qu'une preuve de Merkle.
Preuve de fraude interactive
L'équipe d'Optimism a développé le protocole Fault Dispute Game(FDG) pour localiser les codes d'opération MIPS contestés. Les participants doivent construire localement un GameTree, comprenant deux niveaux :
Les deux parties ont interagi plusieurs fois sur la chaîne, jusqu'à ce qu'elles localisent l'opcode MIPS contesté et l'état de la VM au moment de son exécution.
Preuve de fraude ZK
Les preuves de fraude traditionnelles présentent des problèmes tels que la complexité des interactions, des coûts de gaz élevés et des pauses dans les Rollups. Pour cela, Optimism a proposé le concept de ZK Fraud Proof :
Comparé aux solutions interactives, la preuve de fraude ZK simplifie plusieurs interactions en une seule génération et vérification de preuve ZK, ce qui permet d'économiser considérablement du temps et des coûts. Par rapport aux ZK Rollups, la preuve n'est générée que lorsqu'elle est contestée, réduisant ainsi la charge de calcul.
Cette approche ZK est également adoptée par BitVM2. Les projets utilisant BitVM2 réalisent la vérification ZK Proof via les scripts Bitcoin et ont considérablement simplifié le programme de mise en chaîne.