Botanixはどのように二重支払いを防ぐのか

業界速報
2025-05-27 13:27:08
コレクション
BotanixはSpiderchainを通じてこの課題を優雅に解決しました。SpiderchainはBotanixが構築した回転型マルチシグネチャウォレット構造に基づく連邦型プルーフ・オブ・ステーク(Proof-of-Stake)ビットコインチェーンです。

著者:Botanix 日本語

ビットコインチェーン(Bitcoin Chains)にとって、主な課題の一つは、ビットコインメインネットとの間で資金の流入と流出のバランスを維持することです。これは、ペグイン(peg-in)取引にも、ペグアウト(peg-out)取引にも当てはまります。これらの資金の流れが適切に管理されない場合、システムはすぐに資産の不均衡が生じ、二重支払い取引や競合入力の問題を引き起こすことになります。Botanixは、Spiderchainを通じてこの課題を優雅に解決しました。Spiderchainは、Botanixが構築した回転式マルチシグネチャウォレット構造に基づく連邦型プルーフ・オブ・ステーク(Proof-of-Stake)ビットコインチェーンです。

したがって、この設計は2種類の取引タイプを形成します:ペグイン(ビットコインをロックする)とペグアウト(ビットコインをアンロックする)。ペグイン操作は、BTCを現在のマルチシグネチャウォレットに送信し、Botanix上で対応するBTC表現資産を鋳造することです。一方、ペグアウト操作では、ユーザーはBotanix上のBTC表現資産を破棄し、Spiderchainはそのマルチシグネチャウォレット内の未使用取引出力(UTXO)を入力として使用し、実際のBTCをユーザーに返還します。Botanix上では、このビットコイン取引は、現在のローテーションのSpiderchainコーディネーターで構成されたマルチシグネチャグループによって署名されます。

もう一つの重要なメカニズムは、Botanixが各取引を前の取引とリンクさせ、競合する可能性のある入力を埋め込むことで、いかなるコピーやリプレイの試みもビットコインのコンセンサスメカニズムによって自動的に拒否されることを保証することです。

この記事の文脈におけるマルチシグネチャとは何ですか?

この文脈において、「マルチシグネチャ」は重要な概念です。Web3ユーザーはこの用語に馴染みがあるかもしれませんが、通常は複数のユーザーが同じウォレットを共同管理し、取引に署名する能力を指します。ここでの「multisig」(マルチシグネチャの略)は、複数の鍵保有者(通常はn-of-m、すなわちmの中で少なくともnの署名が必要)によって共同で承認される場合にのみ取引を実行できるビットコインアドレスの一種を指します。

Botanixでは、各Spiderchainエポック(epoch)ごとに新しいビットコインマルチシグネチャウォレットが作成され、現在は2-of-3の形式(将来的には12-of-16、すなわち3分の2以上の署名者を超える予定)で、オーケストレーター(コーディネーター)ノードによって制御されています。これは、当該アドレスから発起される取引(例えば、ペグアウトによる引き出し)は、少なくとも67%のコーディネーターノードの署名を得る必要があることを意味します。これらのマルチシグウォレットは、各ビットコインブロックに応じてローテーションし、BTCの入出金のホスティングチェーンを構成します。

したがって、ここでの「マルチシグネチャ」は単なる共有ウォレットではなく、Botanixの非信任設計の基礎であり、ビットコインメインネットとの橋渡しでもあります。これにより、いかなる単独の者もBTCを勝手に引き出すことができず、検証可能なローテーション署名者グループによって保証されたペグイン/ペグアウトプロセスが実現されます。一見一般的なメカニズムですが、ビットコインのシーンでは非常に重要な役割を果たしています。

競合入力メカニズム

このメカニズムの核心的な考え方は、前回のペグアウトで使用された入力(UTXO)が現在の取引で既に消費されているということです。ビットコインのUTXOモデルでは、特定のUTXOが取引の入力として確認されると、それは再利用できなくなります。Botanixはこの特性を利用しています:新しいペグアウトごとに、前回のペグアウトの残りの出力(変更UTXO)を現在の取引の入力として使用し、いかなる重複放送のペグアウト取引もビットコインの二重支払いルールに違反し、拒否されることを保証します。

もしあるコーディネーターやユーザーが同じUTXOを使用してペグアウト操作を繰り返そうとした場合、生成される取引は「競合入力」(すなわち、2つの取引が同じUTXOを消費しようとする)を含むため、その取引は無効です。言い換えれば、既に消費されたマルチシグUTXOは再利用できず、システムは競合を検出して重複操作を拒否します。

例を挙げて説明します:

仮にTXₙが前回のペグアウトのビットコイン取引であり、その出力に未使用の釣り銭UTXO、記号Uₙが含まれているとします(この釣り銭UTXOは次のラウンドのマルチシグウォレットに使用されます)。次回のペグアウト時に、BotanixのコーディネーターはTXₙ₊₁を構築し、Uₙをその入力の一つとして使用します。この時点で、UₙはTXₙ₊₁によって消費されました。もしこの時、悪意のある者がTXₙ₊₁のコピーを再放送したり、Uₙを使用する新しい取引を作成した場合、ネットワークはUₙが前回のTXₙ₊₁で使用されたことを認識し、後続の取引を二重支払い取引と見なします。この取引はブロックにパッケージ化されることもなく、ネットワーク内で成功裏に放送されることも難しいです。なぜなら、ビットコインのコンセンサスルールは同じUTXOの重複消費を禁止しているからです。

本質的に、ペグアウト取引は消費されたUTXOを入力として使用するため、自然に「リプレイ不可能性」を持ち、各引き出しが一度だけ使用されることを保証します。

このメカニズムは、ビットコインの取引チェーン構造に似ています:各出力は前回の出力を明示的に消費します。重複した(完全に同じ)取引は再確認されることはなく、いかなる新しい取引が同じ入力を使用しようとすれば、それも無効と見なされます。

要するに、SpiderchainはビットコインのUTXOモデルを利用して、各ペグアウトの唯一性を強制しています。

以下は、ペグアウト取引の入力出力チェーンの論理的な示意です:
● 前回のマルチシグウォレット出力(M1) → [ペグアウト取引] → ユーザーアドレス(引き出し金額)+ 新しいマルチシグウォレット出力(M2)
● 次のブロックで、M2は「前回のペグアウトの出力」となり、次のペグアウトの入力として使用されます。
● もし重複したペグアウト取引がM2を再度消費しようとした場合、M2は既に使用されているため、その試みは失敗します。
このような設計により、いかなる2つのペグアウト取引も同じビットコイン出力を使用することができません。なぜなら、各取引は前回の出力を入力として参照するからです。ビットコインネットワークノードは、同じ入力を重複して使用する取引を自動的に拒否するため、偶発的なものでも悪意のあるリプレイ行為でも成功することはありません。

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

「競合入力」メカニズムは、悪意のある攻撃を防ぐだけでなく、ユーザーやノードの意図しない重複操作にも効果的に対処します。

偶発的な場合、ユーザーやノードは完全に同じ引き出し(ペグアウト)取引を作成することができません。なぜなら、2回目の試みは既に消費された入力を使用しているため、競合が発生し、取引が無効になるからです。

悪意のある攻撃のシナリオでは、コーディネーターや外部の攻撃者も同じ資金に対する2回目の引き出し取引を偽造することはできません。二重支払い攻撃を行うためには、攻撃者は同じUTXOを再度消費しようとするビットコイン取引を作成する必要があります。しかし、そのUTXOは有効な取引で使用されているため、同じ入力を使用する2回目の取引はビットコインネットワークによって二重支払いとして認識され、無効としてマークされます。

さらに、Botanixのガバナンスメカニズムは、競合するペグアウト取引を署名または放送しようとするコーディネーターに対して罰則を科します。システムのルールは、「Spiderchain内で不適切にマルチシグネチャ取引に署名すること------誤った引き出し取引に署名することや、二重支払い行為に関与すること」を罰則(スラッシング)の対象と見なします。

クロスチェーンブリッジのコードは、オンチェーンのコンセンサスによって完全な取引(入力、出力、金額など)を決定的に構築するため、操作ノードは取引入力を私的に改ざんすることができません。したがって、あるコーディネーターが意図的に他の取引と競合する取引に署名した場合(例えば、二重支払いを試みる場合)、そのノードは質押資産が没収されるリスクに直面します。

このメカニズムにより、Botanixはビットコイン自体のコンセンサスメカニズム(自動的に二重支払い取引を拒否)に依存するだけでなく、自身のコンセンサスと罰則メカニズム(スラッシングなど)を通じて、唯一のペグアウト行為に対する強い制約をさらに強化しています。

動作原理の段階的解析

Botanixメカニズムの全体的な論理を理解した後、Peg-In(入金)とPeg-Out(出金)プロセスをより具体的なステップで整理してみましょう。各ステップには複数の技術モジュールが関与していますが、マクロな観点から見ると、このシステムの運用は非常に明確です:

Peg-In(入金プロセス)

1. ゲートウェイアドレスの生成

Botanixプロトコルは、連邦FROST公開鍵とユーザーのイーサリアムアドレスを組み合わせて、ユニークなTaprootゲートウェイアドレスを派生させます。

2. BTCをマルチシグアドレスに入金

ユーザーは、上記で生成されたゲートウェイアドレスにBTCを入金します。実質的に、これらのBTCはオーケストレーター(コーディネーター)が制御するSpiderchain連邦マルチシグネチャウォレットに送信されます。この時点でBTCはビットコインメインネットを離れず、マルチシグアドレスにロックされています。

3. EVM上で合成BTCを鋳造

入金取引が十分な確認を得ると、サイドカー(またはユーザーがブリッジを通じて)メルクル証明を生成し、Spiderchain EVM上のBotanix鋳造コントラクトを呼び出します。このEVM取引は、この入金の「証明」を消費し、Mintイベントをトリガーし、システムはその後1:1の比率(ビットコインとEVMガス料金を差し引いた後)で合成BTCをユーザーのEVMアカウントに発行します。

結果:ユーザーはBotanix EVM上で等価の合成BTCを取得し、その背後にはSpiderchainマルチシグウォレットにロックされた実際のBTCが支えています。

Botanixの検証者は独立したビットコインノードを運営し、オンチェーンのUTXO状態を追跡し、取引証明を検証して、各入金が一度だけトークンを鋳造することを保証します。

Peg-Out(出金プロセス)

  1. EVM上でトークンを破棄

ユーザーはSpiderchain EVMを通じて取引を開始し、保有する合成BTCを破棄します。この取引は、ユーザーの残高から相応の数量を差し引きます(EVMガス料金を差し引いた後)。

  1. ビットコイン出金取引の構築

現在、破棄された合成BTCに対応する実際のBTCをビットコインメインネットから解放する必要があります。コーディネーターノードは破棄イベントを監視しており(彼らは同時にEVM検証者でもあるため)、次のビットコインエポック(epoch)が始まると、ローテーションコーディネーターがすべての保留中の出金リクエストを収集します。

Spiderchainの設計に従い、利用可能なUTXOプールから対応するUTXOを選択します。Botanixは「後入れ先出し」(LIFO)戦略を使用し、最近の入金から生成されたUTXOを優先的に使用することで、早期の入金資産を潜在的な悪意のある行為から保護します。

  1. 原始ビットコイン取引の構築

コーディネーターは、ユーザーの出金金額とマイナー手数料をカバーするのに十分なUTXOの合計が得られるまで、UTXOを選択し続けます。その後、ビットコインの原始取引を構築します。取引構造は以下の通りです:
● 入力:選択されたUTXO
● 出力:
○ ユーザーのBTCアドレス(出金金額)
○ 釣り銭アドレス(新しく生成されたSpiderchainマルチシグアドレス)

  1. 閾値署名と放送

取引が構築されると、すべての連邦メンバーはそれぞれのFROST秘密鍵のシェアを使用して共同署名を行います。t-of-n(例えば12-of-16)の署名が完了すると、取引は完全に署名され、ビットコインネットワークに放送されます。

最終結果:ユーザーのSpiderchain合成BTCが破棄された後、その対応するBTCがマルチシグウォレットから解放され、ユーザー指定のビットコインアドレスに送信されます。ユーザーが受け取るBTCの金額は、破棄金額からビットコインネットワークのマイナー手数料を差し引いたものと等しくなります。

このプロセスは、Botanixの双方向ブリッジ操作が安全かつ検証可能であることを保証し、EVM上の柔軟性とビットコインUTXOモデルの改ざん不可能性を組み合わせて、構造が明確でメカニズムが信頼できるクロスチェーン資産システムを提供します。

コンセンサス保証と罰則メカニズム

信頼できる運用環境を維持し、全体のメカニズムの堅牢性を確保するために、Botanixはビットコインのシンプルで信頼性の高い特性と現代システムの先進的な能力を組み合わせています。このハイブリッド設計は、「シンプル」と「複雑」を組み合わせることで、全体の安全性を大幅に強化します。

一方で、Botanixは特別なビットコインコンセンサスルールを導入する必要はなく、ビットコインのネイティブなUTXOルールに直接依存しています:「一度消費されたUTXOは再利用できない。」
これはビットコインのコンセンサスメカニズムにおける基本的な検証ロジックであり、したがってBotanixの「競合入力メカニズム」はこのルールの上に自然に構築されます。コーディネーターが各新しいペグアウト取引において、常に前回のペグアウトのUTXOを入力として含める限り、ビットコインネットワークは自動的に重複や再取引を拒否し、それを無効と見なします。

一方で、コーディネーターが悪意のある行動を取った場合(例えば、二重支払いを試みるために競合する取引に署名しようとする場合)、BotanixのPoSプロトコルとスラッシング(罰則)メカニズムはそのコーディネーターに対して罰則を科します。このメカニズムは、インセンティブの観点から潜在的な悪意のある行動を効果的に抑制します。

本質的に、競合入力メカニズムはビットコインのUTXOモデルを利用して「一度きりの引き出し」ルールを強制的に実現しています。各ペグアウトの入力を前回のペグアウトの出力にリンクさせることで、Botanixは最初の有効な取引のみが成功裏に実行されることを保証し、いかなる重複取引も二重支払いとして自動的にビットコインネットワークによって拒否されます。

このメカニズムは、偶発的な重複取引と悪意のあるリプレイ攻撃の両方を優雅に防止し、その安全性は一方でビットコインのネイティブコンセンサスルールに依存し、他方でBotanixの内部のプルーフ・オブ・ステーク(PoS)コンセンサスと罰則システムによって強化されています。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する