一文解析 Tokenbridge 価値伝達
著者: IOBC Capital
先日、Axie Infinityの基盤ブロックチェーンネットワークRonin Networkが6億ドルを盗まれ、ユーザーがクロスチェーンブリッジRonin Bridgeから引き出せなくなった時に初めて盗難事件が発覚しました。クロスチェーンブリッジの資産セキュリティ問題が再び議論を呼んでいます。
その後、Sky MavisのCOOアレクサンダー・ラーセンは、「Ronin Bridgeが攻撃されたのは、スマートコントラクトに脆弱性があったからではなく、社会工学と人的ミスに関連している」と述べました。Axie Infinityの投資家であるAnimoca Brandsの共同創設者ヤット・シウは、インタビューで「もし橋がトークンを鋳造できるなら、それは鋳造機のようなものです……橋は権威ですが、設計が不適切であったり脆弱性があったりすると、エコシステムに巨大なリスクをもたらします」と言及しました。
この記事では、Tokenbridgeの動作原理とその信頼性と安全性を確保する方法について具体的にお話しします。
一、Tokenbridgeの特性とモデル
Ethereumエコシステムにおいて、Tokenbridgeはユーザーが2つのチェーン間でデータを転送することを可能にし、迅速かつ安全なリンクを提供します。Tokenbridgeはメインチェーンとサイドチェーン間の橋渡しを行い、資産とデータの移転に決定的な役割を果たします。
1. チェーンとネットワークの定義
Native(ホーム):ローカルチェーン(サイドチェーン)は、迅速かつ安価なネットワークであり、すべてのバリデーターを集めたブリッジ操作はこのNative側で実行されます。
Foreign(メインチェーン):こちらは任意のチェーンである可能性がありますが、通常はEthereumのメインネットを指します。
ERC20:ERC20-ERC20ブリッジモードでは、ERC667がERC20の実装としてNativeSide側で作成および破棄されることができます。
2. ブリッジモード
ブリッジはさまざまなネットワーク方式に設定できます。現在サポートされている方式には、Native-to-ERC20モード、ERC20-to-ERC20モード、ERC20-to-Nativeモード、およびAMB(任意メッセージブリッジ)モードがあります。
ERC20 to ERC20 : 互換性のあるERC20トークンがForeignネットワークにロックされ、同時にNative側でERC20トークン(ERC677トークン)が作成されます。NativeからForeignに移転する際、ERC677トークンが破棄され、ERC20トークン(Foreign)がアンロックされます。
ERC20 to Native : コインがForeign側にロックされ、同時にNative側でERC20トークンが作成されます。xDaiはこのモードを使用しています。
AMB Bridge : 2つのチェーン間で任意のデータを転送できます。例えば、NFTトークンやそのメタデータの転送を許可します。
3. ブリッジコンポーネント
ブリッジにはいくつかのコンポーネントも含まれています。内容は以下の通りです:
tokenbridge:イベントを監視し、資産の転送を承認するために取引を送信します;
bridge UIアプリケーション:チェーン間でトークンとコインを転送するためのDApp GUIツール;
bridge monitor:残高と未処理のイベントをチェックするツール;
bridge deployment playbooks:オプションのプレイブック。リモートデプロイメントに対して、トークンブリッジの設定を管理します;
bridge smart contract:ブリッジのバリデーターを管理し、署名を収集し、資産の転送と破棄を確認します。
理解を助けるために、ユーザーケースを見てみましょう:
このERC20-to-ERC20モードのトークンブリッジは、ユーザーがメインチェーンとサイドチェーン間で直接相互に送金する方法を示しています。具体的な流れは以下の通りです:
ユーザーは取引所で必要なトークンを購入します;
ユーザーは購入したトークンをForeignブリッジのスマートコントラクト内にロックし、このイベントはトークンブリッジを通じて伝達され、Nativeブリッジコントラクト内にERC677標準のトークンが作成され、ユーザーアカウントに送信されます;
ユーザーはサイドチェーンが提供するDAppを使用します;
ユーザーはサイドチェーンの資産をメインチェーンに戻したいと考え、ERC677トークンを燃焼させ、トークンブリッジがメッセージをForeignブリッジコントラクトに伝達し、スマートコントラクトがトークンをアンロックします;
ユーザーはアンロックされたトークンを取引所で売却します。
トークンブリッジの基本的な定義、概念、プロセスについての紹介が完了したので、次にトークンブリッジを管理する方法について説明します。トークンブリッジのアップグレード、メンテナンス、設定などを含みます。ここでトークンブリッジ内の役割を紹介する必要があります。
二、Token Bridge Roles
トークンブリッジの管理者は、ブリッジのセキュリティ、アップグレード、スマートコントラクトのデプロイを担当します。管理者の操作はすべてマルチシグネチャを通じて安全性を確保します。
管理グループと役割
管理者はブリッジのスマートコントラクトを管理し、バリデーターの管理を担当します。管理者は以下の3つのグループに分かれています:
- グループA - バリデーターの集合を管理
バリデーターを追加または削除する;
バリデーターに必要な最小署名数を設定する。
- グループB - ブリッジのパラメータを管理
ユーザーとバリデーターに対して日次制限を設定する;
各トランザクションの最小および最大制限を設定する;
ガス価格のフォールバックを設定する;
終了閾値を設定する。
- グループC - アップグレードを管理
スマートコントラクトのアップグレード;
資金のアンロック。
バリデーターの役割
トランザクションの伝達に100%の稼働時間を提供します;
Native側でUserRequestForSignaturesのイベントを監視し、Foreign側での資産の伝達を承認する署名を行います;
Native側でCollectedSignaturesを監視します。十分な署名が収集されると、収集されたすべての署名をForeign側に送信します;
Foreign側でUserRequestForAffirmation or Transferイベントを監視し、ForeignからNativeへの資産に対してNative側に許可を送信します。
バリデーターの主な役割は、両側のイベントを監視し、トランザクションの伝達を検証および伝達することです。
Roninの盗難事件では、攻撃者はバリデーションノードを制御することで資産を盗みました。Roninチェーンには9つのバリデーションノードがあり、暗号資産の入出金には9人のバリデーターの署名のうち5つが必要です。攻撃者はSky Mavisの4つのRoninバリデーターを制御し、もう1つはAxie DAOが運営する第三者のバリデーターでした。Sky MavisはAxie Infinityの開発者です。
クロスチェーンブリッジの動作メカニズムを理解した後、Ronin事件のようなクロスチェーンブリッジのセキュリティ問題を回避する方法について、社会工学の観点から以下の点を考えました:
クロスチェーンブリッジプロジェクトは、署名検証ノードのセキュリティに注意を払い、機密情報が安全に保存されることを確保する必要があります;
クロスチェーンブリッジプロジェクトの署名がオフラインで行われる場合、ネットワークは署名のセキュリティポリシーを更新し、関連するサービスモデルを閉じる必要があります。また、署名アカウントアドレスが漏洩するリスクを考慮する必要があります;
署名の検証はマルチシグネチャの方法を採用するだけでなく、マルチシグが実際に実行隔離に属していることを確認し、署名内容の検証プロセスは独立して行う必要があります。
ユーザーの役割
ここではあまり多くの説明はしませんが、主にメインチェーンとサイドチェーン間で資産の転送リクエストを発起する役割です。
三、コンポーネント - モニター
トークンブリッジモニターの主な役割は、トークンブリッジオラクルプロセスで発生するデータの不一致や異常な状況を識別することです。モニターはトークンブリッジコントラクトからデータやブリッジ内のトランザクションを取得し、それらの健康状態を分析し、Jsonデータ形式で表示します。
四、まとめ
私たちは別の視点からサイドチェーンとメインチェーンの関係を共有し、2つのチェーン間での資産とデータの転送はトークンブリッジによって保証されます:
トークンブリッジは権限役割モデルを通じてマルチシグの方法を利用し、ブリッジの役割と設定を管理します;
バリデーターは両側のトランザクションの確認と伝達を担当します;
モニターはデータの一貫性と異常な状況を監視します。
しかし、これにより1つの問題が浮き彫りになりました。トークンブリッジの管理権限は管理者の手にあり、管理者はマルチシグの方法を通じて安全性を確保しているため、これは弱い中央集権的な管理方法です。したがって、管理者の秘密鍵の安全性の管理が、トークンブリッジ全体の最も重要なセキュリティ問題となります。