Cointime

Download App
iOS & Android

ビットコイン Layer2 スケーリング技術の分析: 有効性の証明と不正の証明

著者: mutourend & lynndell、Bitlayer Labs

原題:「ビットコイン Layer2 スケーリング技術の分析: 有効性の証明と不正の証明」

元のリンク: https://blog.bitlayer.org/Analysis_of_Bitcoin_Layer2_Scaling_Techniques_Validity_Proofs_and_Fraud_Proofs/

特定のアルゴリズム f では、お互いを信頼していない 2 人の参加者アリスとボブは、次の方法で信頼を確立できます。

  1. アリスは x を入力し、アルゴリズム f を実行し、結果 y を取得します。ボブは、同じ入力 x に基づいてアルゴリズム f も実行し、結果は y' になります。 y = y' の場合、ボブはアリスによって提供された入力 x と出力 y を受け入れます。これは、ブロックチェーンのコンセンサスで一般的に使用される特別な有効性証明メカニズムです。このうち、Alice はブロックをパッケージ化するノード、Bob はコンセンサスに参加するノードです。
  2. アリスは x を入力し、アルゴリズム f で zk.prove プログラムを実行し、結果 y と証明を取得します。ボブは、f、y、およびproof に基づいて zk.verify プログラムを実行します。結果が true の場合、ボブはアリスの結果 y を承認しますが、結果が false の場合、ボブはアリスの結果 y を承認しません。これが効果の証です。その中で、Bob はオンチェーン契約になる可能性があります。
  3. アリスは x を入力し、アルゴリズム f を実行し、結果 y を取得します。ボブは、同じ入力 x に基づいてアルゴリズム f も実行し、結果は y' になります。 y = y' の場合は何もしません。y ≠ y' の場合、ボブはアリスに挑戦し、挑戦されたプログラムは f です。アリスとボブの間の対話の数は 1 つ以上です。調停は、チャレンジ応答プロセスに基づいて実装されます。これは詐欺の証拠です。その中で、ボブはチャレンジャーであり、チェーンの外を監視し、チェーン上で挑戦します。
  4. アリスは x を入力し、アルゴリズム f で zk.prove プログラムを実行し、結果 y と証明を取得します。ボブは、f、y、およびproof に基づいて zk.verify プログラムを実行します。結果が true の場合は何もせず、結果が false の場合は、ボブがアリスに挑戦し、挑戦されているプログラムは zk.verify です。アリスとボブの間の対話の数は 1 つ以上です。アリスとボブの間の対話の数は 1 つ以上です。調停は、チャレンジ応答プロセスに基づいて実装されます。これは詐欺の証拠です。その中で、ボブはチャレンジャーであり、チェーンを離れて監視し、チェーン上で挑戦します。

上記の 2、3、4 について、x をレイヤー 2 トランザクションと開始状態、f をレイヤー 2 コンセンサス プログラム、y をトランザクション終了状態とします。これは、ブロックチェーンのレイヤー 2 拡張計画に対応します。で:

上記の 2、3、4 について、x をレイヤー 2 トランザクションと開始状態、f をレイヤー 2 コンセンサス プログラム、y をトランザクション終了状態とします。これは、ブロックチェーンのレイヤー 2 拡張計画に対応します。で:

  • 有効性の証明: 悲観的な仮定に基づいて、承認される前に有効であることが証明されなければならず、すぐに発効します。妥当性の証明では、L2 状態遷移が正しいという証拠を提供する必要がありますが、これは悲観的な世界観を反映しています。特定の状態は、それが正しいと証明された場合にのみ受け入れられます。
  • 不正行為の証明: 楽観的な仮定に基づいており、デフォルトで受け入れられ、間違っていることが証明されない限り拒否されます。チャレンジウィンドウ期間があり、チャレンジウィンドウ期間が終了するまで有効になりません。不正行為の証明では、楽観的な世界観を反映して、L2 状態遷移が間違っているという証拠が必要です。つまり、間違っていることが証明されない限り、特定の状態遷移はデフォルトで正しいということです。

表 1: 信頼を築く方法

さらに、次の点にも注意してください。

  • 不正証明と正当性証明を区別する鍵は、SNARK/STARK などの ZK 証明システムが使用されているかどうかを判断することではありません。 ZK 証明システムは使用された証明方法を表し、不正または正当性は証明の内容を表します。表 1 のシナリオ 1 が有効性の証拠であると言われるのはこのためです。
  • 有効性証明は適時性が優れていますが、オンチェーン検証の複雑さは比較的高く、詐欺証明はオンチェーン検証の複雑さは低いですが、適時性は比較的劣ります。
  • 表 1 のケース 2 と 4 では、ZK 再帰および組み合わせテクノロジーの助けを借りて、複数の f を計算して圧縮することができ、チェーン上のオフチェーン計算の検証コストを大幅に償却および削減できます。

現在、堅牢性チューリング完全スマート コントラクトの恩恵を受けて、不正防止および有効性証明テクノロジーがイーサリアム レイヤ 2 拡張で広く使用されています。ただし、ビットコインのパラダイムの下では、ビットコインの限られたオペコード機能や 1,000 個のスタック要素などの制限により、これらの技術的アプリケーションはまだ探索段階にあります。この記事では、ビットコイン レイヤ 2 の拡張シナリオを考慮して、ビットコイン パラダイムにおける限界と画期的なテクノロジを要約し、正当性証明および不正証明テクノロジについて研究し、ビットコイン パラダイムにおける独自のスクリプト セグメンテーション テクノロジを整理します。

ビットコインのパラダイムには多くの制限がありますが、さまざまな賢い方法やテクノロジーを使用してこれらの制限を突破できます。たとえば、ビット コミットメントは UTXO ステートレス制限を突破でき、タップルートはスクリプト スペース制限を突破でき、コネクタ出力は UTXO 支払い方法制限を突破でき、コントラクトは署名前の制限を突破できます。

ビットコインは UTXO モデルを採用しており、各 UTXO は、UTXO を使用するために満たさなければならない条件を定義するロック スクリプトでロックされます。ビットコイン スクリプトには次の制限があります。

  1. ビットコイン スクリプトはステートレスです。
  2. P2TR出力タイプの場合、1 つのトランザクションに収容できるオペコードの最大合計数は約 400 万で、ブロック全体を埋め尽くしますが、他の出力タイプの場合、オペコードは 10,000 しかありません。
  3. 単一の UTXO の支出方法は限られており、組み合わせた支出方法の検討が不足しています。
  4. 柔軟な契約機能をサポートしません。
  5. スタック サイズは最大 1000 要素 (altstack + スタック) に制限されており、単一要素の最大サイズは 520 バイトです。
  6. 算術演算 (加算、減算など) は 4 バイト要素に制限されます。 20 バイト以上などの長い要素に変更することはできませんが、暗号化操作には必要です。
  7. OP_MULOP_CATなどのオペコードが無効になっているため、既存のオペコードを使用してシミュレートすると、コストが非常に高くなります。たとえば、1 ラウンドの BLAKE3 ハッシュをシミュレートするには、スクリプト サイズが約 75K になります。

現在のビットコイン スクリプトは完全にステートレスです。ビットコイン スクリプトを実行すると、各スクリプトの後に実行環境がリセットされます。その結果、ビットコイン スクリプトは、同じ x 値を持つ制約スクリプト 1 とスクリプト 2 をネイティブにサポートできなくなります。ただし、この問題を回避する方法はあります。その中心的な考え方は、何らかの方法で値に署名することです。値に署名を作成できれば、ステートフルなビットコイン スクリプトを実装できます。つまり、スクリプト 1 とスクリプト 2 の x 値の署名をチェックすることで、スクリプト 1 とスクリプト 2 で同じ x 値を強制できます。競合する署名がある場合、つまり、同じ変数 x が 2 つの異なる値で署名されている場合、これにはペナルティが課される可能性があります。解決策はちょっとしたコミットメントです。

ビットコミットメントの原理は比較的単純です。いわゆるビットとは、署名メッセージの各ビットに 2 つの異なるハッシュ値、つまり hash0 と hash1 を設定することを指します。署名が必要なビット値が 0 の場合は、hash0 の preimage0 が公開され、署名が必要なビット値が 1 の場合は、hash1 の preimage1 が公開されます。

単一ビット メッセージ m ∈ {0,1} を例にとると、対応するビット コミットメント ロック解除スクリプトは単なるプリイメージです。ビット値が 0 の場合、対応するロック解除スクリプトは preimage0 - "0xfa7fa5b1dea37d71a0b841967f6a3b119dbea140" になります。 1 の場合、対応するロック解除スクリプトは preimage1——「0x47c31e611a3bd2f3a7a42207613046703fa27496」です。したがって、ビット コミットメントの助けを借りて、UTXO のステートレス制限を破り、ステートフルなビットコイン スクリプトを実装することができ、さまざまな興味深い新機能が可能になります。

OP_HASH160

OP_DUP

<0xf592e757267b7f307324f1e78b34472f8b6f46f3> // これはハッシュ 1 です

OP_EQUAL

OP_DUP

OP_ROT

<0x100b9f19ebd537fdc371fa1367d7ccc802dc2524> // これは hash0 です

OP_EQUAL

OP_BOOLOR

OP_VERIFY

// ビットコミットメントの値は「0」または「1」のいずれかになります。

ビット コミットメントには現在 2 つの実装方法があります。

  • Lamport ワンタイム署名: 原理は比較的単純で、必要なのはハッシュ関数の使用のみであるため、ビットコインに適しています。メッセージ内の各ビットに対して 2 つのハッシュ値をコミットする必要があるため、比較的大きな署名データが生成されます。つまり、長さが v ビットのメッセージの場合、公開鍵の長さは 2v ビット、署名の長さは v ビットになります。
  • Winternitz ワンタイム署名: Lamport 署名と比較すると、署名と公開キーの長さを大幅に短縮できますが、署名と検証の複雑さは増加します。このソリューションでは、異なるハッシュ チェーン長の d 値を柔軟に設定して、長さと複雑さの間のトレードオフを行うことができます。例えば、d=15に設定すると、公開鍵長と署名長は約4倍短くなりますが、署名検証の複雑さは約4倍になります。これは基本的に、ビットコインのスタック領域とスクリプトのサイズの間のトレードオフです。ランポート署名は、d =1 の場合のウィンターニッツ署名の特殊なケースとみなすことができます。

現在、BitVM2 ライブラリでは、Blake3 に基づくハッシュ関数が Winternitz シグネチャを実装しています。 1 ビットに対応する署名の長さは約 26 バイトです。ビットコミットメントによるステータスの導入コストが高いことがわかります。したがって、BitVM2 プロジェクトの実装では、最初にメッセージをハッシュして 256 ビットのハッシュ値を取得し、次にそのハッシュ値に対してビット コミットメントを実行することで、メッセージの各ビットに対してハッシュ演算を直接実行する代わりに、オーバーヘッドを節約します。オリジナルの長いメッセージ。

2021 年 11 月以降に有効化された Bitcoin Taproot ソフト フォーク アップグレードには、Schnorr 署名 (BIP 340) 、Taproot (BIP 341)、 TapScript (BIP 342) の 3 つの提案が含まれています。新しいトランザクション タイプである Pay-to-Taproot (P2TR) トランザクションが導入されました。 P2TR トランザクションは、Taproot、MAST (マークル抽象構文ツリー)、および Schnorr 署名の利点を組み合わせることで、よりプライベートで柔軟かつスケーラブルなトランザクション形式を作成できます。

P2TR は、キー パスまたはスクリプト パスに基づく支出という 2 つの支出方法をサポートしています。

Taproot (BIP 341) の規定によれば、スクリプト パスで使用する場合、対応するマークル パスの最大長は 128 を超えません。これは、タップツリー内のタップリーフの数が 2128 を超えないことを意味します。 2017 年の segwit アップグレード以来、ビットコイン ネットワークはブロック サイズを重量単位で測定し、最大 400 万重量単位 (つまり約 4MB) をサポートしています。 P2TR 出力がスクリプト パスを通じて使用される場合、公開する必要があるのは 1 つのタップリーフ スクリプトだけです。つまり、ブロックは 1 つのタップリーフ スクリプトでパッケージ化されます。これは、P2TR トランザクションの場合、各タップリーフに対応する最大スクリプト サイズは約 4MB であることを意味します。ただし、ビットコインのデフォルト戦略では、多くのノードは 400K 未満のトランザクションのみを転送します。より大きなトランザクションをパッケージ化したい場合は、マイナーと協力する必要があります。

Taproot によってもたらされたスクリプト スペースのプレミアムにより、既存のオペコードを使用して乗算やハッシュなどの暗号化操作をシミュレートする価値が高まります。

P2TR に基づいて検証可能な計算を構築する場合、対応するスクリプト サイズは 4MB に制限されなくなり、代わりに計算を複数のサブ関数に分割して複数のタップリーフに分散できるため、4MB のスクリプト サイズのスペース制限を突破できます。実際、現在 BitVM2 に実装されている Groth16 検証アルゴリズムのサイズは 2GB にもなります。ただし、ビットコミットメントと組み合わせることで、各サブ関数の入力と出力の一貫性を制約することで、計算全体の完全性と正確性を制約できます。

ビットコインは現在、単一の UTXO に対してネイティブな支払い方法 (スクリプトによる支払いまたは公開キーによる支払い) を提供しています。したがって、対応する正しい公開鍵署名が提供されているか、スクリプト条件が満たされている限り、UTXO を使用できます。 2 つの UTXO は独立して使用できますが、2 つの UTXO を制約する制限を追加することはできません。そのため、使用する前に追加の条件が満たされる必要があります。

しかし、Ark プロトコルの創設者である Burak は、SIGHASH フラグを巧みに使用してコネクタ出力を実現しました。具体的には、アリスは自分の BTC をボブに送信するための署名を作成できます。ただし、署名は複数の入力をコミットできるため、Alice は自分の署名を条件付きに設定できます。署名は、トランザクションが 2 番目の入力を消費する場合に限り、Take_tx トランザクションに対して有効になります。 2 番目の入力はコネクタと呼ばれ、UTXO A と UTXO B を接続します。言い換えれば、Take_tx トランザクションは、UTXO B が Challenge_tx によって消費されていない場合にのみ有効です。したがって、コネクタ出力を破棄することで、Take_tx トランザクションの有効化をブロックできます。

図 1: コネクタ出力図

BitVM2 プロトコルでは、コネクタ出力は if...else 関数として機能します。コネクタ出力がトランザクションによって使用されると、排他性を確保するために別のトランザクションによって使用されることはできません。実際の導入では、チャレンジレスポンス期間を確保するために、タイムロック付きUTXOを追加導入します。さらに、対応するコネクタ出力では、必要に応じてさまざまな支出戦略を設定することもできます。たとえば、チャレンジ トランザクションは誰でも支出できるように設定でき、一方、レスポンス トランザクションはオペレータのみが支出できるように設定したり、期限切れ後に誰でも支出できるように設定したりできます。 。

現在のビットコイン スクリプトは主にロック解除の条件を制限していますが、UTXO のさらなる使用方法は制限していません。その理由は、ビットコイン スクリプトがトランザクション自体の内容を読み取ることができない、つまりトランザクション イントロスペクションを実装できないためです。ビットコインスクリプトでトランザクションの内容(出力も含む)を確認できればコントラクト機能が実現できます。

現在の契約の履行方法は、次の 2 つのカテゴリに分類できます。

  • 事前署名: 既存のビットコイン スクリプト機能に基づいて、事前署名により、機能が制限された所定の契約が構築されます。つまり、将来起こり得るすべてのトランザクションが事前に設計および署名され、参加者は特定の秘密鍵とレートにロックされます。一部のスキームでは、すべての事前署名済みトランザクションに対して有効期間の短い秘密キーを生成することを当事者に要求することさえあります。事前署名が完了すると、これらの短期秘密鍵は安全に削除されるため、攻撃者が短期秘密鍵を入手して資金を盗むことはできません。しかし、新しい参加者が追加されたり、操作が更新されたりするたびに、上記のプロセスを繰り返す必要があり、その結果、多額のメンテナンスコストが発生します。たとえば、ライトニング ネットワークは、事前署名を通じて 2 者間契約を実装し、ハッシュ タイム ロック (HTLC) テクノロジーを使用して複数の 2 者間契約のルーティング機能を実装することで、信頼を最小限に抑えた拡張戦略を実現します。ただし、Lightning Network では複数のトランザクションの事前署名が必要で、2 者に制限されているため、少し面倒です。BitVM1 では、初期化のたびに数百のトランザクションに事前署名する必要がありますが、最適化された BitVM2 では、初期化されるたびに事前署名が必要になるため、事前署名されたトランザクションの数も数十に達しました。 BitVM1 であっても BitVM2 であっても、事前署名に参加した事業者のみが償還の対象となります。事前署名に参加している参加者が n 人いて、各参加者が m 個のトランザクションに事前署名する必要がある場合、各参加者の事前署名の複雑さは n ∗ m になります。
  • 契約オペコードの導入: 新しい契約関数オペコードの導入により、契約参加者間の通信の複雑さと保守コストが大幅に削減され、それによってビットコインにより柔軟な契約実装方法が導入されます。たとえば、OP_CAT: バイト文字列を連結するために使用されます。その機能は非常にシンプルですが、非常に強力で、BitVM の複雑さを大幅に軽減できます。コントラクト内のアクションをより詳細に制御できます。 BitVM で使用すると、より多くの演算子セットをサポートできるため、BitVM のセキュリティ前提が大幅に改善され、信頼が最小限に抑えられます。さらに、BitVM の設計による事前署名方式では、オペレーターは前払い償還プロセスしか使用できず、資金利用効率が低いため、新しい契約操作コードを使用して、キャッシング ユーザーに直接支払うことができます。資金プールを固定化し、資本効率をさらに向上させます。したがって、柔軟な契約モデルは、従来の署名前の制限を効果的に突破します。

有効性証明と不正証明の両方をビットコイン L2 拡張に使用できます。この 2 つの主な違いを表 2 に示します。

有効性証明と不正証明の両方をビットコイン L2 拡張に使用できます。この 2 つの主な違いを表 2 に示します。

表 2: 有効性の証明と不正の証明

ビットコミットメント、タップルート、事前署名、コネクタ出力に基づいて、ビットコインベースの不正証明を構築できます。タップルートに基づいて、OP_CAT などのコントラクト オペレーション コードを導入することにより、ビットコイン ベースの有効性証明書を構築できます。さらに、ボブがアクセス システムを持っているかどうかに応じて、不正行為の証明は、許可された不正の証明と許可のない不正の証明に分類できます。このうち、許可型不正証明では、特定のグループのみがボブとして異議を申し立てることができますが、許可なし不正証明では、任意の第三者がボブとして異議を申し立てることができます。パーミッションレス システムのセキュリティはパーミッション型システムよりも優れており、パーミッション型の各参加者が悪行為を行うリスクを軽減できます。

図 2 に示すように、アリスとボブの間のチャレンジ応答インタラクションの回数に応じて、不正証明は 1 ラウンドの不正証明と複数ラウンドの不正証明に分けることができます。

表 3 に示すように、不正行為の証明は、1 ラウンド インタラクション モデルやマルチラウンド インタラクション モデルなど、さまざまなインタラクション モデルを通じて実現できます。

ビットコイン レイヤ 2 拡張パラダイムの下では、BitVM1 はマルチラウンドの不正防止メカニズムを使用し、BitVM2 は 1 ラウンドの不正防止メカニズムを使用し、 bitcoincircle stark は有効性証明を使用します。このうち、BitVM1 と BitVM2 はビットコイン プロトコルを変更することなく実装できますが、ビットコイン サークル スタークは新しいオペコード OP_CAT の導入が必要です。

ほとんどのコンピューティング タスクでは、ビットコイン シグネット、テストネット、メインネットを 4 MB のスクリプトで完全に表現することはできません。つまり、完全な計算を表すスクリプトは 4 MB 未満のチャンクに分割され、各タップリーフに分散されます。 。

表 3 に示すように、マルチラウンド不正証明は、オンチェーン調停計算の量を削減したいシナリオ、および/または 1 ステップで問題のある計算フラグメントを特定することが不可能なシナリオに適しています。マルチラウンド不正証明では、その名前が示すように、証明者と検証者の間で複数ラウンドのやり取りを行って問題のある計算の断片を特定し、特定された計算の断片に基づいて仲裁を行う必要があります。

表 3 に示すように、マルチラウンド不正証明は、オンチェーン調停計算の量を削減したいシナリオ、および/または 1 ステップで問題のある計算フラグメントを特定することが不可能なシナリオに適しています。マルチラウンド不正証明では、その名前が示すように、証明者と検証者の間で複数ラウンドのやり取りを行って問題のある計算の断片を特定し、特定された計算の断片に基づいて仲裁を行う必要があります。

Robin Linus の初期のBitVM ホワイト ペーパー (BitVM1 と呼ばれることが多い) では、複数回の不正行為の証明が使用されていました。各ラウンドのチャレンジ期間を 1 週間とし、問題の計算フラグメントを見つけるために二分探索法が使用されると仮定すると、Groth16 Verifier のオンチェーンのチャレンジ応答期間は 30 週間にもなり、適時性が非常に劣ります。現在、二分法よりも効率的な n 分検索法に取り組んでいるチームがありますが、その適時性は、不正行為の証明のラウンドにおける 2 週間のサイクルよりもはるかに低いです。

現在、ビットコインパラダイムに基づく複数ラウンドの不正証明はすべて許可付きチャレンジを使用しますが、1 ラウンドの不正証明では許可なしチャレンジ方式が実装されており、これにより参加者間の共謀のリスクが軽減され、セキュリティが向上します。この目的を達成するために、Robin Linus はタップルートを最大限に活用して BitVM1 を最適化しました。インタラクションラウンドの数が 1 つに減るだけでなく、チャレンジ方法が許可のないものに拡張されますが、その代償としてオンチェーンのアービトレーション計算量が増加します。

検証不正の証明は、証明者と検証者の間で 1 回の対話だけで完了できます。このモデルでは、検証者は一度だけチャレンジを開始する必要があり、証明者は一度だけ応答する必要があります。この応答では、証明者は計算が正しいと主張する証拠を提供する必要があります。検証者がこの証拠から矛盾を見つけることができればチャレンジは成功し、そうでない場合はチャレンジは失敗します。インタラクティブな不正行為の証明の 1 ラウンドの特性を表 3 に示します。

Robin Linus は、2024 年 8 月 15 日に「BitVM2: ビットコインを第 2 層にブリッジする」テクニカル ホワイト ペーパーをリリースしました。このペーパーでは、図 3 と同様の方法を使用して、一連の不正行為を防止する BitVM2 クロスチェーン ブリッジを実装しました。

OP_CAT は、ビットコインが最初にリリースされたときのスクリプト言語の一部でしたが、セキュリティの脆弱性のため 2010 年に無効になりました。しかし、ビットコインコミュニティは数年前からビットコインの活性化について議論してきました。現在、 OP_CAT には 347 番が割り当てられており、ビットコイン シグネットで有効になっています。

OP_CAT の主な機能は、スタック内の 2 つの要素を結合し、結合された結果をスタックにプッシュすることです。この機能により、ビットコインでのコントラクトと STARK Verifier が有効になります。

  • コントラクト: Andrew Poelstra は、OP_CAT および Schnorr テクニックを使用してビットコインにコントラクトを実装するCAT および Schnorr トリック I を提案しました。このうち、Schnorr アルゴリズムは P2TR 出力タイプのデジタル署名です。他の出力タイプについては、同様の ECDSA 技術を使用できます。 「CAT および ECDSA との規約」を参照してください。 OP_CAT コントラクトの助けを借りて、STARK Verifier アルゴリズムを複数のトランザクションに分割し、STARK 証明全体を段階的に検証することができます。
  • STARK Verifier: STARK Verifier は基本的にデータを結合してハッシュします。代数演算とは異なり、ハッシュはネイティブのビットコイン スクリプト演算であり、多くのオーバーヘッドを節約します。 OP_SHA256 を例にとると、ネイティブ モードでは 1 つのオペコードのみが必要ですが、シミュレート モードでは数百 K のオペコードが必要です。 STARK の主なハッシュ操作は、マークル パス検証とフィアット シャミア変換です。したがって、OP_CAT は STARK Verifier アルゴリズムに非常に適しています。

SNARK/STARK によって証明された後、証明を検証するために対応する検証アルゴリズムを実行するのに必要な計算量は、元の計算 f を直接実行するのに必要な計算量よりもはるかに少なくなります。ただし、これをビットコイン スクリプトでの検証アルゴリズムの実装に変換すると、必要なスクリプトの量は依然として膨大になります。現在、既存のビットコイン オペコードに基づいて、最適化後の実現された Groth16 検証スクリプト サイズと Fflonk 検証スクリプト サイズは依然として 2 GB を超えています。ただし、単一のビットコイン ブロックのサイズはわずか 4MB であり、検証スクリプト全体を単一のブロックで実行することは不可能です。ただし、タップルートのアップグレード後、ビットコインはタップリーフによるスクリプトの実行をサポートします。検証スクリプトは複数のチャンクに分割でき、各チャンクはタップツリーを構築するためのタップリーフとして使用されます。各チャンク間では、ビットコミットメントが使用され、チャンク間の値の一貫性が保証されます。

OP_CAT コントラクトを使用すると、STARK Verifier を 400KB 未満の複数の標準トランザクションに分割できるため、マイナーと協力することなく STARK 有効性証明書全体の検証を完了できます。

このセクションでは、既存の状況を活性化するための新しいオペコードを導入することなく、ビットコイン スクリプトの関連する分割テクノロジに焦点を当てます。

スクリプトをセグメント化するときは、次の次元情報のバランスを取る必要があります。

  1. 単一チャンク スクリプトのサイズは 4MB を超えず、入力ビット コミットメント スクリプト、トランザクション署名などのためのスペースを含める必要があります。
  2. 単一チャンク スタックの最大サイズは 1,000 を超えません。したがって、必要な要素のみを各チャンク スタックに保持し、スクリプト サイズの最適化に使用できる十分なスタック スペースを確保する必要があります。なぜなら、ビットコインのトランザクション手数料は使用されるスタックサイズに依存しないからです。
  3. ビットコインのビットコミットメントは高価です。したがって、現在 1 ビットは 26 バイトに対応しており、隣接する 2 つのチャンク間の入力および出力ビットの数は最小限に抑える必要があります。
  4. 監査を容易にするために、各チャンクの機能を可能な限り明確にする必要があります。

現在、スクリプトの分割方法は主に次の 3 つのカテゴリに分類されます。

現在、スクリプトの分割方法は主に次の 3 つのカテゴリに分類されます。

  1. 自動セグメンテーション:スタック サイズとスクリプト サイズに基づいて、スクリプト サイズが約 3 MB、最小スタック サイズのセグメンテーション方法を見つけます。このアプローチの利点は、特定の検証アルゴリズムとは何の関係もなく、計算された任意のスクリプト セグメンテーションに拡張できることです。欠点は次のとおりです。(1) ロジック全体を個別にマークする必要があります。たとえば、OP_IF コード ブロックを分割できません。そうしないと、分割されたスクリプトの実行結果が不正確になります。(2) チャンクの実行結果が複数に対応する可能性があります。実際の計算ロジックに基づいてビット コミットメントを適用する必要があるスタック要素の数をマークする必要があります。(3) 各チャンク スクリプトによって実装されたロジック関数は可読性が低く、監査に役立ちません。 ) スタックには次のチャンクで使用されない要素が含まれる可能性があり、スタック スペースが無駄になります。
  2. 関数の分割:計算では各関数のサブ関数に応じて分割されます。サブ関数の入力値と出力値は明確ですが、各チャンクに必要なビット コミットメント スクリプトも実装されます。最終的なチャンク合計スクリプトのサイズは 4MB 未満、スタック サイズは 1000 未満です。利点は、明確な関数、単一チャンクの明確なロジック、優れた可読性、および監査の容易さです。欠点は、元の計算ロジックの表現がスクリプト レベルのロジックの表現と一致しないことです。元の計算サブ関数は最適である可能性がありますが、それがスクリプト レベルで最適であることを意味するわけではありません。
  3. 手動セグメンテーション:スクリプトのセグメンテーション ポイントは機能サブ関数内にはなく、手動で設定されます。これは、単一のサブ関数のサイズが 4MB を超える状況に特に適しています。利点は、Fq12 関連の計算サブ関数など、スクリプト サイズの大きなサブ関数を手動で分割できることです。単一のチャンクには明確なロジックがあり、可読性が高く、監査が簡単です。欠点は、手動チューニング機能によって制限があり、スクリプト全体が最適化される場合、以前に設定された手動セグメンテーション ポイントが最適ではない可能性があり、再調整が必要になることです。

たとえば、複数回の最適化を経て、Groth16 ベリファイアはスクリプト サイズを約 7 GB から約 1.26 GB に削減しました。この全体的な計算の最適化に加えて、スタック スペースを最大限に活用するために各チャンクを個別に最適化することもできます。たとえば、ルックアップ テーブルに基づいたより優れたアルゴリズムを導入し、ルックアップ テーブルを動的にロードおよびアンロードすることにより、各チャンクのスクリプト サイズをさらに削減できます。

Web2 プログラミング言語の計算コストと実行環境は、ビットコイン スクリプトのコストと実行環境とはまったく異なるため、さまざまなアルゴリズムのビットコイン スクリプト実装では、既存の実装を翻訳するだけでは機能しません。したがって、ビットコインのシナリオでは次の最適化を考慮する必要があります。

  • 最適なメモリ局所性を持つアルゴリズムを見つけると、たとえ計算の一部が犠牲になったとしても、チャンク間の入出力ビット数を減らすことができ、それによって BitVM2 デザインのassertTx トランザクションによってコミットされるデータ量を減らすことができます。
  • 関連する演算 (論理演算など) の可換性を利用して、x&y = y&x となり、ルックアップ テーブルのほぼ半分が節約されます。
  • 現在、Fq12 演算に対応するスクリプトの量は非常に多いため、Fq12 拡張ドメイン演算の計算の複雑さを大幅に軽減するために、 Fiat-Shamir、Schwartz-Zipple、および多項式コミットメント スキームの使用を検討してください。

この記事では、まずビットコイン スクリプトの制限を紹介し、UTXO ステートレス制限を突破するためのビットコイン プロミスの使用、スクリプト スペースの制限を突破するための Taproot の使用、UTXO の支出方法の制限を突破するためのコネクタ出力の使用、および署名前の制限を突破するための契約の使用。そして、不正証明と正当性証明の特徴、許可型不正証明と許可なし型不正証明の特徴、1回の不正証明と複数回の不正証明の特徴、ビットコインスクリプトセグメンテーション技術などを包括的に整理してまとめました。

コメント

全てのコメント

Recommended for you

  • ステーブルコインフィンテックプラットフォームChainwireKASTがシードラウンド資金調達で1,000万米ドルを確保

    フィンテック プラットフォームの ChainwireKAST は、HongShan Capital Group と Peak XV Partners が主導し、ケイマン諸島のジョージタウンでシードラウンドの資金調達に成功し、DST Global のパートナーと Goodwater Capital の著名なエンジェル投資家数名も参加しました。 KAST は、ステーブルコイン技術と従来の支払い方法をシームレスに統合したソリューションを世界 150 か国以上のユーザーに提供し、ユーザーは国境を越えて効率的に資金を送金、受け取り、保管、展開し、滑らかなユーザー エクスペリエンスを楽しむことができます。 KAST は間もなく、貯蓄や送金などの他の商品を立ち上げる予定ですが、これらの商品はすべて法定通貨への直接エクスポージャーを必要としません。

  • ビットコインは量子コンピューターによって消滅するのか?ビットコインの次は何でしょうか?

    Googleが量子チップを発売、Microsoft株主がビットコインを拒否、クリスマスと春節が近づいているが、ビットコインはまだ強気だろうか?

  • アイコムテック幹部は偽のビットコイン取引スキームに500万ドル以上を支払った

    カリフォルニア州の裁判所は、偽のビットコイン取引スキームを通じて詐欺を犯し、盗まれた資金を流用したとして、アイコムテックの「ポンジスキーム」に関与した5人に500万ドル以上の支払いを命じた。 米商品先物取引委員会(CFTC)は12月11日の声明で、不履行判決命令により、デビッド・カルモナ氏、フアン・アレジャノ・パラ氏、モーゼス・バルデス氏、デービッド・ブレンド氏が商品取引所法および訴状で主張されている商品に対するすべての違反で有罪と認定されたと発表した。先物取引委員会(CFTC)に基づく行為の責任を負い、マルコ・A・ルイス・オチョア氏は同意命令を取得した。

  • 国境を越えたステーブルコイン決済会社SphereがCoinbase Venturesなどが主導し500万米ドルの資金調達を完了

    12月12日のニュースによると、国境を越えたステーブルコイン決済会社Sphereは、Coinbase VenturesとKraken Venturesの主導で500万米ドルの資金調達を完了した。調達した資金は、規制遵守とリスク管理機能へのさらなる投資に使用されます。 2022年にアーノルド・リー氏とルイージ・チャールズ氏によって設立されたSphereは、世界的な金融テクノロジー企業や認可された送金サービスプロバイダーと提携することで企業間の国境を越えたステーブルコイン支払いを可能にし、送金先でステーブルコインを現地の法定通貨と交換することができる。

  • SlowMist 23pds: 1inch は 12 月 9 日に、攻撃者が 1inch Labs リゾルバー スマート コントラクトの所有者に属する秘密キーに不正にアクセスできるセキュリティ脆弱性を発見しました。

    SlowMist Technology の最高情報セキュリティ責任者である 23pds は、1inch が 12 月 9 日にセキュリティ上の脆弱性を発見したことを明らかにしたと声明を発表しました。攻撃者は、1inch Labs パーサー スマート コントラクトの所有者に属する秘密キーへのアクセスを不正に取得しました。

  • 韓国与党ハン・ドンフン党首「ユン・ソクユエ氏には早期辞任するつもりはなく、現時点では弾劾が唯一の方法だ」

    現地時間12月12日、韓国与党のハン・ドンシュン党首は、尹錫悦国家主席が早期に辞任するつもりはないことを確認したと述べた。韓東勲氏は、大統領を含む戒厳令事件の関係者は厳罰に処されるべきであり、尹錫悦氏は軍の指揮権を含む国家管理権を直ちに解放されるべきだと述べた。また、韓東勲氏は弾劾訴追案に賛成票を投じるとし、与党議員は良心に基づいて弾劾訴追案に投票すべきだと述べた。韓東勲氏はまた、現時点では殷西悦氏を弾劾することが唯一の方法であると述べた。 (ゴールデンテン)

  • ステーブルコイン決済プラットフォームKAST、Peak XVとHongShan主導でシードラウンドで1,000万米ドルの資金調達を完了

    12月12日のニュースによると、セコイアから分離独立したセコイア・チャイナ(ホンシャン)とセコイア・インディア(ピークXV)が共同でステーブルコイン決済プラットフォームKASTの1000万米ドルのシードラウンド資金調達を主導した。 KAST は、ステーブルコインをベースとした銀行のようなプラットフォームで、ユーザーが従来の支払いチャネルを通じてステーブルコインを保持および使用できるようにサポートし、標準の加盟店ネットワークで使用できるクレジット カード サービスを提供し、ユーザーが暗号通貨をサポートしていない加盟店でお金を使えるようにします。ステーブルコイン資産。

  • 仮想通貨を使って3000万元近くを偽装した罪で、「95年後」3人に懲役5年から1年6か月の判決が下された。

    リン氏と他の「95 年代以降」の 3 人は、仮想通貨取引を媒体として使用し、外国為替の売買という「ビジネス」に従事し、わずか数か月で 650 件以上の取引を完了し、3,000 万元近くを両替しました。外国為替。建湖県検察局が公訴を提起した後、検察は、3人が仮想通貨を媒体として使用し、国境を越えた交換および決済サービスを提供し、仮想通貨の特殊な特性を利用して外国為替を回避したと認定した。為替管理の有効性と法定為替レートの安定に影響を与え、金融市場の正常な秩序を混乱させた場合、林氏と違法ビジネスの犯罪に対する刑事責任を追及されるべきである。他の3人は最近、違法営業の罪で裁判所から懲役5年から1年6か月の判決を受け、罰金も課された。

  • ルーマニア、選挙不正資金調達捜査で仮想通貨起業家から700万ドルを押収

    仮想通貨起業家のボグダン・ペシチル氏は、ルーマニアの選挙不正資金調達に関する捜査の一環として自宅から700万ドルを押収された。ペシル氏は、ルーマニア大統領候補のカリン・ジョルジェスク氏を宣伝していたTikTokのさまざまなアカウントに38万1000ドルを送金した疑いで注目を集めている。 極右で親ロシア派の独立系ジョルジュスク氏は、11月末の第1回投票の数週間前にルーマニアの政治舞台に躍り出た。合計800万人のフォロワーを持つ約2万5000のTikTokアカウントが、突然、このあまり知られていない反NATO技術者の宣伝に専念するようになった。ペシシル氏と仮想通貨業界との関係は、さらなる疑問を引き起こしている。彼のビジネス取引には、2016 年に盗難スキャンダルに見舞われたルーマニアの暗号通貨 ATM 会社 BitXATM との仕事も含まれます。同社の創設者ガブリアル・プロダネスク氏は元従業員を罪で告発した。ペシシル氏は後に裁判で証言し、その結果男性は有罪判決を受けた。

  • 米CFTC、信徒に600万ドルの仮想通貨ポンジスキームを販売した罪で牧師を起訴

    商品先物取引委員会は、ワシントンの教会のイベントに参加した人を含む1,500人に仮想通貨ポンジスキームを宣伝し、そこから600万ドルを稼いだ疑いで牧師を起訴した。 米CFTCは12月10日、フランシエ・オバンド・ピニージョ氏をマルチレベルねずみ講における詐欺と横領の疑いで訴訟を起こしたと発表した。スポケーンの連邦裁判所に12月9日に提出された起訴状の中で、CFTCは、ワシントン州のスペイン語教会の牧師ピニーロ氏がソーシャルメディアを通じて信徒らに対し、ユーザーに「高額な報酬を与える取引プラットフォームを運営している」と主張したと述べた。 -パフォーマンス」の仮想通貨取引。