この設計の主な目的は、ビットコイン ブロックチェーン専用に調整されたレイヤー 2 ネットワークを確立することです。 BTC のレイヤー 2 ネットワークは、ビットコイン エコシステム内でのより高速かつ効率的なトランザクションに対する急増する需要を満たすために戦略的に構築されています。
これは、混雑を緩和し、トランザクション確認に必要な時間とリソースを大幅に削減することを目的として、メインのブロックチェーンから特定のトランザクション処理タスクをオフロードすることによって実現されます。
ビットコイン仮想マシン (VM) のコンピューティング機能には固有の制限があることを認識し、私たちの設計では BitVM を使用しており、これにより 2 者間でスマート コントラクトを実行できる可能性が実証されています。 BitVM は、チャレンジ アンド レスポンス スキームを活用して、ビットコイン ネットワークのプログラマビリティを強化し、従来の制約を克服する新しいアプローチを紹介します。
レイヤ 2 ネットワークのセキュリティと整合性を強化するために、Zero-Knowledge Proof テクノロジーの統合を通じて状態検証が容易になります。
これらの高度な暗号化技術により、レイヤー 1 は、基礎となるトランザクションのプライバシーと機密性を損なうことなく、レイヤー 2 ネットワークの状態を効率的に検証できます。
レイヤ 2 ブロックチェーンはアカウント モデルを採用しています。ブロックチェーン全体のステータスは、Halo2 証明システムに基づいた zkVM を通じて証明されます。レイヤ 2 状態はビットコイン ネットワークと同期され、すべてのレイヤ 2 状態は BitVM によって実装された Zero-Knowledge Proof (ZKP) 検証器によって検証されます。 1 つの UTXO は、すべてのレイヤー 2 状態をトレースするために使用されます。さらに、信頼できるオラクルを使用して、入力/出力 UTXO のロック/ロック解除スクリプトのみがレイヤー 2 プロトコルに従うことを保証します。
選ばれたユーザーのグループが、レイヤー 2 ネットワーク全体の健全性の監視を担当するレイヤー 2 委員会を形成します。プロトコルに問題が発生した場合、委員会が介入してプロトコルを停止し、すべてのユーザーの資産を保護することができます。信頼されたオラクルは、入出力 UTXO およびスクリプトの正確性を検証するために重要です。
レイヤ 2 プロトコルを表す単一のタップルート アドレスがビットコイン ネットワーク上に作成されます。 UTXO が作成され、タップルート アドレスに転送されると、対応する UTXO はレイヤー 1 からレイヤー 2 に効果的に「移動」されます。プロトコルまたは委員会アカウントは、すべての「預けられた」UTXO 資産の「転送」を排他的に処理します。
すべてのレイヤ 2 ネットワーク状態は、ブロックの形式でレイヤ 1 に同期されます。 1 つのブロックについて、次の情報を提供する必要があります。 1 つの特定のブロック内のトランザクション 適用されたトランザクションを含む新しいアカウントの状態 現在のブロック状態の新しい UTXO (プロトコルが壊れている場合でも常に準備完了) ビットコイン ネットワークのゼロ知識証明のブロック情報 (最後のブロックから現在のブロックへの状態遷移が正しいことを証明します) レイヤ 1 のすべての状態が 1 つの UTXO トランザクション履歴に記録されます。
ゼロ知識証明は、レイヤー 2 の正当性を検証するために使用されます。証明は次のことを証明しようとします。レイヤー 2 のブロック トランザクションが正しく署名されている。すべてのアカウントの新しい状態が正しく処理されます。レイヤ 1 の 1 つの特定のブロックまでのすべてのデポジットが正しく処理されます。現在の状態では、すべての UTXO ディストリビューションが正しく作成されています。
レイヤ 1 で指定されたブロック情報の正確性を保証するために、チャレンジ アンド レスポンス方式が利用されます。証明者は、ロックされた期間内に特定のブロックの後にさらに N 個のブロックが存在することを示すことで、ブロック情報の正確さを実証できます。
BitVM の論文で説明されているように、ZKP 証明検証は 1 つのバイナリ回路として表現でき、2 者が異議を唱えることができます。事前署名されたトランザクションを使用すると、回線のビットコミットメントを取得するためにチャレンジを送信できます。挑戦によって0と1が明らかになった場合、挑戦者の勝ちです。 BitVM を使用して ZKP 検証を検証するには、2 つのことに注意する必要があります。同じバイナリ回路コミットメントを 1 回使用する必要があります。つまり、同じ回路コメントを多くのブロックに使用すると、1 ビットコミットの 0 と 1 が露出する可能性があります。 ZKP 検証では、回路の満足度に加えて、「パブリック入力」もチェックする必要があります。これら 2 つの欠点に対処するために、レイヤー 2 のブロックごとに 1 つの固有のバイナリ回路が作成され、「パブリック入力」が固定されます。ビットコイン スクリプトは、パブリック入力のハッシュとチェックを処理するために使用されます。そして、正しいパブリック入力ビットのコミットメントは、信頼できるオラクルによってチェックされます。回路の満足度に関しては、委員会内のメンバーは誰でも問題を提起することができます。
アセットは、引き出しと強制引き出しの 2 つの方法でレイヤー 2 からレイヤー 1 に移動できます。出金トランザクションはレイヤー 2 からトリガーされ、ZKP 回線により期待どおりのトランザクション処理が保証されます。強制引き出しトランザクションはビットコイン ネットワークから開始されます。
レイヤ 2 からトリガーされる出金トランザクションは、ZKP 回線を使用して検証され、適切なトランザクション処理が保証されます。ビットコインネットワークから開始された強制引き出しトランザクションは、次のブロック状態更新に含める必要があります。 4.2 UTXO ディストリビューション ブロックの状態が更新されると、UTXO ディストリビューションが同期されます。プロトコルが停止した場合、すべての UTXO を適用して、すべてのユーザー資産の安全を確保できます。そして、それらの UTXO のうち、引き出しまたは強制引き出し UTXO のみがプロトコルによって署名されます。
ZKP の証明が検証されない場合、委員会は中止して議定書を終了しなければなりません。プロトコルが停止すると、委員会はレイヤー 2 からの最新のブロック状態で指定されたすべての UTXO ディストリビューションに署名します。署名により、ユーザーは損失なくレイヤー 2 を終了できます。