Jump Crypto:LayerZeroやWormholeなどのクロスチェーンブリッジの利点と欠点を分析
元のタイトル:++セキュリティスタックアップ:ブリッジの比較++
元の著者:Jonathan Claudius、Anirudh Suresh、Eric Wong、Akshath Sivaprasad
編纂:0x9F、0x214、BlockBeats
物理的および暗号の世界において、橋は障害物によって隔てられた二つの場所をつなぐために存在します。物理的な橋は、谷や川などの自然の障壁によって隔てられた土地をつなぎ、クロスチェーンブリッジプロトコルは、元々通信や同期ができなかったブロックチェーンをつなぎます。橋が破壊され、攻撃を受けるたびに、その重要性が明らかになります。物理的な世界では、歴史的に記録された++致命的な橋の崩壊事件++が、橋がいかに重要であり、設計や建設が不適切な橋がいかに危険であるかを示しています。
暗号の世界におけるクロスチェーンブリッジプロトコルも同様です。クロスチェーンブリッジは、安全リスクの面で非常に狙われやすいです。スマートコントラクトの潜在的な脆弱性や攻撃の規模の観点から、クロスチェーンブリッジは二次的なリスク面を呈します:ブリッジされるブロックチェーンの数が増えるにつれて、クロスチェーンブリッジを運営するために必要なスマートコントラクトの数も二次的に増加します(少なくともピアツーピアモデルでは)。異なる運用時間においてカスタマイズされた設定で書かれたスマートコントラクトが急速に増加することも、クロスチェーンブリッジのリスクを増大させます。ハブアンドスポークモデルでは、中心のチェーン/ネットワークに関連する脆弱性が非対称なリスクを引き起こします。
最近の++ノマド攻撃事件++が示すように、一つのミスが橋の大部分または全ての資金の喪失を引き起こす可能性があります。しかし、脆弱性はクロスチェーンブリッジに関係なく、単なる操作上のミスから生じることもあります。Roninクロスチェーンブリッジのケースでは、++悪化した運用セキュリティ対策++がフィッシング攻撃を助長し、++ハッカーがネットワークのセキュリティを保証する大部分の検証ノードを制御することができた++ため、5億ドル以上の資金を持ち去ることができました。2月に発生したWormhole攻撃事件も、検証の欠如が原因で、攻撃者が偽の署名を作成し、++3.2億ドル以上を盗むことができた++のです。
安全性に注意を払わなければ、不可避的にさらなる不注意が発生し、攻撃や損失を被ることになります。ハッカーにとって、クロスチェーンブリッジの膨大なTVLは、通常のプロトコルよりも魅力的です。
上記の攻撃事件は、プロトコルのブリッジロジックに関係するものではなく、スマートコントラクトの脆弱性や操作の不注意に関連しています。最も注意深く書かれたコードを使用し、最高のセキュリティ監査を受けたとしても、接続されるブロックチェーンや有効化される機能の数が増えるにつれて、必然的に見落とされる脆弱性が存在します。この理由から、クロスチェーンブリッジは、通常の状況下で安全に機能するだけでなく、極端な状況にも対応できるように構成される必要があります。
ユーザーがクロスチェーンブリッジを使用する際に主に注目する特性は、良好なユーザー体験、低スリッページの高効率、そして資産の安全性です。その中でも、安全性はクロスチェーンブリッジを評価する上で最も重要です。
この点を考慮して、異なる橋がどのようにその安全性を重ねているかを見てみましょう。以下の3つのレベルから議論を展開し、異なるクロスチェーンブリッジの安全性を比較します。
- 信頼仮定
- コード保証
- セキュリティ機能
前者の2つは、クロスチェーンブリッジが信頼レイヤーとソースコードの2つのレベルでその脆弱性/脆弱性の根源を十分に考慮しているかどうかを議論します。最後のポイントは、プロトコルが、どれほど注意深くコーディングされ、監査されても、脆弱性は避けられず、ユーザーの潜在的な損失を可能な限り減少させるために追加の保護措置を適切に設けているかどうかに関わります。
完全に透明性を保つために、詳細な議論に入る前に、Jump CryptoがWormholeプロジェクトの運営管理者であり、Wormholeの主要な貢献者の一人であることを認めますが、この記事ではできるだけ客観的に評価し、クロスチェーンブリッジ間の違いを示す詳細を提供するためのフィードバックを歓迎し、受け入れます。
信頼仮定
そのコア構成から、クロスチェーンブリッジは3つの構成要素に分解できます:
- スマートコントラクト(Smart contract):各ブロックチェーン情報の発信/受信
- オラクル(Oracle):情報が元のチェーンからのものであるかを検証
- リレイヤー(Relayer):メッセージをターゲットチェーンに提出
実際には、クロスチェーンブリッジがオラクル上でコンセンサス(情報が有効かどうかに関する)を実現する際に大きな違いが生じる可能性があり、これがリレイヤーにも影響を与えます。
私たちが深く研究する前に、この分野で最も人気のあるブリッジのいくつかが使用しているコンセンサスメカニズムの簡単な紹介をします。
Axelar
AxelarはCosmos PoSネットワークに基づいて運営され、検証者はトークン保有者によって選出され、比例的に投票権を得ます。投票権の重みは委任された権益に基づいて計算されます。Axelarネットワークは、(t,n)閾値署名スキームを使用してクロスチェーン情報を検証し、署名者の投票権はnに正規化され、nはt(プロトコルの閾値)より大きくなければなりません。Axelarネットワークには現在最大50人の検証者がいますが、メッセージに署名するには66.67%以上の多数票を得る必要があります(これらの2つの変数はガバナンス投票によって変更可能です)。
理論的には、検証者の数は無限大にすることができますが、実際には、検証者が各ブロックチェーンのノードを運営する必要がないため、投票権が偏ることがあります。Axelarの現在の++検証者リスト++には47人の検証者がいますが、実際に有効な投票権を持つのは20人だけです。特定のブロックチェーン上では、この数字はさらに小さくなります。たとえば、Aurora上の情報を検証する場合、メッセージを成功裏に送信するには8つのノードが必要で、メッセージを審査するには4つのノードが必要です。
LayerZero
LayerZeroはクロスチェーン相互運用プロトコルであり、ブロックチェーン間の信頼不要な通信の問題をオラクル(Oracle)とリレイヤー(Relayer)の2つのエンティティ間の独立性の問題に簡素化します。オラクルはブロックヘッダーをターゲットチェーンに転送し、リレイヤーはトランザクション証明をターゲットチェーンに転送し、両者がメッセージが有効であり、情報が元のチェーンに確実に提出されたことを証明します。ユーザーアプリケーション(UA)は、LayerZeroのデフォルトのオラクルとリレイヤーを自由に使用することも、自分自身のオラクルとリレイヤーを作成して運営することもできます。
デフォルトのオラクルはChainlinkの分散型オラクルネットワーク(DON)であり、3つの参加者(FTX、Polygon、Sequoia)間で閾値署名スキーム(Threshold signature)を使用しています。この記事執筆時点では、LayerZeroのコードベースのクローズドソース性のため、著者はその実行状況についての理解が不足しています。特定のアプリケーションバージョンのオラクルに関して、LayerZero自身のAckee監査は、自分自身のオラクルとリレイヤーを作成して運営するアプリケーションにとって、無効なトランザクション証明とブロックヘッダーを成功裏に提出することは難しくないと指摘しています。しかし、このモジュール化は確かに利点を提供し、将来的に脆弱性が発生した場合、それは影響を受けたオラクル-リレイヤーのアプリケーションにのみ作用します。
LayerZeroの信頼仮定は、2つのエンティティの行動に依存しています------オラクルとリレイヤーが互いに独立して動作する限り、無効なメッセージを成功裏に送信することは不可能です。しかし逆に、このシステムはオラクルとリレイヤーの両方が正常に動作することを要求するため、いずれか一方が情報データを任意に削除することができます。
Multichain
Multichainは、以前のAnyswapに由来するクロスチェーン情報伝達プロトコルです。Multichainは、安全なマルチパーティ計算(SMPC)を使用して閾値署名スキームを実行し、公開鍵を作成し、チェーン間で伝達されるメッセージに署名します。これらのノードは、信頼不要な方法でユーザーアカウント(EOA)を制御し、ウォレットアドレスは分割された秘密鍵と一対一で対応しています。これらのアカウントは資産を保存し、ターゲットチェーンに資産を移転するために使用され、ターゲットチェーンは送信者のアドレスが信頼できるかどうかを確認するだけで、メッセージ自体を検証する必要はありません。
Multichainネットワークは現在、24のSMPCノードで構成されており、異なる機関によって運営されており、メッセージを共同で検証するために大多数のノード(「大多数」の量的基準は公開されていないようです)が必要です。したがって、このプロトコルの安全性はSMPCノードの評判の安全性に依存しており、すべてのノードの中で誠実なノードが半数以上を占めると仮定しています。クロスチェーンでデータを送信するには13人の署名者が必要で、メッセージを審査するには12のノードが必要です。
Nomad
NomadはEVMを重視したクロスチェーン情報伝達プロトコルであり、楽観的なメカニズムを使用してメッセージを検証します。メッセージはMerkleツリーに追加され、新しいルートにハッシュ化され、アップデーター(Updater)によって元のチェーンに公開されます。アップデーターは保証金を支払う必要があり、これにより有効な証明を公開し、ダウンタイムを最小限に抑えるように促されます。その後、ウォッチャー(Watcher)は新しいルートに対して異議を申し立て、詐欺証明を提出する時間があります。時間範囲を超えると、このMerkleルートは有効と見なされ、ターゲットチェーンに転送され、元のメッセージ(Merkleルートはメッセージの「化身代表」に過ぎない)がターゲットチェーンに公開されます。
この楽観的なモデルでは、無効な更新が公開されたかどうかを検証するために、誠実なウォッチャーが1人必要です。このセキュリティモデルのコストは、ウォッチャーが詐欺証明を提出するために約30分の時間を持つため、メッセージの伝送も30分遅れることになります。ウォッチャーは、ターゲットコントラクトに虚偽の詐欺証明を送信することでメッセージの処理を妨げることができるため、Nomadはアプリケーションによって指定された許可されたウォッチャーのセットを使用します。プロトコルの安全性は、少なくとも1人の誠実なウォッチャーが存在する可能性と、悪意のある行動によってアップデーターの経済的安全性が削減されることに基づいています。
Nomadのスマートコントラクトは、++マルチシグガバナンスモデル++を通じてアップグレード可能で、5人の署名者のうち3人がガバナンスの変更を実行し、復旧管理を処理する必要があります。
最近のNomadハッカー事件は、そのコンセンサスメカニズムの安全性とは無関係であり、不幸な++契約設定ミス++が原因で、スマートコントラクトの端末に悪意のある行動が発生しました。
Wormhole
Wormholeは権威証明(PoA)ガーディアンネットワークをオラクルとして利用し、信頼不要のリレイヤーネットワークを利用してメッセージをクロスチェーンで伝送します。19人のガーディアンのそれぞれがWormholeがサポートする各チェーンのフルノードを運営し、各チェーン上のWormholeコアコントラクトから発信されるメッセージを監視します。これらのガーディアンはこれらのメッセージを検証し、署名し、その後P2Pネットワーク上で相互に伝達します。メッセージが2/3以上のガーディアン(少なくとも13人)の署名を受け取ると、それはターゲットチェーンに転送されます。この設計の副産物は、ガーディアンによって署名された情報であるため、メッセージの内容が変更されることも、検閲されることも不可能であるため、完全に信頼不要なリレイヤーネットワークがメッセージをターゲットチェーンに公開することを可能にします。
プロトコルの安全保障は、ガーディアンの評判の権威から来ています。Wormholeのケースでは、これは++Web3の19の最大のステーキングおよびインフラプロバイダー++で構成される団体です。偽のメッセージに署名するには13人のガーディアンが必要で、メッセージを審査するには7人のガーディアンが必要です。さらに、既存のガーディアンは他のガーディアンを削除または置き換える投票を行う能力があります。
コード保証
コード保証は、チェーン上にコードをデプロイする前に完了する必要がある作業を指します。これには以下のいくつかの側面が含まれる可能性があります:
- 監査:公開されたコア機能と新機能に対する複数回の独立した品質監査
- バウンティ:脆弱性開示者に対する魅力的な報酬の提供、そして大規模なバウンティを迅速に支払う業界の評判
- テスト:各コード変更に対してできるだけ多くのプロトコルスタックをテストし、成長するソフトウェアエコシステムの中で回帰テストを行う
- デプロイセキュリティ:公開環境で開発、コードをマージする前にレビュー、コントラクトバイトコードの検証、アップグレード前にシミュレーションテストを行う必要があります
下の表は、5つのクロスチェーンブリッジプロトコルのこれら4つの側面でのパフォーマンスをまとめたものです。
Axelar
Axelarは複数回の公開かつ評判の良い監査を受けており、かなり強力な(最近数ヶ月間は活発度が低下していますが)テストスイートを運営しています:継続的インテグレーション(CI)および継続的デリバリー(CD)の実行、bashビルドスクリプト、チェックサム(checksum)検証。AxelarはImmunefiと提携して脆弱性バウンティプログラムを設立し、重大な脆弱性開示者に最大100万ドルの報酬を提供していますが、他のレベルの報酬は比較的小さいです。Axelarのリポジトリには、貢献者が定期的にコードを提出しており、プルリクエストには少なくとも1人のレビュアーの承認が必要です。
LayerZero
LayerZeroはコードデプロイに関してやや不透明なようです。トップクラスの監査人からのいくつかの公開監査はありますが、公開された継続的インテグレーション(CI)および継続的デリバリー(CD)プロセスが不足しています。コードは一度きりの公開であり、アジャイルな開発プロセスではないようです。行われたテストは比較的古く、JavaScriptテストに限られているようです。プルリクエストには強制的な同行レビューのステップが欠けているようです。LayerZeroは確かに4月にImmunefiと提携した1500万ドルの脆弱性バウンティプログラムを発表しました。しかし、これまでのところ、関連プロジェクトは公開されておらず、脆弱性を報告してバウンティを得る方法についての説明もありません。
Multichain
Multichainは複数回の公開監査を受けており、Immunefiとの間で最大200万ドルのバウンティプログラムを持っています。Multichainが行ったテストは停滞しているようで、一般的なABIと簡単な転送テストに限られているようです。継続的インテグレーション(CI)および継続的デリバリー(CD)の実行や限られた単体および統合テストはありますが、デプロイプロセスは主に手動のようです。Multichainのリポジトリには、貢献者が定期的にコードを提出していますが、合併するのは一方だけで済むようです(元の開発者が自分のコードを合併できる)。
Nomad
Nomadは最近Quantstampの公開監査を受け、Immunefiの脆弱性バウンティプログラムがあり、報酬は最大100万ドルです。Nomadのテストスイートには、Foundryを利用したルーティングとメッセージングに関するテストが含まれており、Axelarと同様に、バッシュビルドスクリプトを使用してバイトコードを構築および検証します。Nomadのリポジトリには、貢献者が定期的にコードを提出しており、プルリクエストには少なくとも2つの側がコードを合併する必要があります(元の開発者と1人の独立したレビュアー)。
Wormhole
Wormholeのセキュリティページは、業界のリーディング監査会社からの監査が完了したものと進行中のものを強調しています。WormholeはImmunefiで1000万ドルのバウンティプログラムを持っています。2月にハッキングを受けて以来、Wormholeは1100万ドル以上の脆弱性バウンティを支払っており、5月にはホワイトハットハッカーに1000万ドルを支払いました。Wormholeのリポジトリは混合単体および統合テストを使用しており、拡張可能な継続的インテグレーション(CI)および継続的デリバリー(CD)スイートを持ち、アップグレードの後方互換性と将来のアップグレード能力を検証するための一連のシミュレーションテストを実行しています。さらに、Wormholeは積極的な提出と貢献者の公開構築を通じて、透明なコードレビューと責任ある開示を実現しています。Wormholeのプルリクエストには、少なくとも3つの側がコードを合併する必要があります(元の開発者と2人の独立したレビュアー)。
注意すべきは、プロトコルのコード保証の方法は、重大なセキュリティ事件を経て大きく改善されることです。たとえば、ハッキングを受けた後、Wormholeのコード保証の方法は迅速に改善されました。同様に、今週の攻撃事件の後、Nomadプロトコルは近い将来により多くのコード保証の方法を採用する可能性が高いです。明らかに、事件が発生する前にこれらの手法を採用するのが最善ですが、残念ながらそれらは常に優先リストにあるわけではありません。
セキュリティ機能
前述のように、クロスチェーンブリッジでセキュリティ問題が発生すると、その代償は非常に高くなります。上記のコード保証措置は、クロスチェーンブリッジプロバイダーのセキュリティ計画にとって重要です。このセクションでは、各クロスチェーンブリッジが開発または展開しているプロトコル内のセキュリティ機能を詳しく調査し、コアの信頼仮定とコード保証が根本的に不足している場合に、これらのクロスチェーンブリッジがどのように多層防御を実現しているかを理解します。
Axelar
Axelarはホワイトペーパーで、ネットワークによって配分された資金プールを、ガバナンス制御の保障およびバックアップメカニズムとして説明しています。これにより、Axelarが中断した場合にユーザーに復旧ガバナンスの指針を提供します。このような危機の際には、閾値契約(Axelar検証者管理)に保管された「緊急解除キー」が、補助的な復旧ユーザーグループと共有されます。必要に応じて、このキューは数千人の個人や機関に拡大し、彼らは共同でネットワークを制御することができます:
- 特定のチェーンに入出金できる資金量に対してレート制限を設定する
- チェーン上のネイティブ資産の包装形式を決定する場合
これらの機能は、現在のところ独占的に見え、オープンソースではありません。さらに、これらの提案された機能は、リスクを制限するための受動的な安全性を提供するのではなく、生死の存亡の危機に際してのみ活性化されます。
LayerZero
LayerZeroのブリッジモデルには、トランザクションアプリケーションがターゲットチェーン上のリレイヤーを選択する要件が含まれています。したがって、このモデルでは、プロトコル内のセキュリティ機能の重要な点はリレイヤーにあります。
4月に、LayerZeroチームは彼らのプロトコル内のセキュリティ機能のアプローチを「ドーム(the dome)」と「プレクリム(pre-crime)」と呼んで紹介しました。ドーム機能に関する公開情報はほとんどありませんが、ブログ記事にはプレクリムがどのように機能するかの手がかりが提供されています。プレクリムモデルは基本的に、ユーザーアプリケーション(UA)が特定の状態のセットを定義し、リレイヤーがこれらの状態に基づいて検証する必要があることを許可します。これらの状態が検証されない場合、リレイヤーはトランザクションを中継しません。
これらの機能は現在のところ独占的に見え、オープンソースではありません。概念的には非常に強力ですが、その有効性を独立して評価するのは難しいです。
Multichain
Multichainは最近の投稿で、彼らのいくつかのセキュリティ対策を開示し、彼らのブリッジ設定に関するいくつかのセキュリティ機能を言及しました:
- トランザクション量制限および総トランザクション額制限:この機能により、トランザクション量が大きいブロックチェーンは特定の上限に制限されます。また、トランザクション量が少ないブロックチェーンには総トランザクション額制限が適用されます。
- チェーン上の監視:このモデルは、異常な行動を検出し、緊急事態対応行動をトリガーするための監視ソフトウェアとチェーン上のウォッチドッグを含みます。
- プロダクトの一時停止:この機能により、すべてのプロダクトを一時停止し、緊急事態対応行動を実施する際にすべてのプロダクトを効果的に一時停止できます。
- セキュリティ基金:これは実際には保障基金であり、すべてのクロスチェーン手数料の10%を取り出し、特別な状況でのユーザーの財産損失を補償します。
Nomad
Nomadは楽観的検証モデルを利用しており、メッセージは元のチェーン上で署名され、ターゲットチェーン上で強制される内蔵の時間ウィンドウがあります。ある程度、これは「この時間より早くこの手紙を開けてはいけない」というようなものです。この時間は、「自動回路遮断器」を実装し、Merkleルートが有効と見なされる前に資産の移転を停止するのに役立ちます。この概念はNomadの文書に登場しており、開発が進行中のようです。
Wormholeのメッセージ伝送モデルはマルチキャスト(multi-cast)であり、メッセージはガーディアン/オラクルネットワークによって元のチェーンから公証され、信頼しないリレイヤーによってターゲットチェーンに持ち込まれます。このモデルは基本的に非常に強力なオラクルネットワークを必要とし、プロトコル内のセキュリティ機能はこれに依存しています。
Wormholeプロジェクトには、開発中の3つの主要なプロトコル内のセキュリティ機能があります:監視、会計、および緊急停止。これらの機能は公開可能な形で開発されており、最終的にどのように機能するかを深く理解することができます。これらの機能は開発が完了し、ガーディアンによって採用されるのを待っています。
- 監視:この機能はガーディアン/オラクル内で実現され、ガーディアンが規制されたチェーンからの価値の流れの名目金額を監視することを許可します。ガーディアンは各チェーンに対して受け入れ可能な上限を設定でき、その上限に達すると、そのチェーンの超過資産の流れを阻止します。
- 会計:この機能はガーディアン/オラクル内で実現され、ガーディアンが自身のブロックチェーン(「wormchain」とも呼ばれる)を維持することを許可します。これにより、ガーディアンはチェーン上の検証者として機能し、会計プラグインとしても機能します。ガーディアンは、元のチェーンに十分な資金がない場合(スマートコントラクトのロジックとは独立して検証される)に、クロスチェーン取引を拒否できます。
- 停止:この機能はチェーン上で実施され、ガーディアンがクロスチェーンブリッジに脅威が存在することに気づいた場合に、合意に達してクロスチェーンブリッジ上の資産の流れを一時停止することを許可します。現在の実施計画では、提案された実施計画内のチェーン上の関数呼び出しを通じて実現されます。
結論
今後数ヶ月または数年の間に、私たちは安全性がクロスチェーンブリッジ間の差を広げる要因になると信じています。安全性を優先するクロスチェーンブリッジは危機を乗り越える可能性が高く、そうでないクロスチェーンブリッジは生き残ることが難しいでしょう。安全性はかつて競争優位の一つであったかもしれませんが、今やそれはすべてのクロスチェーンブリッジが最優先で考慮すべき機能である必要があります。私たちはすべてのクロスチェーンブリッジが団結し、クロスチェーンブリッジの安全技術の向上に努めることを望んでいます。














