N のサイズに制限がない OP ロールアップとは異なり、このスキームではセキュリティ保証が弱くなります。ただし、この提案された実用的な解決策には、長期的には N が 100 よりもはるかに大きくなるような同盟メンバーのローテーションが含まれる可能性が高くなります。 100 人のメンバーのうちの 1 人がいつでも正直である限り、預金は安全なままです。悪意のある攻撃者がいると仮定すると、チェーン上でいつでも異議を申し立てられる可能性があり、不正行為が証明された場合は、アライアンスから追放される可能性があります。
IOSG: BitVM はビットコインのプログラマビリティの夜明けをもたらすのでしょうか?
謝辞: この記事を貴重な改訂をしてくださった Momir と Xinshu に感謝します。
TL;DR:
ビットコインはトランザクション ブロックチェーンとして構築されており、そのスクリプト言語は攻撃対象領域を最小限に抑え、ネットワーク セキュリティを確保するために意図的にステートレスになっています。チューリング完全性が欠如しているため、ビットコイン コアをフォークしてアップグレードする以外に、ブロックチェーン上にスマート コントラクトを直接導入することはできません。
従来のビットコイン コミュニティは、次の理由から変化に抵抗してきました。
1. ビットコイン拡張計画の急速な拡大
上記を踏まえると、なぜ突然、ビットコインの新しい「L2」ソリューションが大量に登場したのでしょうか?
最近、ビットコインの「L2」ソリューションが急増しているのを観察しました (によると、すでに 50 を超えています!)。しかし、コミュニティは長年にわたってさまざまなスケーラビリティ手法を模索してきました。
既存のソリューションと比較して、最近のスケーリング手法にはどのような新規性がありますか?私たちの意見では、最もエキサイティングなイノベーションは、ビットコイン上でプログラムをコーディングすること (BitVM 経由) とトラストレスで BTC をステーキングすること (バビロンなど) から生まれます。この記事では主に前者に焦点を当てます。
2. BitVM - 概要
BitVM とは何かを説明するには、まずそれを可能にし、インスピレーションを与えるプリミティブ、つまり Bitcoin Taproot アップグレードを紹介する必要があります。
Taproot は、2021 年 11 月に有効化されたビットコイン プロトコルのメジャー アップグレードです。 Taproot では、デフォルトでスクリプトのハッシュをオンチェーンでコミットする必要があります。スクリプトの特定のパスが実行されると、そのパス上のスクリプトのみがチェーンに送信されます。これにより、効率が向上するだけでなく (トランザクションのサイズはスクリプトのサイズに応じて増加しません)、プライバシーも強化されます (スクリプト全体ではなく、トランザクションであるパスのみが公開されます)。
Taproot のアップグレードによって解放される大きなチャンスを認識し、Robin Linus は、ビットコイン エコシステムにおける画期的なイノベーションである BitVM を開発しました。
BitVM は、Taproot アップグレードを利用して、ネットワークのコンセンサス ルールを変更することなく、ビットコインでのチューリング完全コントラクトの実装を容易にするコンピューティング パラダイムです。オプティミスティック ロールアップと同様に、計算の (実行ではなく) 検証が可能になります。
BitVM は、Taproot アドレスにプログラムを送信することでオンチェーンのフットプリントを最小限に抑えながら、紛争が発生した場合にオンチェーンでの実行のみを必要とする複雑なオフチェーンの計算を可能にします。
このプロセスには、プログラムのバイナリ回路を Taproot アドレスに送信し、チャレンジ/レスポンス メカニズムを使用して検証することが含まれます。要約すると、BitVM はチューリング完全なビットコイン コントラクトを実装しています。最も重要なことは次のとおりです。
*BitVM はフォークやビットコイン プロトコルの変更を必要としません。 *BitVM は、計算がビットコイン上で実行されるのではなく、紛争 (Dispute) が発生した場合にビットコイン ネットワークを使用してのみ検証されるため、ビットコイン ブロックチェーンを輻輳させることはありません。
ビットコインでのバイナリ回路の構築
バイナリ回路構築は、任意の計算可能な関数を実行できるバイナリ論理ゲート (AND、OR、NOT など) を使用して計算またはプログラムを表現する方法です。
BitVM は、コンピューター チップの論理ゲート (電流の有無に応じて信号の通過、オンかオフ、オンかオフを決定するこれらの小さな構造) を流れる電流の複雑なシミュレーションをビットコインの言語に翻訳するようなものです。 。
基本的に、ゲームから完全な Linux オペレーティング システムに至るまで、あらゆるコンピューター プログラムはこれらの論理ゲートの複雑な配置の結果であり、すべてのデジタルなものは基本的に 0 と 1 の 2 進数に基づいています。これらの 2 進数を AND ゲートや NOT ゲートなどの論理ゲートと組み合わせることで、算術論理演算装置 (ALU) やメモリ システムなどのさまざまな回路を作成します。この基本テクノロジーにより、さまざまなタスクを実行するプログラムを作成して実行できるようになります。
出典: ロジック ゲートのステップ実行、基本的なロジック ゲート (F は 0、T は 1 を表します)
BitVM の前提は、ビットコイン スクリプトを使用して、任意のプログラムをバイナリ回路の組み合わせに分解し、実行検証を可能にすることで、オフチェーン計算 (計算されたハッシュをタップルート アドレスに送信する) にコミットすることです。ビットコイン スクリプトは含まれていますが、スクリプトはそれ自体が計算ロジック全体を実行するわけではありません。
ビットコイン スクリプトはビット値コミットメントを実装しています。これは曖昧さを証明し、罰するために重要です。個人が他の人が変更できない値を送信できるため、不変性が実装されます。
この方法では、各入力ビットを表すために 2 つのハッシュを使用します。1 つは数値 0 用、もう 1 つは数値 1 用です。誰かがプログラムを実行したいとき、入力を示すプリイメージが表示されます。値が 0 または 1 に変換されるかどうかは、プリイメージのハッシュと 0 と 1 を表す 2 つのハッシュを比較することによって決定されます。
入力と出力が一致しない場合、バリデーターはプロバイダーの資金を没収することでプロバイダーを罰する権利を有します。
チャレンジ-レスポンス メカニズム
検証は通常、証明者が正直であるという楽観的な仮定の下、オフチェーンで行われます。紛争が発生した場合、プロセスはオンチェーンに移行し、チャレンジ/レスポンスラウンドが開始されます。このメカニズムにより、ほとんどの場合、計算と検証が効率的かつコスト効率よく実行され、意見の相違が生じた場合にのみブロックチェーンの不変性と透明性を利用して最終的な判断が行われることが保証されます。
BitVM のチャレンジ/レスポンス メカニズムのダイナミクスには、参加者 (Vicky や Paul など) がブロックチェーン上のプログラムの実行を通じて検証プロセスを受けるシステムが含まれます。論争が起きると、ヴィッキーはプログラムの実行が正しいことを証明するようポールに要求します。
ヴィッキーはバイナリ回路から論理ゲートを選択し、ポールは入力と出力を明らかにしてゲートを開きます。このプロセスは、曖昧さが確認されるか、Vicky がさらなる異議申し立ての可能性を使い果たすまで繰り返されます。曖昧とは、ある入力 X は、1 つの論理ゲートが開いているときは 0 ですが、別の論理ゲートが開いているときは 1 であると Paul が主張していることを意味します。
ポールは、事前に署名されたトランザクションを使用して応答アドレスに資金を入金することで、自分の主張の証拠を確保する必要があります。これらの取引は、進行中のやり取りに基づいて、チャレンジアドレスとレスポンスアドレスの間で資金をスイングさせるチェーンを作成します。
応答アドレスからの資金は、チャレンジの結果に応じて複数の経路に沿って流れる可能性があります。
このシステムは、ブロックチェーン上で紛争解決と検証プロセスを実行するための強固で透明なフレームワークを提供します。金銭的インセンティブを組み込むことで、プログラムの実行と結果の記録の完全性と正確性が促進されます。当初、この設計は 2 者間のチャレンジ/レスポンス メカニズムをサポートしています。ただし、後で説明するように、BitVM の貢献者は、多数のアクターが挑戦者として参加できるソリューションを見つけました。
二分法: 紛争解決の効率の向上
オンチェーン検証の効率を向上させるために、検証者は、事前に提出された論理ゲートを効率的に検索してチャレンジすべき論理ゲートを見つける方法である二分法を利用できます。この方法はランダムよりも優れています。チャレンジプロセスは大幅に改善されました。 。問題領域を 2 つに分割することで、バリデーターは潜在的なエラーの範囲を迅速に絞り込むことができるため、紛争の解決に必要な手順と時間が短縮されます。この方法は、複雑な検証プロセスを処理する場合、特にエラーの場所を正確に特定する必要がある場合に、より効率的で直接的なパスを提供します。
以下では、単純化した例を使用して、セグメンテーション方法がどのように機能するかを説明します。
ポールとヴィッキーは数学の問題を解いています。問題は ((1+2)+(3+4))+((5+6)+(7+8)) を計算することです。
この計算を完了する正しい方法は、((1+2)+(3+4))+((5+6)+(7+8)) = (3+7)+(11+15) = 10+ です。 26 = 36。
ポールの計算方法は ((1+2)+(3+4))+((5+6)+(7+8)) = (2+7)+( 11+15 であるため、ポールが出した答えは 35 です。 ) = 9+26 = 35。
ヴィッキーがポールに挑戦するとき、ポールは計算の最初の部分 (つまり、論理ゲートを開く) にのみ挑戦する必要があります。なぜなら、計算の 2 番目の部分 ((5+6)+(7+8)) が正確であることに彼らは同意するからです。 ) = 26 。
3. BitVM を使用して最小限の信頼ブリッジ (Trust-Minimized Bridge) を構築します。
BitVM の最初の実用的な実装は、おそらく最小信頼ビットコイン ブリッジを表すプログラムになるでしょう。ブリッジの実装の詳細を分析することで、BitVM プログラムの実装がさらに複雑になることをよりよく理解できます。以下に、BoB 共同創設者 Alexei Zamyatin 氏の提案を要約します。
まず、ビットコイン フル ノードが、サイドチェーン ライト クライアントを含む、ビットコイン スクリプトのみを使用してサイドチェーン ブリッジ プログラムを操作できるようにするメソッドを作成する必要があります。
次に、BTC の転送を容易にし、チャレンジ/レスポンス ゲームを実行するために、フェデレーション/マルチシグ ネットワークを確立する必要があります。アライアンスは、BitVM セットアップの一部としてブリッジ プログラムの実行に取り組む必要があります。
アライアンスの初期設定の複雑さは、メンバーの数が増えるにつれて二次関数的に増加します。アライアンスの各メンバーは他のすべてのメンバーと対話する必要があるため、アライアンスの規模には一定の上限があります。研究者らは、N= であると推測しています。 100なら実現可能です。
N のサイズに制限がない OP ロールアップとは異なり、このスキームではセキュリティ保証が弱くなります。ただし、この提案された実用的な解決策には、長期的には N が 100 よりもはるかに大きくなるような同盟メンバーのローテーションが含まれる可能性が高くなります。 100 人のメンバーのうちの 1 人がいつでも正直である限り、預金は安全なままです。悪意のある攻撃者がいると仮定すると、チェーン上でいつでも異議を申し立てられる可能性があり、不正行為が証明された場合は、アライアンスから追放される可能性があります。
アライアンスには常に、入出金の管理とサイドチェーンのステータスの確認を担当するオペレーター(オペレーター)がいます。運営者と監視塔の両方は、正しい行動を奨励し、誤った挑戦を阻止するために担保を提出する必要があります。
このスキームがコンボリューションの最も厳密な定義を満たさないもう 1 つの理由は、ユーザーが一方的にサイドチェーンから抜け出すことはできず、1/N セキュリティの前提で動作するアライアンスからの脱退を要求する必要があることです。
4. BitVM v2: BitVM はパーミッションレス検証 (Permissionless Verification) をサポートできますか?
3 月 25 日、Robin Linus は BitVM v2 を発表しました。 BitVM v2 提案の主な変更点は、v1 のようにチャレンジ検証プロセス中に論理ゲートを 1 つずつ開くのではなく、証明者が出力状態とすべての中間結果を一度に送信する必要があることです。この変更により、BitVM は、これらのコミットメントに対するあらゆる異議申し立てが暗号化された証拠によってサポートされる必要があることを保証します。このメカニズムは、証明者に異議を唱えるために挑戦者が特定の暗号証拠を提供する必要があるため、不当なスパムの挑戦を除外します。
BitVM 2 は、検証およびチャレンジ プロセスへの無制限の参加を許可することで、セキュリティ保証をマルチシグネチャ フェデレーションの制限を超えて拡張し、BitVM を楽観的畳み込みのセキュリティ前提に近づけます。
ただし、このブリッジは依然としてコンソーシアムのマルチ署名によって促進される必要があります。つまり、コンソーシアムのメンバーが活性化の問題を引き起こし、最悪のシナリオでは、資金の凍結を解除するためにユーザーに身代金を要求する可能性があります。これは、オプティミスティック畳み込みでは存在しない追加の安全性の仮定です。オプティミスティック畳み込みでは、ユーザーは中間承認なしで L1 に終了できるためです。
5. BitVM の制限事項
上で説明したように、BitVM が提供できる最善の方法は、楽観的な畳み込みの安全性の仮定に近づくことです。預金の保証とその活性化の問題を担当するコンソーシアムの管理の複雑さに加えて、BitVM に特有の追加の複雑さとして次のようなものがあります。
6 結論
現在イーサリアムの時価総額の約 15 ~ 20% を占めるイーサリアム スケーリング ソリューションの評価を考慮すると、ビットコインの第 2 層ソリューションの潜在的な時価総額は膨大になる可能性があります。
BitVM はまだ初期段階にあり、本質的には未完成の仮想コンピュータのコンセプトですが、すでに多くの関心を集めており、その可能性を活用しようとするさまざまなプロジェクトからの発表が行われています。 BitVM チームに所属していない多くのプロジェクトが、ビットコインの有望な新境地と見なされる分野でニッチ市場を開拓することを期待して、大々的な発表を急いでいます。しかし、詳しく調べてみると、より厳粛な現実が明らかになります。**BitVM の GitHub アカウントにはほんの一握りの寄稿者しかおらず、実際に BitVM Builders Telegram グループに参加しているのはほんの一握りのビットコイン「L2」プロジェクトだけです。 **
ビットコインのスケーラビリティ ソリューションが遵守しなければならない重要な原則は、ビットコインのコア アーキテクチャは (予測可能性の原則に従って) 変更されないままである必要があるということです。 BitVM はこの原則を遵守しており、コアを変更することなくビットコイン上にプログラム可能なレイヤーを提供する最初の先駆者ソリューションとなります。
この記事は BitVM の開発の非常に初期段階に書かれたもので、その急速な発展を考慮すると、ここに記載されている情報はすぐに古くなってしまう可能性があります。たとえば、ビットコインに ZK 畳み込みを実装するというアイデアは、最近まで空中の城のように見えました。これは、ZK の証明を検証するビットコインの機能など、必要な基礎的な機能が存在しなかったためです。しかし、最近 BitVM 研究者らは、ビットコインでの STARK バリデーターの実装につながる可能性のあるビットコイン スクリプトの進歩を共有しました。
ビットコイン スケーリング ソリューションの実装には、純粋に技術的な課題だけではなく、コミュニティ サポート、ユーザー エクスペリエンス、タイミングなどの要素が含まれます。現在はこれらのイノベーションにとってまたとない機会を提供していますが、プロジェクト数の急速な増加と、誤解を招く主張やマーケティングによってもたらされる重大なリスクにより、より正当なプロジェクトの見通しが損なわれる可能性があります。
エコシステムがこの岐路に立つ中、ビットコインのスケーリングソリューションがイーサリアムの成功を再現できるかどうかという問題は、技術的な問題だけでなく、ブロックチェーンコミュニティのより広範な力学に深く根ざしています。結局のところ、コアのイーサリアム コミュニティはイーサリアムのスケーリング ロードマップの重要な部分として L2 を選択しましたが、ビットコイン コミュニティについてはまだ同じことが言えません。
参照