# Fraud ProofとZK Fraud Proofの実装方法詐欺証明はブロックチェーン分野で広く応用されている技術ソリューションで、最初はイーサリアムコミュニティから発祥し、ArbitrumやOptimismなどのLayer2に採用されました。2023年にビットコインエコシステムが興起した後、Robin LinusはBitVMソリューションを提案し、詐欺証明を核心思想とし、ビットコインの第2層またはブリッジに新たなセキュリティモデルを提供しました。BitVMは複数のバージョンの進化を経て、最初の論理ゲート回路のソリューションから、後のZK詐欺証明とGroth16検証回路のソリューションへと進化し、関連する技術路線は絶えず成熟しています。現在、市場には複数のプロジェクトがBitVMを技術基盤として異なる実装を行っています。この記事では、Optimismの詐欺証明方案を例にとり、MIPS仮想機械に基づく実装とインタラクティブ詐欺証明の実現、さらにはZK化詐欺証明の主要な考え方について分析します。## OutputRoot と StateRootOptimismのインフラは、シーケンサーとEthereumチェーン上のスマートコントラクトで構成されています。シーケンサーは取引を処理した後、データをEthereumに送信します。誰でもOptimismノードを実行でき、シーケンサーがアップロードしたデータをダウンロードし、ローカルで取引を実行して現在の状態セットのハッシュを計算できます。もしシーケンサーが誤ったステートセットのハッシュをアップロードした場合、ローカル計算結果に差異が生じます。この時、詐欺証明の異議申し立てを行うことができます。システムは判決結果に基づいてシーケンサーに対して適切な処置を行います。Optimismは、Ethereumと類似のStateRootフィールドを使用して状態セットの変化を表現します。シーケンサーは定期的にOutputRootをEthereumにアップロードし、OutputRootはStateRootおよびその他のフィールドから計算されます。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-4740909e3c2dd651d7b12dec84677a36)## MIPS仮想マシンとメモリマークルツリー オンチェーンでOutputRootの正確性を検証するために、OptimismチームはSolidityを使用してMIPS仮想マシンを実装し、一部のOPノード機能を実行できるようにしました。しかし、EthereumのGas制限により、オンチェーンで全ての取引を完全に実行することはできません。この問題を解決するために、Optimismはインタラクティブな詐欺証明システムを設計し、取引処理プロセスを一連のMIPSオペコードの実行に細分化しました。どのオペコードの実行中にエラーが発生したかを観察することで、OutputRootが無効かどうかを判断できます。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-d3f8076fec7cb8639affdec1b2b6bf34)具体実装において、MIPS仮想マシンの状態情報はMerkleツリーに組織されます。詐欺証明関連のコントラクトはStep関数を通じて1つのMIPS命令を実行し、並列処理器が提出した結果と比較します。MIPS仮想マシンのメモリデータは、28層のMerkleツリーに整理されており、memRootはこのツリーのルートハッシュです。命令を実行する際には、部分的なメモリデータとMerkle証明を提供する必要があります。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-1a7effb3d036526f536ca4c917bdeb75)## インタラクティブ詐欺証明Optimismチームは、論争のあるMIPSオペコードを特定するためにFault Dispute Game(FDG)プロトコルを開発しました。参加者は、2つの階層を含むGameTreeをローカルで構築する必要があります:1. 第一層級の葉ノードは異なるブロックのOutputRootです2. 第二層級の葉ノードはMIPS仮想マシンの状態ハッシュ双方はチェーン上で複数回インタラクションを行い、最終的に論争のあるMIPSオペコードとその実行時のVM状態を特定しました。! [BitVMの背景:詐欺証明とZK詐欺証明の実装](https://img-cdn.gateio.im/social/moments-2b0e69f87b0e05dec63e9648fdc822d0)## ZKベースの詐欺証明従来の詐欺証明は、インタラクションが複雑で、ガスコストが高く、Rollupが停止するなどの問題が存在します。これに対処するために、OptimismはZK Fraud Proofの概念を提案しました:1. チャレンジャーはリプレイが必要なトランザクションを指定します2. ロールアップシーケンサーは、トランザクションのZKプルーフを生成します3. イーサリアムスマートコントラクトによるZK証明の検証インタラクティブなソリューションと比較して、ZK詐欺証明は複数のインタラクションを1回のZK証明の生成と検証に簡素化し、大幅に時間とコストを節約します。ZKロールアップと比較して、チャレンジが発生した時のみ証明を生成し、計算負担を軽減します。このZK化のアプローチは、BitVM2でも採用されています。BitVM2を採用したプロジェクトは、ビットコインスクリプトを通じてZK Proofの検証を実現し、オンチェーンプログラムを大幅に簡素化しました。! [BitVMの背景:詐欺証明とZK詐欺証明の実装アイデア](https://img-cdn.gateio.im/social/moments-4e6e012cfaab66cf07d3dcfd79b71eb6)
詳細な分析:不正証明の進化とZK不正証明の実装原則
Fraud ProofとZK Fraud Proofの実装方法
詐欺証明はブロックチェーン分野で広く応用されている技術ソリューションで、最初はイーサリアムコミュニティから発祥し、ArbitrumやOptimismなどのLayer2に採用されました。2023年にビットコインエコシステムが興起した後、Robin LinusはBitVMソリューションを提案し、詐欺証明を核心思想とし、ビットコインの第2層またはブリッジに新たなセキュリティモデルを提供しました。
BitVMは複数のバージョンの進化を経て、最初の論理ゲート回路のソリューションから、後のZK詐欺証明とGroth16検証回路のソリューションへと進化し、関連する技術路線は絶えず成熟しています。現在、市場には複数のプロジェクトがBitVMを技術基盤として異なる実装を行っています。
この記事では、Optimismの詐欺証明方案を例にとり、MIPS仮想機械に基づく実装とインタラクティブ詐欺証明の実現、さらにはZK化詐欺証明の主要な考え方について分析します。
OutputRoot と StateRoot
Optimismのインフラは、シーケンサーとEthereumチェーン上のスマートコントラクトで構成されています。シーケンサーは取引を処理した後、データをEthereumに送信します。誰でもOptimismノードを実行でき、シーケンサーがアップロードしたデータをダウンロードし、ローカルで取引を実行して現在の状態セットのハッシュを計算できます。
もしシーケンサーが誤ったステートセットのハッシュをアップロードした場合、ローカル計算結果に差異が生じます。この時、詐欺証明の異議申し立てを行うことができます。システムは判決結果に基づいてシーケンサーに対して適切な処置を行います。
Optimismは、Ethereumと類似のStateRootフィールドを使用して状態セットの変化を表現します。シーケンサーは定期的にOutputRootをEthereumにアップロードし、OutputRootはStateRootおよびその他のフィールドから計算されます。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
MIPS仮想マシンとメモリマークルツリー
オンチェーンでOutputRootの正確性を検証するために、OptimismチームはSolidityを使用してMIPS仮想マシンを実装し、一部のOPノード機能を実行できるようにしました。しかし、EthereumのGas制限により、オンチェーンで全ての取引を完全に実行することはできません。
この問題を解決するために、Optimismはインタラクティブな詐欺証明システムを設計し、取引処理プロセスを一連のMIPSオペコードの実行に細分化しました。どのオペコードの実行中にエラーが発生したかを観察することで、OutputRootが無効かどうかを判断できます。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
具体実装において、MIPS仮想マシンの状態情報はMerkleツリーに組織されます。詐欺証明関連のコントラクトはStep関数を通じて1つのMIPS命令を実行し、並列処理器が提出した結果と比較します。
MIPS仮想マシンのメモリデータは、28層のMerkleツリーに整理されており、memRootはこのツリーのルートハッシュです。命令を実行する際には、部分的なメモリデータとMerkle証明を提供する必要があります。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
インタラクティブ詐欺証明
Optimismチームは、論争のあるMIPSオペコードを特定するためにFault Dispute Game(FDG)プロトコルを開発しました。参加者は、2つの階層を含むGameTreeをローカルで構築する必要があります:
双方はチェーン上で複数回インタラクションを行い、最終的に論争のあるMIPSオペコードとその実行時のVM状態を特定しました。
! BitVMの背景:詐欺証明とZK詐欺証明の実装
ZKベースの詐欺証明
従来の詐欺証明は、インタラクションが複雑で、ガスコストが高く、Rollupが停止するなどの問題が存在します。これに対処するために、OptimismはZK Fraud Proofの概念を提案しました:
インタラクティブなソリューションと比較して、ZK詐欺証明は複数のインタラクションを1回のZK証明の生成と検証に簡素化し、大幅に時間とコストを節約します。ZKロールアップと比較して、チャレンジが発生した時のみ証明を生成し、計算負担を軽減します。
このZK化のアプローチは、BitVM2でも採用されています。BitVM2を採用したプロジェクトは、ビットコインスクリプトを通じてZK Proofの検証を実現し、オンチェーンプログラムを大幅に簡素化しました。
! BitVMの背景:詐欺証明とZK詐欺証明の実装アイデア