IOSG Ventures: ビットコイン プログラマビリティの黎明期である BitVM について詳しく説明
原作者: IOSG Ventures
*謝辞: 記事の貴重な修正をしてくれたMomirとXinshuに感謝します。

TL;DR
ビットコイン コアへの変更は、次のような理由からしばしば抵抗に遭います。 a) 人々はビットコインを通貨としてではなく価値の保存手段として好みます。 b) 急速なイノベーションよりも安定性と予測可能性を重視します。 c) 多様なコミュニティ内で合意を形成することは困難です。
多くのプロジェクトは、ビットコイン チェーン自体に変更を加えることなくビットコインのスケーラビリティの問題を解決する方法があると主張しています。最近、ビットコイン「L2」のハイパーインフレを目撃しました。
主張の多くは単に誤解を招くマーケティングでしたが、私たちはビットコインにプログラマビリティをもたらす可能性のある新しいコンピューティングパラダイム、つまり BitVM も認識しました。
BitVM がサポートできる最適なスケーリング ソリューションは、OP-Rollup タイプのセキュリティの前提条件に近いものです (追加の考慮事項はありますが)。
BitVM および同様の取り組みの成功は、技術的な実現可能性、コミュニティのサポート、および他の「過剰市場」プロジェクトとの差別化にかかっています。
ビットコインはトランザクション ブロックチェーンとして構築されており、そのスクリプト言語は攻撃対象領域を最小限に抑え、ネットワーク セキュリティを確保するために意図的にステートレスになっています。チューリング完全性が欠如しているため、ビットコイン コアをフォークしてアップグレードする以外に、ブロックチェーン上にスマート コントラクトを直接導入することはできません。
従来のビットコイン コミュニティは、次の理由から変化に抵抗してきました。
この物語は、通貨の流通よりも価値の保存に重点を置いています。ビットコイン コミュニティは、急速な開発よりもセキュリティと分散化を優先し、ピアツーピア決済システムとしてネットワークを維持することに意図的に重点を置いています。有名なビットコイナーのマイケル・セイラー氏が述べたように、「一杯のコーヒーを買うために五番街の建物の一部を使おうとする人はいない。」 この言葉は、日常の通貨ではなく価値の保存手段としてのビットコインに対するコミュニティの取り組みを反映しています。
システムの安定性がイノベーションに勝る: 資産が価値の優れた保存場所であるとみなされるためには、予測可能性が非常に重要です。たとえば、ネットワークにメジャー アップグレードが 10 件しかなく、各アップグレードの成功率が 90% である場合でも、障害が発生する確率は約 65% です。通常の事故理論によると、「複雑なシステムでは、通常は無視できる小さな要因が、時として偶然に重大な出来事を引き起こす可能性があることを予期する必要があります。」 したがって、ビットコイン コミュニティの目標は、常に潜在的なエラーの数を減らすことでした。 。
多様なコミュニティ: 多くのビットコイン保有者は、さまざまな観点からビットコインを理解し、さまざまな理由でビットコインを評価しています。多様で分散化されたコミュニティで合意に達することは本質的に困難であり、イノベーションのペースはさらに遅くなります。ビットコイン コミュニティの多様性を説明するために、碑文と序数に対するコミュニティの反応を見てみましょう。ビットコイン コミュニティの一部は序数の成功をビットコインの CryptoKitties の瞬間として祝っていますが、コミュニティの別の部分はこれがパッチされるべき脆弱性であると信じています。
1. ビットコイン拡張計画の急速な拡大
上記を踏まえると、なぜ突然、新しいビットコイン「L2」ソリューションが大量に登場するようになったのでしょうか?
最近、ビットコイン「L2」ソリューションの急増を観察しました (https://l2.watch/! によれば、すでに 50 を超えています)。しかし、コミュニティは長年にわたり、さまざまなスケーラビリティ手法を模索してきました。
スタックのようなサイドチェーンは、スマート コントラクト機能と幅広いアプリケーションを提供しますが、独立したコンセンサス メカニズムを備えているにもかかわらず、これらのメカニズムは広く受け入れられるのに苦労しています。
RGB のようなクライアント側検証プロジェクトは、オフチェーンのより複雑なトランザクションにメインネットの UTXO モデルを利用しますが、ビットコイン メインネットとの相互作用には安定性が欠けています。
ライトニングネットワークのようなステートチャネルは、コアビットコイン開発者と密接に関係しており、よりオーソドックスなスケーリング方法とみなされています。

第一世代のBTC拡張ソリューション
既存のソリューションと比較して、最近のスケーリング手法にはどのような新規性がありますか?私たちの意見では、最もエキサイティングなイノベーションは、ビットコイン上でプログラムをコーディングすること (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+ であるため、ポールが出した答えは 35 です。 15) = 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 に特有の追加の複雑さとして次のようなものがあります。
BitVM は理論的には複雑なオフチェーン プログラムを実行できますが、実際には、これらのオフチェーン プログラムの複雑さが増すにつれて、ビットコインでの不正証明の実行に関連する料金が急速に増加します。プログラムが大きすぎると、実行するために複数のブロックが必要となり、プロセスがさらに複雑になる場合があります。
ハッシュレートが過半数を占めるマイニングプールは、共謀してチャレンジャープルーフを検閲したり、悪意のある攻撃者が賄賂を受け取ってチャレンジャーを無視したりできるため、BitVM から盗むことができます (ライトニングネットワークの問題と同様)。
BitVM 証明のインタラクティブな性質により、悪意のある証明者がシステムを操作し、バリデータから盗む可能性があります。攻撃は次の仮定に基づいて構築できます。
証明者はトランザクションを開始して検証シーケンスを開始します
証明者の行為の正当性を疑う検証者は、証明者に支払われる回答料を含む異議申し立てを開始します。
証明者は、チャレンジを無視し、検証プロセスにおける役割を果たさないまま、料金を徴収することを選択しました。
結局のところ、BitVM は現時点では概念的なフレームワークであり、ほとんど何もできない仮想コンピュータの概念です。 BitVM の「畳み込み」はアプリケーション レベルにはまだ程遠いですが、楽観的に見積もると、早ければ 2025 年にも一部の BitVM プログラムが実用化される可能性があります。 BitVM の実装に伴う技術的なリスクを過小評価することはできません。
6 結論
現在イーサリアムの時価総額の約 15 ~ 20% を占めるイーサリアム スケーリング ソリューションの評価を考慮すると、ビットコインの第 2 層ソリューションの潜在的な時価総額は膨大になる可能性があります。
BitVM はまだ初期段階にあり、本質的には未完成の仮想コンピュータのコンセプトですが、すでに多くの関心を集めており、その可能性を活用しようとするさまざまなプロジェクトからの発表が行われています。 BitVM チームに所属していない多くのプロジェクトは、ビットコインの有望な新境地と見なされる分野でニッチ市場を開拓することを期待して、大々的な発表を急いでいます。しかし、詳しく調べてみると、より厳粛な現実が明らかになります。BitVM の GitHub アカウントにはほんの一握りの寄稿者しかおらず、実際に BitVM Builders Telegram グループに参加しているのはほんの一握りのビットコイン「L2」プロジェクトだけです。
ビットコインのスケーラビリティ ソリューションが遵守しなければならない重要な原則は、ビットコインのコア アーキテクチャは (予測可能性の原則に従って) 変更されないままである必要があるということです。 BitVM はこの原則を採用しており、コアを変更することなくビットコインの上にプログラム可能なレイヤーを提供する最初の先駆的なソリューションとなります。
この記事は BitVM の開発の非常に初期段階に書かれたもので、その急速な発展を考慮すると、ここに記載されている情報はすぐに古くなってしまう可能性があります。たとえば、ビットコインに ZK 畳み込みを実装するというアイデアは、最近まで空中の城のように見えました。これは、ZK の証明を検証するビットコインの機能など、必要な基礎的な機能が存在しなかったためです。しかし最近、BitVM 研究者らは、ビットコインでの STARK バリデーターの実装につながる可能性のあるビットコイン スクリプトの進歩について共有しました。
ビットコイン スケーリング ソリューションの実装には、純粋に技術的な課題だけではなく、コミュニティ サポート、ユーザー エクスペリエンス、タイミングなどの要素が含まれます。現在はこれらのイノベーションにとってまたとない機会を提供していますが、プロジェクト数の急速な増加と、誤解を招く主張やマーケティングによってもたらされる重大なリスクにより、より正当なプロジェクトの見通しが損なわれる可能性があります。
エコシステムがこの岐路に立つ中、ビットコインのスケーリングソリューションがイーサリアムの成功を再現できるかどうかという問題は、技術的な問題だけでなく、ブロックチェーンコミュニティのより広範な力学に深く根ざしています。結局のところ、コアのイーサリアム コミュニティはイーサリアムのスケーリング ロードマップの重要な部分として L2 を選択しましたが、ビットコイン コミュニティについてはまだ同じことが言えません。


