スパイダーマンでも防げない「二重支出」攻撃?Botanixがスパイダーシステムで防盗ネットを織り成す

原文タイトル:How Botanixは二重支出から保護されるか

原著者: botanixlabs

オリジナルソース:

編訳:Daisy、火星ファイナンス

Botanixはダブルスペンド攻撃をどのように防ぐのか

ビットコインのサイドチェーンが直面する主な課題の1つは、オンチェーンとビットコインネットワーク間の流入と流出のバランスを維持することです。 この原則は、預金(アンカー預金)取引と引き出し(アンカー引き出し)取引の両方に適用されます。 効果的な管理がなければ、システムは二重支払い取引やインプットの競合により、すぐに資産の不均衡に陥ります。 Botanixは、回転マルチシグウォレットアーキテクチャに基づいてビットコイン専用に設計されたフェデレーションプルーフオブステークチェーンであるSpiderchainを使用して、この問題をエレガントに解決します。

このデザインは自然に二種類の取引を生み出します:アンカーデポジットとアンカーホワード。アンカーデポジットの運用方式は、BTCを現在のマルチシグウォレットに送信し、同時にBotanix上で対応するBTC表現資産を鋳造することです。アンカーホワードに関しては、ユーザーがBotanix上のBTC表現資産を破棄した後、SpiderchainはマルチシグUTXOを入力として使用し、実際のBTCを返還します。Botanix上では、この種のビットコイン取引は、現在のローテーションのSpiderchainコーディネーターによるマルチシグ検証を必要とします。もう一つの重要なデザインは、Botanixが各取引を前の取引にバインドし、すべての「競合」入力データを埋め込むことにあります。これにより、いかなる重複やリプレイの試みもビットコインのコンセンサスメカニズムによって自動的に拒否されることが保証されます。

この文脈において「マルチシグ」とは何を意味しますか?

ここでの核心は「マルチシグ」(multisig)です。ほとんどのweb3ユーザーはこの用語に馴染みがあるはずです——通常は複数のユーザーが共同でウォレット取引を署名する能力を指します。しかし、Botanixの文脈では、「マルチシグ」(multi-signatureの略)は、取引を実行するために複数の当事者による共同の承認が必要なビットコインアドレスを特に指します(通常はn-of-kキー方式を採用)。

Botanixの各Spiderchainサイクルでは、新しい「3選2+」ビットコインマルチシグウォレットが作成されます(将来的には12/16モードに調整する計画ですが、依然として2/3以上の比率を維持します)。これは、指定されたコーディネーターノードの67%以上の署名が必要であることを意味します。このアドレスから発信される取引(例えば、アンカー引き出し)はすべて、これらのマルチシグウォレットによって制御されます。これにより、各ビットコインブロックのローテーションに伴い更新され、BTCの入出金を管理するチェーン構造が構築されます。

したがって、ここでの「マルチシグ」は単なる共有ウォレットではなく、Botanixの信頼を最小限に抑えた設計の基盤であり、ビットコインとそのサイドチェーンの間の架け橋です。 このメカニズムは、BTCの一方的な引き出しの可能性を防ぐだけでなく、検証可能な署名者のローテーショングループを通じてアンカーの入出金プロセスを保護します。 他のチェーンの一見シンプルでありふれた機能は、ビットコインエコシステムで重要な役割を果たしています。

"コンフリクト入力"メカニズム解析

このメカニズムの基本原則は、前のアンカーフェッチトランザクションによって生成された入力が現在のトランザクションで消費されていることです。 ビットコインのUTXOモデルによると、確認されたトランザクションの入力にUTXOが含まれると、再度使用することはできません。 Botanixは、以前のペグフェッチの使用済み出力を新しいペグフェッチトランザクションへの入力として取得することでこの機能を利用しており、重複するペグフェッチをブロードキャストしようとする試みは、ビットコインの二重支払いルールに違反して拒否されます。

コーディネーターまたはユーザーが同じUTXOを再利用してアンカーを取得しようとすると、生成されるトランザクションには「衝突入力」(つまり、2つのトランザクションが同じUTXOを消費しようとする)が含まれ、その結果無効になります。言い換えれば、消費されたマルチシグUTXOは再利用できず、システムは衝突を検出して再度のトランザクションを拒否します。

具体例:

TXnがペッグアウトされた最後のビットコイントランザクションであり、その出力に未使用の小銭UTXO Un(次のマルチシグウォレットの資金調達用)が含まれているとします。 次のアンカーテイクアウトが発生すると、Botanix コーディネーターは Un をインプットの 1 つとして TXn₊₁ トランザクションを構築します。 この時点で、UnはTXn₊₁に消費されています。 どちらかの当事者が(悪意のあるかどうかにかかわらず)TXn₊₁のコピーを再ブロードキャストしようとしたり、Unにコストがかかる別のトランザクションを構築しようとした場合、ネットワークは最初のTXn₊₁によってUnが消費されたことを認識し、後続のコピーを二重支払いとして扱います。 これらの重複トランザクションをオンチェーンでパッケージ化できないだけでなく、ビットコインのコンセンサスメカニズムが同じUTXOの二次支出を禁止しているため、ノード間で確実に伝播することさえできません。 基本的に、使用済みのUTXOを入力として使用する設計により、すべてのアンカーテイクアウトトランザクションが自然にアンチリプレイになり、機械的にシングルユースの原則が保証されます。

このメカニズムはビットコインの取引チェーンに似ています:各新しい取引は前の取引の出力を明示的に消費します。まったく同じ取引は二重確認されることはなく、同じ入力を再利用しようとする新しい取引は無効と見なされます。要するに、SpiderchainはUTXOモデルを通じて、各アンカーの取得の唯一性を強制的に保証します。

取引チェーンロジックデモ:

前のマルチシグUTXO(M1)→ [アンカリング出金取引] → ユーザーアドレス(金額)+ 新しいマルチシグUTXO(M2)

次のブロックでは、M2が「前回のアンカー取り出しUTXO」となり、次のアンカー取り出しトランザクションによって消費されます。

いかなる繰り返しのアンカー引き出し取引も、再度M2を使用しようとすると、M2がすでに使用されているため失敗します。

この設計により、2つのアンカー化された引き出し取引が同じビットコイン出力を消費することは不可能です——なぜなら、各取引は最新の出力を入力として含めなければならないからです。ビットコインノードは、偶発的または悪意のあるリプレイ取引によってトリガーされた二重支出の試みを自動的に拒否し、直ちに無効になります。

偶発的または悪意のあるリプレイ攻撃を防ぐ

コンフリクトインプットメカニズムは、偶発的および意図的なアンカーテイクアウトの両方を防ぐように設計されています。 予期せぬことに、ユーザーまたはノードは、2回目の試行がすでに支払われた入力と競合するため、2つの同一の引き出しトランザクションを作成できません。 悪意のある観点からは、コーディネーターや外部の攻撃者は、同じ資金に対して2つ目のアンカー引き出しトランザクションを偽造することはできません。 攻撃者が二重支払いを試みた場合、同じUTXOの費用がかかる別のビットコイントランザクションを作成する必要があります。 ただし、UTXOは前の法的にペッグされたテイクアウト取引によってすでに消費されているため、同じインプットを使用した二次取引は二重支払いと判断され、無効になります。

さらに重要なことは、Botanixのガバナンスメカニズムが、競合するアンカー引き出し取引に署名またはブロードキャストを試みるコーディネーターに対して罰則を適用することです。システムのルールは、"Spiderchain上での不適切なマルチシグ署名—誤ったアンカー引き出し取引に署名することや二重支払い行為に関与すること"を没収対象の違反行為として明示しています。クロスチェーンブリッジのコードは、オンチェーンの合意によって完全な取引(入力、出力、金額)を決定的に構築するため、オペレーターは入力内容を私的に改ざんすることができません。したがって、コーディネーターが故意に他の取引と競合する取引(例えば、二重支払いを試みる)に署名した場合、そのノードは担保が没収されるリスクに直面します。

この方法によって、Botanixはビットコインのコンセンサスメカニズム(ダブルスパン取引を自動的に拒否)に依存しつつ、自身のマイニングと没収ルールを通じて、引き出しの唯一性の制約を二重に保証しています。

運用プロセスの段階的解析

メカニズムの原理を深く理解した後、実際の運用プロセスを段階的に分解していきましょう。複数の技術的要素が関与していますが、マクロな視点から見ると全体の論理は非常に明確です:

アンカーデポジット(デポジット)

ゲートウェイアドレスを生成する

Botanixプロトコルは、FROST連合公開鍵とユーザーのイーサリアムアドレスを組み合わせることで、ユニークなTaproot「ゲートウェイ」アドレスを生成します。

マルチシグアドレスにBTCを送金する

ユーザーはこのゲートウェイアドレスにBTCを送金します。実際の資金は、コーディネーターが管理するSpiderchain連合のマルチシグウォレットに入ります。元のBTCは常にビットコインのマルチシグアドレスにロックされており、ビットコインネットワークから本当に離れてはいません。

EVM上で合成BTCをミントする

預金取引が十分な確認を得た後、Sidecar(またはユーザーがブリッジコントラクトを介して)Merkleコンテイン証明を構築し、Spiderchain EVM上のBotanixミント契約を呼び出します。このEVM取引は、チェーン上での担保入金の「証明」を消去し、ミントイベントをトリガーします。システムはユーザーのEVMアカウントに対して、同等の合成BTCをミントします(ビットコインおよびEVMガス費用を差し引いた後)。

最終結果:ユーザーは、Botanix EVM上のSpiderchainマルチシグウォレットによってロックされたBTCを1:1で裏付けされた合成BTCを保持します。 使用済みのBTCは、マルチシグウォレットのUTXOセットに新しいUTXOとして表示されます。 Botanixバリデーターは、独自のビットコインインスタンスを通じてオンチェーンステータスを監視し、それに応じてUTXOセットを更新し、プルーフを検証して、デポジットごとにEVMトークンミントが1つだけトリガーされるようにします。

アンカー引き出し(出金)

EVMで破壊

ユーザーは、Spiderchain EVMで合成BTCを破棄する取引を送信することで、アンカー引き出しを開始します。このEVM取引は、ユーザーの残高から指定された金額(EVMガス代を含む)を引き落とします(破棄されます)。

ビットコイン取引を構築する

破棄された合成BTCの価値はビットコインチェーンでアンロックされる必要があります。コーディネーター(同時にEVM検証ノードとしてこのデータにアクセス可能)は、破棄イベントを監視し、次のビットコインサイクルで指定されたサイクルリーダーコーディネーターがすべての保留中の引き出し要求を集約します。Spiderchainの設計ルールに基づき、資金プールから支出するUTXOを選択します——後入れ先出し(LIFO)の戦略を採用し、最新に入金されたUTXOを優先的に使用して、初期の入金を潜在的な悪意のある乗っ取りから保護します。

ディールストラクチャリング

コーディネーターは、総価値が出金額とビットコインのマイナー手数料をカバーするまでUTXOを継続的にフィルタリングします。その後、原始的なビットコイン取引を構築します:入力は選定されたUTXOで、出力には(a)ユーザーの目的のビットコインアドレス(出金額を受け取る)、(b)お釣りが新しいSpiderchainマルチシグアドレスに送信されます(残りの資金がシステム内に留まることを保証します)。

閾値署名とブロードキャスト

取引構築が完了すると、アライアンスメンバーはFROSTキーシェアを使用して共同署名を行います。≥t-of-n署名閾値に達すると、完全署名されたビットコイン取引がビットコインネットワークにブロードキャストされます。この時、Spiderchain上のBTCの焼却が正式にオンチェーンのビットコイン支出に変わり、ユーザーは最終的に総手数料(EVM焼却額からビットコインネットワーク手数料を差し引いた額)を差し引いたBTCを受け取ります。

コンセンサス保証と没収メカニズム

信頼できる環境を確保し、メカニズムの健全性を維持するために、Botanixは同時にビットコインのシンプルで信頼性の高い特性と現代のシステムの先進的な能力を活用しています。このハイブリッドソリューションは、シンプルさと複雑さの組み合わせによってセキュリティを強化します。

一方で、このメカニズムはビットコインの最も基本的なUTXO/支出ルールに従うだけである:"UTXOは一度支出されると再利用できない"。これはビットコインのコンセンサスにおける根本的な原則であり、したがって競合入力メカニズムは本質的にビットコインの既存ルールに依存して機能する。コーディネーターが毎回新しいアンカリングの引き出しトランザクションに前回のトランザクションのUTXOを含める限り、ビットコインノードは自動的にリプレイまたはコピーされたトランザクションを拒否する。

一方、コーディネーターが悪意を持って行動した場合(たとえば、マルチシグを壊すために2番目の競合するトランザクションに署名した場合)、BotanixのPoSプロトコルとスラッシング条項はそれを罰します。 このメカニズムは、潜在的に悪意のあるアクションを抑制するのに効果的です。 基本的に、「コンフリクトインプット」戦略は、UTXOモデル自体を直接活用してアンカーフェッチの単一性を強制します - 各アンカーフェッチの入力を前のトランザクションの出力とリンクさせることにより、Botanixは最初の有効なトランザクションのみが成功し、重複するトランザクションは二重支払いを構成するため、ビットコインネットワークによって自然に拒否されます。 この設計は、偶発的な重複トランザクションや悪意のあるリプレイ攻撃から巧みに保護し、そのセキュリティはビットコインのコンセンサスルールとBotanixの内部スラッシングメカニズムの両方によって保証されています。

原文表示
内容は参考用であり、勧誘やオファーではありません。 投資、税務、または法律に関するアドバイスは提供されません。 リスク開示の詳細については、免責事項 を参照してください。
  • 報酬
  • コメント
  • 共有
コメント
0/400
コメントなし
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)