Une interprétation simplifiée de BitVM : comment vérifier les preuves de fraude sur la blockchain BTC

2/23/2024, 7:49:16 AM
Intermédiaire
Bitcoin
Cet article interprète le livre blanc de BitVM et présente le concept de BitVM : les données n'ont pas besoin d'être intégrées à la chaîne au départ ; elles sont publiées et stockées hors chaîne, seul un engagement étant stocké sur la blockchain.

À ; DR

Introduction :

Cet article propose une interprétation du livre blanc de BitVM et explique l'approche de BitVM : les données n'ont pas besoin d'être intégrées à la chaîne au départ ; elles sont publiées et stockées hors chaîne, seul un engagement étant stocké sur la blockchain.

Titre original de l'article transféré : Une interprétation simplifiée de BitVM : comment vérifier les preuves de fraude sur la blockchain BTC (exécution d'EVM ou d'autres opcodes de machine virtuelle)

Préface : Actuellement, Bitcoin Layer 2 est devenu une tendance, des dizaines de projets s'identifiant comme « Bitcoin Layer 2 ». Beaucoup d'entre eux, prétendant être des « rollups », affirment qu'ils utilisent l'approche proposée dans le livre blanc BitVM, positionnant BitVM comme un élément important de l'écosystème Bitcoin.

Cependant, la plupart de la littérature existante sur BitVM n'explique pas ses principes en termes simples. Cet article, basé sur notre lecture du livre blanc de 8 pages sur BitVM et après avoir consulté des ressources relatives à Taproot, MAST trees et Bitcoin Script, propose un résumé simplifié. Pour faciliter la compréhension, nous avons modifié certaines expressions par rapport à celles que l'on trouve dans le livre blanc de BitVM, en supposant que le lecteur possède une certaine connaissance de la couche 2 et qu'il comprend le concept de base des « preuves antifraude ».

Le concept préliminaire de BitVM peut être résumé en quelques phrases : il élimine le besoin de données sur la chaîne, en publiant et en stockant initialement des données hors chaîne, seul un engagement étant stocké sur la blockchain. En cas de contestation ou de preuve de fraude, seules les données nécessaires sont intégrées à la chaîne pour démontrer leur association avec l'Engagement sur la blockchain. Ensuite, le réseau principal BTC vérifie les données de la chaîne pour détecter tout problème et vérifier si le producteur des données (le nœud qui traite les transactions) s'est livré à des activités malveillantes. Cette approche est conforme au principe d'Occam's Razor : « Les entités ne doivent pas être multipliées inutilement » (si cela peut être hors chaîne, gardez-le hors chaîne).

Texte principal : Le système de vérification antifraude de la blockchain BTC, basé sur BitVM, en termes simples :

1. Tout d'abord, un ordinateur/processeur est un système d'entrée-sortie composé d'un grand nombre de circuits de portes logiques. L'une des idées fondamentales de BitVM est d'utiliser Bitcoin Script pour simuler les effets d'entrée-sortie des circuits de portes logiques. Tant que les circuits de la porte logique peuvent être simulés, en théorie, il est possible de créer une machine de Turing qui effectuerait toutes les tâches calculables. Cela signifie que si vous disposez de suffisamment de ressources et de main-d'œuvre, vous pouvez réunir une équipe d'ingénieurs pour simuler d'abord les circuits des portes logiques à l'aide du code rudimentaire Bitcoin Script, puis utiliser un grand nombre de circuits de portes logiques pour implémenter les fonctionnalités d'EVM ou de WASM.

(Cette capture d'écran provient d'un jeu éducatif : « Turing Complete », dont le contenu principal est de créer un processeur complet, en utilisant notamment des circuits de portes logiques tels que des portes NAND.)

Certains ont comparé l'approche de BitVM qui consiste à créer un processeur M1 dans « Minecraft » à l'aide de circuits Redstone. Ou c'est comme construire l'Empire State Building à New York avec des blocs LEGO.

(On dit que quelqu'un a passé un an à créer un « processeur » dans « Minecraft ».)

  1. Alors, pourquoi utiliser Bitcoin Script pour simuler l'EVM ou le WASM ? N'est-ce pas très encombrant ? La raison en est que la plupart des solutions Bitcoin Layer 2 choisissent souvent de prendre en charge des langages de haut niveau tels que Solidity ou Move, alors que le seul langage qui peut actuellement fonctionner directement sur la blockchain Bitcoin est Bitcoin Script. Ce langage est primitif, composé d'un tas d'opcodes uniques, et Turing n'est pas complet.

(Un exemple de code Bitcoin Script)

Si Bitcoin Layer 2 vise à vérifier les preuves de fraude sur la couche 1, comme les solutions de couche 2 d'Ethereum telles qu'Arbitrum, pour mieux hériter de la sécurité de BTC, elle doit vérifier directement « une transaction contestée » ou « un opcode contesté » sur la blockchain BTC. Cela signifie que les opcodes Solidity Language/EVM utilisés par la couche 2 doivent être réexécutés sur la blockchain Bitcoin. Le défi se résume à :

Utiliser Bitcoin Script, un langage de programmation natif mais rudimentaire de Bitcoin, pour obtenir les effets d'EVM ou d'autres machines virtuelles.

Du point de vue des principes de compilation, l'approche BitVM traduit les opcodes EVM/WASM/JavaScript en opcodes Bitcoin Script, les circuits de portes logiques servant de représentation intermédiaire (IR) entre les « opcodes EVM — > Bitcoin Script opcodes ».


(Le livre blanc BitVM décrit l'approche générale à suivre pour exécuter certaines « instructions contestées » sur la blockchain Bitcoin)

Quoi qu'il en soit, l'effet ultime simulé est de traiter des instructions, qui ne pouvaient à l'origine être gérées que sur EVM/WASM, directement sur la blockchain Bitcoin. Bien que cette solution soit faisable, la difficulté réside dans la manière d'utiliser un grand nombre de circuits de portes logiques comme forme intermédiaire pour exprimer tous les opcodes EVM/WASM. De plus, l'utilisation de combinaisons de circuits de portes logiques pour représenter directement des flux de traitement de transactions extrêmement complexes peut entraîner une charge de travail énorme.

  1. Discutons d'un autre concept de base mentionné dans le livre blanc de BitVM, à savoir les « preuves de fraude interactives » très similaires à celles utilisées par Arbitrum.

Les preuves de fraude interactives utilisent un terme appelé assertion. Généralement, le proposant de la couche 2 (souvent interprété par un séquenceur) publie une assertion sur la couche 1, déclarant que certaines données de transaction et certains résultats de transition d'état sont valides et exempts d'erreurs.

Si quelqu'un pense que l'assertion soumise par le proposant pose problème (les données associées sont incorrectes), un litige survient. À ce stade, le proposant et le challenger échangent des informations par tours et utilisent une méthode de recherche binaire sur les données contestées afin de localiser rapidement une instruction d'opération très précise et le segment de données associé.

Pour cette instruction d'opération contestée (code OP), il faut l'exécuter directement sur la couche 1 avec ses paramètres d'entrée et valider le résultat de sortie (les nœuds de couche 1 comparent le résultat de sortie qu'ils ont calculé avec le résultat de sortie publié précédemment par le proposant). Dans Arbitrum, cela est connu sous le nom de « preuves de fraude en une seule étape ». (Dans le protocole interactif anti-fraude d'Arbitrum, la recherche binaire est utilisée pour localiser rapidement l'instruction contestée et le résultat de son exécution, puis une preuve de fraude en une seule étape est envoyée à la couche 1 pour vérification finale).

À la suite de cela :

  1. Le processus est interactif, les deux parties se relaient. L'une des parties segmente les données historiques contenues dans un bloc cumulatif, et l'autre indique quel segment de données pose problème. Cela s'apparente à une méthode binaire (en réalité, il s'agit d'un processus de réduction progressive de la plage, N/K).

  2. Par la suite, il est possible de mieux localiser la transaction et le résultat qui posent problème, puis de se concentrer sur une instruction automatique spécifique relative à la transaction contestée.

  3. Le contrat ChallengeManager vérifie uniquement si le « segment de données » produit en subdivisant les données d'origine est valide.

  4. Une fois que le challenger et le challenger ont trouvé l'instruction machine à contester, le challenger invoque OneStepProveExecution (), en envoyant une preuve de fraude en une seule étape démontrant qu'il y a un problème avec le résultat de l'exécution de cette instruction automatique.

(Dans le protocole interactif anti-fraude d'Arbitrum, le processus consiste à utiliser une recherche binaire pour localiser rapidement l'instruction contestée et le résultat de son exécution à partir des données publiées par le proposant. Après avoir identifié la donnée ou l'opcode litigieux, une preuve de fraude en une seule étape est envoyée à la couche 1 pour vérification finale.)

Références :

L'ancien ambassadeur technique d'Arbitrum explique la structure des composants d'Arbitrum (première partie)

(L'organigramme interactif anti-fraude d'Arbitrum, l'explication est relativement approximative)

À ce stade, le concept des preuves de fraude en une seule étape devient assez simple : la grande majorité des instructions de transaction qui apparaissent sur la couche 2 n'ont pas besoin d'être revérifiées sur la blockchain BTC. Cependant, si un segment de données/un opcode contesté en particulier est contesté, il doit être rejoué en couche 1.

Si le résultat de la vérification indique que les données publiées précédemment par le proposant posent problème, les actifs mis en jeu du proposant sont réduits. S'il est établi que le Challenger est fautif, ses actifs mis en jeu sont réduits. Les testeurs qui ne répondent pas aux défis en temps voulu peuvent également être réduits.

Arbitrum met en œuvre les effets susmentionnés par le biais de contrats sur Ethereum, tandis que BitVM vise à obtenir des fonctionnalités similaires en utilisant Bitcoin Script pour implémenter les blocages temporels, le multisig et d'autres fonctionnalités.

4. Après avoir discuté des « preuves de fraude interactives » et des « preuves de fraude en une seule étape », nous parlerons des arbres MAST et des preuves Merkle. Nous avons déjà mentionné que dans la solution BitVM, la grande quantité de données de transaction et de circuits de portes logiques traités hors chaîne au niveau de la couche 2 ne sont pas directement intégrés à la chaîne. Seule une quantité minimale de circuits de données et de portes logiques est mise en chaîne lorsque cela est nécessaire. Cependant, nous avons besoin d'un moyen de prouver que ces données, qui étaient initialement hors chaîne et doivent maintenant être intégrées à la chaîne, ne sont pas fabriquées de toutes pièces. C'est là que le concept d'engagement entre en jeu en matière de cryptographie, et Merkle Proof en est l'une des formes.

Tout d'abord, parlons des arbres MAST. Le nom complet de MAST est Merkelized Abstract Syntax Trees, qui est une transformation des AST (arbres syntaxiques abstraits), qui sont passés du domaine des principes des compilateurs à des arbres de Merkle. Alors, qu'est-ce qu'un AST ? En termes simples, il s'agit d'une structure de données arborescente qui décompose une commande complexe en un ensemble d'unités opérationnelles de base grâce à une analyse lexicale.

(Un exemple d'arbre AST serait de décomposer des calculs simples tels que « x=2, y=x*3 » en codes d'opération et en données sous-jacents. )

L'arbre MAST est donc le résultat de l'application de la merkleisation à un arbre AST, en soutien à Merkle Proofs. L'un des avantages des arbres de Merkle est leur capacité à « compresser » les données de manière efficace. Par exemple, si vous souhaitez publier un segment de données de l'arbre de Merkle sur la blockchain BTC si nécessaire, tout en faisant croire que ce segment de données existe réellement dans l'arbre de Merkle et qu'il n'a pas été choisi arbitrairement, que faites-vous ?

Il vous suffit d'enregistrer à l'avance la racine de l'arbre Merkle sur la blockchain. À l'avenir, il suffira de présenter une preuve Merkle prouvant l'existence d'une donnée correspondant à la racine de l'arbre Merkle.

(La relation entre Merkle Proof/Branch et Root)

Il n'est donc pas nécessaire de stocker l'arbre MAST complet sur la blockchain BTC ; il suffit d'indiquer sa racine à l'avance en tant qu'engagement. Si nécessaire, la présentation du segment de données + Merkle Proof/Branch est suffisante. Cela réduit considérablement la quantité de données en chaîne tout en garantissant leur véritable existence dans l'arborescence MAST. De plus, le fait de ne divulguer qu'une petite partie des segments de données + Merkle Proof sur la blockchain BTC, au lieu de la totalité des données, peut améliorer de manière significative la protection de la vie privée.

Références :Retenue de données et protection contre les fraudes : pourquoi Plasma ne prend pas en charge les contrats intelligents


(Exemple d'arbre MAST)

Dans la solution de BitVM, tous les circuits des portes logiques sont exprimés à l'aide de scripts Bitcoin, organisés selon un énorme arbre MAST. Les feuilles inférieures de cet arbre, indiquées comme Contenu dans le schéma, correspondent aux circuits de porte logique implémentés dans le script Bitcoin. Layer 2 Proposer publie fréquemment la racine de l'arbre MAST sur la blockchain BTC, chaque arbre MAST étant associé à une transaction impliquant tous ses paramètres d'entrée, ses codes d'opération/ses circuits de porte logique. C'est un peu similaire à la publication de Rollup Blocks par Arbitrum par Proposer sur la blockchain Ethereum.

En cas de litige, un adversaire indique sur la blockchain BTC quelle racine il souhaite contester, puis demande au proposant de révéler un segment de données spécifique correspondant à la racine. Ensuite, le proposant présente une preuve Merkle, divulguant en continu de petits segments des données de l'arbre MAST en chaîne jusqu'à ce que le circuit de porte logique contesté soit localisé conjointement avec le challenger. Ensuite, une barre oblique peut être exécutée.

(Source :https://medium.com/crypto-garage/deep-dive-into-bitvm-computing-paradigm-to-express-turing-complete-bitcoin-contracts-1c6cb05edfca)

  1. Jusqu'à présent, les aspects les plus cruciaux de la solution BitVM ont été largement abordés. Bien que certains détails soient encore un peu obscurs, on pense que les lecteurs peuvent comprendre l'essence et les principaux points de BitVM. En ce qui concerne « l'engagement de valeur binaire » mentionné dans son livre blanc, il est conçu pour empêcher un proposant d'attribuer 0 et 1 aux valeurs d'entrée d'une porte logique lorsqu'il est invité à vérifier le circuit de la porte logique en chaîne, créant ainsi de l'ambiguïté et de la confusion.

En résumé, le schéma BitVM commence par utiliser un script Bitcoin pour exprimer les circuits des portes logiques, puis utilise ces circuits pour exprimer les opcodes de l'EVM/autres machines virtuelles, qui expriment à leur tour le flux de traitement d'une instruction de transaction donnée, et enfin les organisent dans un arbre Merkle Tree/Mast. Si le flux de traitement des transactions représenté par un tel arbre est très complexe, il peut facilement dépasser les 100 millions de feuilles. Il est donc crucial de minimiser l'espace de blocage occupé par les engagements et la portée des preuves de fraude.

Bien qu'une preuve de fraude en une seule étape ne nécessite qu'une très petite quantité de données et un script Logic Gate en chaîne, l'intégralité de Merkle Tree doit être stockée hors chaîne pendant une longue période, afin d'être accessible sur la chaîne à tout moment si quelqu'un le conteste. Chaque transaction dans une couche 2 génère un grand arbre de Merkle, et on peut imaginer la pression de calcul et de stockage qui s'exerce sur les nœuds. La plupart des utilisateurs ne voudront peut-être pas gérer de nœuds (cependant, ces données historiques peuvent être supprimées progressivement, et le réseau B^2 introduit spécifiquement des preuves zk-storage similaires à Filecoin pour inciter les nœuds de stockage à préserver les données historiques à long terme).

Cependant, les rollups optimistes basés sur des preuves de fraude ne nécessitent pas trop de nœuds car leur modèle de confiance est 1/N, ce qui signifie que tant que l'un des N nœuds est honnête et peut lancer une procédure de prévention des fraudes à un moment critique, le réseau de couche 2 est sécurisé.

La conception de solutions de couche 2 basées sur BitVM se heurte néanmoins à de nombreux défis, tels que :

1) Théoriquement, pour compresser davantage les données, il n'est pas nécessaire de vérifier les opcodes directement sur la couche 1. Le flux de traitement des opcodes peut être encore compressé dans un zk-proof, ce qui permet aux joueurs de contester les étapes de vérification du zk-proof. Cela pourrait réduire de manière significative la quantité de données en chaîne. Cependant, les détails spécifiques du développement peuvent être très complexes.

2) Les proposants et les challengers doivent générer des interactions hors chaîne à plusieurs reprises. La manière dont le protocole doit être conçu et la manière dont le processus d'engagement et de challenge doit être optimisé davantage dans le flux de traitement demanderont beaucoup d'efforts intellectuels.

Avertissement:

  1. Cet article est repris de [Geek Web3], Forward the Original Title « A minimalist interpretation of BitVM : How to verify fraud proof on the BTC chain (execute the operation code of EVM or other VM) ». Les droits d'auteur appartiennent à l'auteur original [Faust & Misty Moon].
    En cas d'objection à cette réimpression, contactez l'équipe de Gate Learn, elle s'en occupera rapidement.
  2. Avertissement en matière de responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent en aucun cas un conseil d'investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, de distribuer ou de plagier les articles traduits.

Partager

Contenu

Calendrier Crypto

Mises à Jour du Projet
Etherex lancera le jeton REX le 6 août.
REX
22.27%
2025-08-06
Lancement de produit NFT AI
Nuls lancera un produit NFT AI au troisième trimestre.
NULS
2.77%
2025-08-06
Lancement de dValueChain v.1.0
Bio Protocol est sur le point de lancer dValueChain v.1.0 au cours du premier trimestre. Il vise à établir un réseau de données de santé décentralisé, garantissant des dossiers médicaux sécurisés, transparents et infalsifiables au sein de l'écosystème DeSci.
BIO
-2.47%
2025-08-06
Sous-titres vidéo générés par IA
Verasity ajoutera une fonction de sous-titres vidéo générés par l'IA au quatrième trimestre.
VRA
-1.44%
2025-08-06
Support multilingue de VeraPlayer
Verasity ajoutera le support multilingue à VeraPlayer au quatrième trimestre.
VRA
-1.44%
2025-08-06

Articles connexes

Comment miser sur l'ETH?
Débutant

Comment miser sur l'ETH?

La fusion étant terminée, Ethereum est enfin passé de PoW à PoS. Les jalons maintiennent maintenant la sécurité du réseau en jalonnant l'ETH et en obtenant des récompenses. Il est important de choisir les méthodes et les prestataires de services appropriés avant de procéder au piquetage. La fusion étant terminée, Ethereum est enfin passé de PoW à PoS. Les jalons maintiennent maintenant la sécurité du réseau en jalonnant l'ETH et en obtenant des récompenses. Il est important de choisir les méthodes et les prestataires de services appropriés avant de procéder au piquetage.
11/21/2022, 7:46:18 AM
Qu'est-ce que le minage BTC ?
Débutant

Qu'est-ce que le minage BTC ?

Pour comprendre ce qu'est le minage de BTC, nous devons d'abord comprendre BTC, une crypto-monnaie représentative créée en 2008. Désormais, tout un ensemble de systèmes algorithmiques entourant son modèle économique global a été établi. L'algorithme stipule que les BTC sont obtenus par un calcul mathématique, ou "mining", comme nous l'appelons de manière plus imagée. De nombreuses autres crypto-monnaies, et pas seulement la BTC, peuvent être obtenues par minage, mais la BTC est la toute première application du minage pour obtenir des crypto-monnaies dans le monde. Les machines utilisées pour l'exploitation minière sont généralement des ordinateurs. Grâce à des ordinateurs de minage spéciaux, les mineurs obtiennent des réponses précises aussi rapidement que possible afin d'obtenir des récompenses en crypto-monnaies, qui peuvent ensuite être utilisées pour obtenir des revenus supplémentaires en négociant sur le marché.
12/14/2022, 9:31:58 AM
Spot Bitcoin ETFs : Une passerelle vers l'investissement dans les crypto-monnaies pour les entrepreneurs
Intermédiaire

Spot Bitcoin ETFs : Une passerelle vers l'investissement dans les crypto-monnaies pour les entrepreneurs

Cet article est une introduction aux ETF Bitcoin, expliquant clairement aux lecteurs ce qu'est le BTC au comptant.
12/31/2023, 2:39:36 PM
Explication approfondie de Yala: Construction d'un agrégateur de rendement DeFi modulaire avec la stablecoin $YU comme moyen.
Débutant

Explication approfondie de Yala: Construction d'un agrégateur de rendement DeFi modulaire avec la stablecoin $YU comme moyen.

Yala hérite de la sécurité et de la décentralisation de Bitcoin tout en utilisant un cadre de protocole modulaire avec la stablecoin $YU comme moyen d'échange et réserve de valeur. Il connecte de manière transparente Bitcoin avec les principaux écosystèmes, permettant aux détenteurs de Bitcoin de générer des rendements à partir de différents protocoles DeFi.
11/29/2024, 6:05:21 AM
Comprendre le protocole Runes de couche 1 de Bitcoin
Débutant

Comprendre le protocole Runes de couche 1 de Bitcoin

L'introduction de Runes vise à remédier aux limites des protocoles de jetons BTC existants, en proposant une solution supérieure qui a déjà suscité de grandes attentes pour ses jetons initiaux et ses projets conceptuels sur le marché.
3/3/2024, 3:17:48 PM
Les meilleures plateformes de loterie en crypto-monnaie pour 2024
Débutant

Les meilleures plateformes de loterie en crypto-monnaie pour 2024

Explorez le monde des loteries cryptographiques grâce à ce guide complet sur les mécanismes des loteries cryptographiques, ainsi que sur les meilleures plateformes.
1/28/2024, 4:53:22 PM
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!