# 不正証明とZK不正証明の実装の分析詐欺証明はブロックチェーン分野で広く応用されている技術方案であり、最初はイーサリアムコミュニティに由来し、ArbitrumやOptimismなどのLayer2で採用されています。2023年にビットコインエコシステムが興起した後、Robin LinusはBitVM方案を提案し、詐欺証明を核心思想として、ビットコインの第二層またはブリッジに新しいセキュリティモデルを提供しました。BitVMは、初期のBitVM0から後のBitVM2まで、いくつかの理論的バージョンの進化を経ており、関連技術の道筋は不断に成熟しています。BitlayerやCitreaなどの複数のプロジェクトは、BitVMを技術基盤として実現されています。本文では、Optimismの詐欺証明方案を例に、MIPS仮想機械に基づくインタラクティブ詐欺証明の方案と、ZK化詐欺証明の主要な考え方を解析します。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-4740909e3c2dd651d7b12dec84677a36)## OutputRoot と StateRootOptimismの基盤インフラは、オーダーラーとイーサリアムチェーン上のスマートコントラクトで構成されています。オーダーラーはトランザクションを処理した後、データをイーサリアムにアップロードします。誰でもOptimismノードを運営し、これらのデータをダウンロードしてローカルで実行し、現在の状態セットハッシュを計算できます。もしオーダーラーが誤った状態セットハッシュをアップロードした場合、ローカル計算結果に差異が生じる。この場合、詐欺証明システムを通じて異議を唱えることができる。OptimismはStateRootフィールドを使用して状態セットの変化を反映します。シーケンサーは定期的にOutputRootをEthereumにアップロードし、OutputRootはStateRootと他のフィールドを基に計算されます。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-d3f8076fec7cb8639affdec1b2b6bf34)## MIPS仮想機とメモリーマークルツリーチェーン上でOutputRootの正確性を検証するために、Optimism開発チームはSolidityでMIPS仮想マシンを作成し、一部のOPノード機能を実現しました。しかし、Ethereumのガス制限により、OPブロック内のすべての取引をチェーン上で完全に実行することはできません。そのため、Optimismはインタラクティブな詐欺証明システムを設計し、取引処理プロセスをMIPSオペコードシーケンスに細分化しました。システムは、どのオペコードの実行時にエラーが発生したかを観察することで、OutputRootが有効であるかどうかを判断します。MIPS仮想マシンの状態情報はMerkleツリーに組織されています。詐欺証明関連のコントラクトはStep関数を介してチェーン上で単一のMIPS命令を実行し、結果が一致するかどうかを確認します。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-1a7effb3d036526f536ca4c917bdeb75)! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-2b0e69f87b0e05dec63e9648fdc822d0)! [BitVMの背景:詐欺証明とZK詐欺証明の実装アイデア](https://img-cdn.gateio.im/social/moments-4e6e012cfaab66cf07d3dcfd79b71eb6)! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-4740909e3c2dd651d7b12dec84677a36)## インタラクティブ詐欺証明OptimismはFault Dispute Game(FDG)プロトコルを開発しました。このプロトコルには、挑戦者と防御者の2つの役割が含まれています。両者はローカルでGameTreeを構築し、複数回のインタラクションを通じて争点となるMIPSオペコードを特定する必要があります。GameTreeは2層のMerkleツリーで構成されており、第一層の葉ノードは異なるブロックのOutputRoot、第二層の葉ノードはMIPS仮想マシンの状態ハッシュです。双方はチェーン上で何度も相互作用し、最終的にチェーン上で実行する必要がある1つのMIPSオペコードを確定します。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-459c7022fef7334a6966d28de73cbf4d)! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-d74e3d10cb96594f3fb5e90fc0055175)! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-aee8182b283886ec2ca9ae1ecd904d25)! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-f102c3e3bcf32ab39b2589d0c440605c)! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-1fd1f30538f1877ad5b2350006cc0bcb)## ZKベースの詐欺証明従来の詐欺証明は、インタラクションが複雑で、ガスコストが高く、開発が難しいという問題があります。そのため、OptimismはZK Fraud Proofの概念を提案しました。核心思路は: チャレンジャーが再生する必要のあるトランザクションを指定し、RollupのシーケンサーがそのトランザクションのZK証明を提供し、Ethereumのスマートコントラクトが検証します。検証が通れば、トランザクション処理は正しいと見なされます。インタラクティブ詐欺証明と比較して、ZK Fraud Proofは複数のインタラクションを一回のZK証明の生成と検証に簡素化し、時間とガスコストを節約します。ZK Rollupと比較して、挑戦されたときのみ証明を生成し、計算のオーバーヘッドを削減します。BitVM2も同様の考え方を採用し、ビットコインスクリプトを通じてZK Proof検証を実現し、オンチェーンプログラムのサイズを大幅に簡素化しました。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-b5309b7ce9c3f041b7e4566d8b7de7db)! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-f9bc10a2be3f4410dabf527e0bac78d2)! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-d675bfbd9279df934bc1e364f8361041)
Fraud Proof Technology Evolution: Interactive から ZK Fraud Proof Implementation Analysis へ
不正証明とZK不正証明の実装の分析
詐欺証明はブロックチェーン分野で広く応用されている技術方案であり、最初はイーサリアムコミュニティに由来し、ArbitrumやOptimismなどのLayer2で採用されています。2023年にビットコインエコシステムが興起した後、Robin LinusはBitVM方案を提案し、詐欺証明を核心思想として、ビットコインの第二層またはブリッジに新しいセキュリティモデルを提供しました。
BitVMは、初期のBitVM0から後のBitVM2まで、いくつかの理論的バージョンの進化を経ており、関連技術の道筋は不断に成熟しています。BitlayerやCitreaなどの複数のプロジェクトは、BitVMを技術基盤として実現されています。
本文では、Optimismの詐欺証明方案を例に、MIPS仮想機械に基づくインタラクティブ詐欺証明の方案と、ZK化詐欺証明の主要な考え方を解析します。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
OutputRoot と StateRoot
Optimismの基盤インフラは、オーダーラーとイーサリアムチェーン上のスマートコントラクトで構成されています。オーダーラーはトランザクションを処理した後、データをイーサリアムにアップロードします。誰でもOptimismノードを運営し、これらのデータをダウンロードしてローカルで実行し、現在の状態セットハッシュを計算できます。
もしオーダーラーが誤った状態セットハッシュをアップロードした場合、ローカル計算結果に差異が生じる。この場合、詐欺証明システムを通じて異議を唱えることができる。
OptimismはStateRootフィールドを使用して状態セットの変化を反映します。シーケンサーは定期的にOutputRootをEthereumにアップロードし、OutputRootはStateRootと他のフィールドを基に計算されます。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
MIPS仮想機とメモリーマークルツリー
チェーン上でOutputRootの正確性を検証するために、Optimism開発チームはSolidityでMIPS仮想マシンを作成し、一部のOPノード機能を実現しました。しかし、Ethereumのガス制限により、OPブロック内のすべての取引をチェーン上で完全に実行することはできません。
そのため、Optimismはインタラクティブな詐欺証明システムを設計し、取引処理プロセスをMIPSオペコードシーケンスに細分化しました。システムは、どのオペコードの実行時にエラーが発生したかを観察することで、OutputRootが有効であるかどうかを判断します。
MIPS仮想マシンの状態情報はMerkleツリーに組織されています。詐欺証明関連のコントラクトはStep関数を介してチェーン上で単一のMIPS命令を実行し、結果が一致するかどうかを確認します。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
! BitVMの背景:詐欺証明とZK詐欺証明の実装
! BitVMの背景:詐欺証明とZK詐欺証明の実装アイデア
! BitVMの背景:詐欺証明とZK詐欺証明の実装
インタラクティブ詐欺証明
OptimismはFault Dispute Game(FDG)プロトコルを開発しました。このプロトコルには、挑戦者と防御者の2つの役割が含まれています。両者はローカルでGameTreeを構築し、複数回のインタラクションを通じて争点となるMIPSオペコードを特定する必要があります。
GameTreeは2層のMerkleツリーで構成されており、第一層の葉ノードは異なるブロックのOutputRoot、第二層の葉ノードはMIPS仮想マシンの状態ハッシュです。双方はチェーン上で何度も相互作用し、最終的にチェーン上で実行する必要がある1つのMIPSオペコードを確定します。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
! BitVMの背景:詐欺証明とZK詐欺証明の実装
! BitVMの背景:詐欺証明とZK詐欺証明の実装
! BitVMの背景:詐欺証明とZK詐欺証明の実装
! BitVMの背景:詐欺証明とZK詐欺証明の実装
ZKベースの詐欺証明
従来の詐欺証明は、インタラクションが複雑で、ガスコストが高く、開発が難しいという問題があります。そのため、OptimismはZK Fraud Proofの概念を提案しました。
核心思路は: チャレンジャーが再生する必要のあるトランザクションを指定し、RollupのシーケンサーがそのトランザクションのZK証明を提供し、Ethereumのスマートコントラクトが検証します。検証が通れば、トランザクション処理は正しいと見なされます。
インタラクティブ詐欺証明と比較して、ZK Fraud Proofは複数のインタラクションを一回のZK証明の生成と検証に簡素化し、時間とガスコストを節約します。ZK Rollupと比較して、挑戦されたときのみ証明を生成し、計算のオーバーヘッドを削減します。
BitVM2も同様の考え方を採用し、ビットコインスクリプトを通じてZK Proof検証を実現し、オンチェーンプログラムのサイズを大幅に簡素化しました。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
! BitVMの背景:詐欺証明とZK詐欺証明の実装
! BitVMの背景:詐欺証明とZK詐欺証明の実装