ブリッジが狙われ続ける理由と、ブリッジされたトークンの正体

·6 分で読める·SSP Editorial Team 著
SSP Academy カバー:クロスチェーンブリッジの攻撃とラップトークン

ブリッジが狙われ続ける理由と、ブリッジされたトークンの正体

2021 年から 2022 年にかけてのある時期、クロスチェーンブリッジは暗号資産の世界でもっとも確実に盗まれ続けた対象でした。取引所でもウォレットでもなく、スマートコントラクト一般でもなく、ブリッジです。

Ronin は約 6 億 2500 万ドルを失いました。Poly Network は 6 億ドル超。Wormhole はおよそ 3 億 2000 万ドル。Nomad は 2 億ドル近く。四件で十五億ドルを超え、しかもこの一覧は四件で終わりません。

そのどれ一つとして、ビットコインやイーサリアム、あるいは基盤となるチェーンの失敗ではありませんでした。なぜかを理解することは、ブリッジについて学べる最も有用なことです。ブリッジを使うとき自分が何を信頼しているのかを、正確に教えてくれるからです。

チェーン同士は会話できない

根本の問題は単純で、しばしば読み飛ばされます。ビットコインはイーサリアムの存在を知りません。 各チェーンは自分の取引だけを検証し、他のチェーンの状態を観測する仕組みを持ちません。一方が他方で何が起きたかを知る、組み込みの手段は存在しないのです。

ですから「BTC をイーサリアムへ送る」は文字どおりには不可能です。あなたのビットコインはビットコインを離れられません。

実際に起きているのは差し替えです。あなたは本物の BTC をブリッジが管理するアドレスへ送ります。ブリッジがそれに気づき、イーサリアム側の何かが、その BTC を表すトークンをあなたに発行します。抜けたくなったらトークンを焼き、ブリッジが元本を解放します。

決定的な帰結はこれです。ブリッジされたトークンは資産そのものではありません。ブリッジを運営する者が保管する、その資産のプールに対する請求権です。 その価値は、プールがまだそこにあり、運営者が償還に応じ続けることに全面的に依存します。プールが空にされれば、あなたのラップトークンは何も引き換えられない受領書です――上の各事件で保有者が思い知ったのが、まさにそれでした。

入金があったと誰かが判定せねばならない

どちらのチェーンも相手を観測できない以上、第三者がチェーン A を見張り、入金があったとチェーン B に証言せねばなりません。その証言の仕組みがブリッジであり、そこからすべてのお金が消えていきます。

設計は、どれだけ信頼を要求するかで異なります。

マルチシグまたは検証者集合――固定された署名者の集まりで、その定足数が解放を承認します。単純で速く、そして資金を動かせる最小の鍵の数と同じ強さしかありません。

楽観的モデル――一定の期間内に異議が出なければメッセージは有効とみなされます。安価ですが、誰かが実際に見張っていることと、異議の論理が正しいことに依存します。

ライトクライアントと証明――送り先チェーンが、送り元チェーンの状態についての暗号学的証明を検証します。最も堅固で最も高価な方法であり、それゆえ本来あるべきよりも普及していません。

ほかはすべて変種です。肝心なのは、ほぼどの場合も、プールと攻撃者のあいだに立つのは小さな当事者の集まりか、たった一つの検証関数だということです。

四つの失敗と、それぞれの教訓

Ronin――破られたのはコードではなく鍵だった。 このブリッジは九人の検証者を用い、出金の承認には五人を要しました。攻撃者は的を絞ったフィッシングで四つの鍵を手に入れ、五つめには、以前に署名権限を与えられたまま取り消されていなかった第三者を経由して到達しました。九のうち五、定足数成立、資金解放。暗号学的には何も破られていません。署名の検査は完璧に働きました――ただ、攻撃者の署名を検証しただけです。

教訓は「マルチシグが悪い」ではありません。定足数の意味は、その署名者たちの独立性の分しかないということです。一社の中の四つの鍵に、消し忘れた権限が一つ。それは五-of-九ではなく、衣装をまとった一-of-二に近いのです。

Poly Network――コントラクトが自分の門番を替えるよう説き伏せられた。 攻撃者はクロスチェーン呼び出しの経路を見つけ、どのメッセージが正当かを決める keeper の役を、自分が支配するアドレスへ書き換えました。それ以降、不正な出金はすべて、コントラクトから見れば正しく承認されていたのです。

教訓。ブリッジで最も危険な関数は、お金を動かす関数であることは稀です。誰にそれを許すかを決める関数です。

Wormhole――署名検査そのものに欠陥があった。 検証処理を騙して、偽造されたガーディアン署名の集合を受け入れさせることができ、そのおかげで攻撃者はイーサリアム側に何の裏付けもない wETH 12 万枚を Solana 上で発行できました。

教訓。正しい検証器がなければ「署名で検証済み」には何の意味もありません。暗号学は無事でした。その周りのコードが違ったのです。

Nomad――設定変更が全員に扉を開いた。 定例の更新で、信頼された根がゼロ値のまま残され、その結果ほとんどどんなメッセージも証明済みに見えるようになりました。この悪用に特別な技能は不要でした。人々は最初の攻撃者の取引をコピーし、自分のアドレスに差し替え、繰り返しました。集団による流出になったのです。

教訓、そしてこれが居心地の悪いものです。これは風変わりな攻撃ではありませんでした。配備のミスでした。ブリッジの損失の多くは、打ち破られた暗号学というより、しくじった運用に似ています。

これがあなたに意味すること

ブリッジされた資産はチェーンではなくブリッジのリスクを背負います。 別のチェーンでラップされた BTC を保有することは、BTC を保有することではありません。そのブリッジのいちばん弱い部品によって担保された請求権を保有することです。それで十分納得できる場合もあります――ただし、それは前提ではなく判断であるべきです。

代替手段があるならブリッジしないほうを選びましょう。 目的のチェーンでその資産をそのまま買えるなら、あるいは中央集権取引所を渡り口として使えるなら、ブリッジのリスクを別の、そしてしばしばより理解の進んだリスクと交換したことになります。どちらも無リスクではありません。壊れ方が違うだけで、取引所の破綻の型は少なくとも十分に整理されています

価値をブリッジされた形で置きっぱなしにしないでください。 ブリッジのリスクは時間とともに積み上がります。渡り、用を済ませ、戻る――それは短時間の露出です。ラップ資産を一年持つことは、一年間の露出です。

ブリッジは見た目ではなく信頼モデルで判断してください。 資金を動かせる署名者は何人か。独立した組織なのか、一つのチームなのか。コードは監査されたか、そして――より雄弁なことに――時間と取引量に耐えてきたか。洗練された画面は何も教えてくれません。

信頼の量に見合う額にとどめてください。 素朴な規則はこうです。運営者が消えても構わないと思える額を超えてブリッジしないこと。最悪の場合、その二つは同じことだからです。

SSP の立ち位置

SSP は EVM チェーン間での資産の移動に対応しています。それが何を守り、何を守らないかは正確に述べておく値打ちがあります。

私たちの 2-of-2 はあなたの鍵と承認を守ります。二台の端末が署名しない限り誰もブリッジ取引を開始できませんし、それぞれの端末で何を承認しているかを見られます。この性質は完全に保たれます。

できないのは、ブリッジそのものを安全にすることです。資産がブリッジのコントラクトに入った時点から、それらを支配するのはそのコントラクトの規則とその運営者の鍵管理であって、あなたのマルチシグではありません。二台での承認は、誰かが許可なくあなたの資金を動かすことに対する優れた防御です。あなたが自ら意図して送り込んだ場所から資金を奪われることに対しては、まったく防御になりません。

これは工学で迂回できる制約ではありませんし、そうでないふりをするのは不誠実です。ブリッジは暗号資産の中でも、安全性がほぼ全面的に他人に依存すると正直に答えるほかない場所の一つであり、正しい対応は、渡る前にその他人が誰なのかをよく見ることです。

この記事をシェアする

関連記事