
BitVM 是比特币生态系统中最新的热门协议,有潜力使每个在比特币上构建的项目受益。BITVMの設計と、Bitcoinに開かれる新しい可能性について話しましょう。
<図>
>
「ビットコインシーズン2[3]「説教では、開発者とユーザーはビットコインでプロジェクトを構築し、ビットコインでの永遠の挑戦を解決するための新しいユースケースと新しい方法をもたらすことに興奮しています。
ビットコインにはスケーラビリティがありません。ブロックスペースが限られているため、ネットワークの混雑中にトランザクションコストが急激に変動する場合があります。各ブロックには、ビットコインを使用するために約1MBのみが含まれています。ソリューションを拡張する必要があります[4]エッセンス
ビットコインL2で[5](Layer2ブロックチェーン)ビットコインのスケーラビリティと新しい機能の導入を改善するために、多くの作業が行われました。今日、ビットコインには数十のプロジェクトが構築されています[6]最も前向きな研究とイノベーション分野の1つはビットコインロールアップです[7]エッセンス高レベルでは、ビットコインロールアップにより、チェーンの下でトランザクションが発生し、同時に単一の状態の変更に「ロール」すると、参加者がその状態を確認できるようにします。提出ステータスは正確です
ただし、この証明システムをBitVMの役割であるビットコインに導入するという課題があります。
BITVMとは何ですか?
Bitvm[8]これは、ビットコインで達成できる契約/ルールセットです。この契約は、ビットコインロールアップや最小限の信頼ブリッジを含むさまざまなユースケースを達成できます。BITVMのコア設計はチェーンに計算され、ビットコインブロックチェーンに不正な証明書メカニズムが実装されます。
BITVMは、ビットコインで詐欺証明を達成できます。
Bitvm White Paperは2023年10月にRobin Linusによってリリースされました(RobinがZerosyncであることは注目に値します[9]チームの1人のメンバーであるプロジェクトは、ビットコインのゼロ認識認証システムの開発に取り組んでおり、開発者は過去数か月で合意を実験しており、ますます興味を持ち続けています。
BITVMは、ソフトウェアによって実装された実際の仮想マシン(Ethereum仮想マシンなど)ではなく、参加者が事前に合意した分散プロトコル/ルールセットとして扱うことができます。ビットコイン条例に似ています[10]作業方法は、社会的コンセンサスの一部です。
BITVMが非常にエキサイティングである理由は、ビットコイン応答プロトコルの回路を確認するための課題を提供するため、チェーンの下でステートメントを作成し(この証明書は有効です)、ビットコインL1を使用して検証することができます。その中で、「bitcoin」が鍵です。ビットコインを実装すると、ビットVITプロトコルを使用して、楽観的なロールアップ、2回のBTCアンカーなどを構築できます。
BITVMの問題は何ですか?
ビットコインに基づいて構築されたプロジェクトは、チェーンとの対話がどれほど難しいかを知っています(Hiroでは、この痛みを直接経験しました)。ビットコインに基づいて構築された課題の1つは、ビットコインには複雑なコンピューティングを処理する機能がないことです。
スマートコントラクトはありません。仮想マシンはありません。プログラミングは、操作コードを通過できるオペレーターに限定されています[11](操作コード)建設コンテンツ、そしてこの機能は限られています。新しい動作コードの導入には、BIPとビットコインフォークが必要です(これは非常に困難です)。
したがって、フォークと新しい操作コードなしでは限られたプログラミングのみを使用できます。ビットコインを拡張する場合、この制限は主に2つの側面に反映されています。
-
2つのウェイBTCアンカーを構築する場合は、方程式から信頼を削除することは困難です。ほとんどのBTCアンカーは、今日のカストディアンに関係しています。時々それは「執筆問題」と呼ばれます。Stacks Ecosystemでは、今後のNakamotoアップグレード[12]最小限の信頼橋の設計を含めて、後で入門書。
-
ロールアップを介して計算またはトランザクションをチェーンに移動する場合は、ビットコイン自体のデータを検証および検証することは困難です。これは検証の問題です。
-
アリスとボブは、BITVMプロトコルに従うことに同意しました。
-
前面が値h0で表され、負の値h1が表されていると仮定します。アリスは、P0とP1などの他の2つの値を選択し、H0とH1にハッシュを持っています。したがって、(p0)= H0およびハッシュ(P1)= H1を持っています。P0はH0の「元の画像」と呼ばれ、P1はH1の元の画像と呼ばれます。
-
アリスはH0とH1をボブと共有しています(実際、アリスの「コミットメント」はハッシュ値を「約束」しているため、後で異なる値を持っていると主張することはできません)。ボブは、元の画像P0とP1(およびこれらの値を「推測」することが非常に困難であることを知らないので、ボブがこれらの値を魔法のように発見しないと安全に仮定できます)。
-
アリスとボブは事前に2つのトランザクションに署名しました。1つはチャレンジ用、もう1つは対応のためです。
-
挑戦的なトランザクションでは、ボブにはスクリプトが既知のハッシュHOまたはH1の1つであるかどうかを確認します値が正の場合;さらに、スクリプトにはタイムロックがあります。
-
トランザクションに応じて、アリスは、対応する元のP0またはP1を含むことにより、コインの結果を「明らかに」することにより、コインの結果を「明らかにする」ことができます。Aliceに価値、2つの値、またはP0またはP1以外の値が含まれていない場合、ボブは賞金プールを取得します。それ以外の場合、値がP0(前面)の場合、アリスは賞金プールを獲得しました。
-
これで、ゲームを開始する準備ができました。アリスはコインを投げますが、結果を明らかにしていません。ボブはチャレンジトランザクションを発行し、アリスはトランザクションに対応しました。前述のスクリプトを通して、「詐欺検出」の論理がチェーンで実行されます。明らかに、これは些細で意図的な例ですが、重要なアイデアを示しています。わずかに複雑な例については、Super TestNetという名前の開発者が設計したよく書かれたチェスゲームを検討してください。GitHubリポジトリはこちらから表示できます[13]、今日でも、「Bit Tac Toe」を再生できます[14]「スーパーテストネットは実際にこのゲームをHiroに見せています。以下を見ることができます。
-
ジンジチェスは9番目の宮殿です。最初のプレーヤーアリスは最大5ステップを踏むことができるため、45のプリイメージとハッシュ(ラウンドあたり9)があります。2番目のプレーヤーはせいぜい最大4つのステップを取ることができるため、36のハッシュがあります。
-
Jingziには3つの「不正行為」メソッドがあります。したがって、チャレンジ/応答プロトコルはテストを中心に構築されます。
-
挑戦すると、トランザクションにより、別のプレーヤーがどの平方にxまたはoを配置したかを「明らかに」させます。
-
応答トランザクションには、上記の3つすべてが検出されない場合、スクリプトがあります。詐欺が検出された場合、チャレンジャーが勝ち、証明の証拠が失敗しました。
-
コインを投げる例から、単一のビットを検証する方法がわかります。「ビットコミットメント」証明と呼びましょう。
-
激しいコミットメントにより、論理的なドアのコミットメントを構築できます。2つの入力(各値が0または1)のブールおよび /またはオペレーターを考慮すると、演算子は単一の出力を定義します。したがって、入力として2つのビットコミットメントを使用し、1ビットコミットメントを出力として使用すると、論理的なドアに効果的な証明を作成できます。BITVMホワイトペーパーでは、NANDロジックドアを使用しています。
-
最後に、いずれかの計算は、一連の論理ドアで表すことができます。BITVMホワイトペーパーはそれを「バイナリ回路」と呼んでいます。このような回路は、Tapscriptで効果的に表現でき、各タップツリーの葉は単一のドアのコミットメントを表しています。
-
課題/応答プロトコルには、基本的に特定のドアコミットメントの出力が含まれます。最悪の場合、各ドアの出力を確認する必要がある場合があります。
-
SBTCの信頼の仮定を改善します
-
ビットコイン上のスタックブロックに有効性の効果的な証明を追加する
-
出口には、オフライン/誠実さがある署名の数に応じて時間がかかる場合があります。
-
この署名ネットワークを信頼し、スタック全体をより広く信頼する必要があります。
-
出口は楽観的である可能性があります(したがって、幸福の道でより速く扱うことができます)。
-
アンカーは、正直な参加者に署名ネットワークの30%を信頼する必要があります。
これら2つの問題について、BITVMはビットコインL1でチャレンジ/応答プロトコルを達成することにより、劇的な設計改善のロックを解除できます。
BITVMでの作業方法は?
BITVMをプロトコルまたは一連のルールとして扱う良い方法です。両当事者がこれらのルールに事前に従うことに同意した場合(つまり、互いに協力する必要があることを意味します)、チャレンジ対応ゲームをプレイできます。理論的には、これはビットコインに関する任意の複雑なプログラムを検証/証明するために使用できます(これらのプログラムの実際の実行は、チェーンの下で発生します)。
具体的な例を挙げましょう。
アリスとボブがコインゲームをプレイしたいと仮定します。2人のプレーヤーはそれぞれ賞金プールに0.5 BTCを入れました。フロントで1つのBTCを獲得します。アリスはコインを保持し、最初にコインを投げます。ボブは、アリスがだまされないようにしたいと考えています。以下は、BITVMを使用してこのゲームをプレイする方法です(簡単にするために、多くの詳細が省略されています):
YouTubeのBITVMクラッシュコース[15]
以下は、ゲームのプレミアムコンポーネントです。
これらの2つのケースでは、詐欺が手作りであり、使用の使用のために設計されていることが証明されています。チェスチェスによって証明された詐欺は、コインなどを投げるためには機能しません。
全体的な状況に戻ると、BITVMホワイトペーパーでは一般的な方法について説明しています。プログラムについては、プログラムの有効性証明を構築する方法を提供します。重要な意見は次のとおりです。
このリポジトリを確認してください[16]、プログラムをTapleaf回路に変換する方法を理解します。
スタックはどのように適応しますか?
StacksエコシステムにおけるBITVMの2つの明白で最も関連するアプリケーションは次のとおりです。
なぜこれら2つのアプリケーションを選択するのですか?現在のSBTC設計[17]それはすでに、ビットコインの最も安全で最小化された2つの双方向アンカーの1つです。それにもかかわらず、セキュリティモデルと信頼の仮定で[18]まだ改善の余地があります。正直な署名の少なくとも30%の要求とは異なります。または、評判の高い署名のセットを信頼することで、BITVMベースの方法により、SBTCは正直な参加者のみを実行する必要があります。
同様に、各スタックブロックはビットコインに落ち着いていますが、現在の設計では、チェーン状態のコピー時にスタックデータを独立して検証することができます。BITVMを使用する場合、Stacksブロックには効果的な証明も含まれている場合、整合性を確認することはできません(特定のスタックブロックのデータは、ビットコインに保存されているハッシュと一致しています)。ストレージを表示してストレージビットコイン検証の証明は、特定のスタックブロック内のトランザクションの実際の実行です)。言い換えれば、これにより、スタックがビットコインの楽観的なロールアップに発展することができます。
これらのアプリケーションの特定の方法を実装してBITVMを使用する方法により、より多くの研究開発が必要です。しかし、私たちはいくつかのアイデアを高レベルで概説しようとすることができます。
BITVMとSBTC
SBTCの例を考えてみましょう。アンカープロセスは非常に簡単で、完了するにはビットコイントランザクションのみが必要です。ただし、現在の設計では、アンカー出口プロセスは、リクエストを処理するための署名に依存します(スタック上)。これはいくつかの制約をもたらします:
変更(または多分)場合は、ビットコインで効果的な証明を生成し、BITVMを使用します[19]、それで:
重要なのは、有効性の証明を構築する方法を正確に見つけることです。BITVMホワイトペーパーで説明されているブルートフォース法は機能する可能性がありますが、非常に大きなTapleaf回路(数十億ノード)につながる可能性があります。これは、注意とリソースのコスト(取引コスト!)は言うまでもなく、あらゆる課題に長い時間がかかることを意味します(数週間以上かかる場合があります)。Jingziqiの例でわかるように、特定のケースにカスタマイズされたより簡潔な証明を構築できます。
BITVMとスタック
スタックブロック全体の有効性については、探索する価値のあるデザインスペースがたくさんあります。たとえば、単一のトランザクションの粒度またはブロック全体の粒子サイズは、2つの間にあります(原因と効果の依存関係チェーンを構成するトランザクションなど)?単純なトークン転送の証明など、段階的な方法を採用してから、徐々に明確な契約を追加することは可能ですか?Stacks MinerとNetworkの参加者は、Stacksチェーン状態の完全な歴史を維持するための経済的インセンティブをすでに持っているため、これはビットコインブロックスペースを適切に使用していますか?
結論は
BITVMは、ブログ記事よりも多くの研究、思考、実験を必要とするエキサイティングなテーマですが、これがビットコインの最近のエキサイティングな開発の1つを明確にするのに役立つことを願っています。