2月21日、約15億ドル相当の ETH とステーク済み ETH トークンが、たった1件の承認済みトランザクションによって Bybit のコールドウォレットの1つから流出しました——記録に残る限り最大の暗号資産盗難です。そのウォレットはマルチシグでした。必要な署名者は全員が署名しました。そして、これまでのどの調査が示す限りにおいても、秘密鍵は1つも盗まれていません。Bybit ハッキングの教訓からたった1つだけ持ち帰るなら、これにしてください——暗号技術は守り抜かれ、それでも資金は出て行った、ということを。
これはマルチシグに反対する主張ではありません。私たちはマルチシグウォレットを作っており、いまでも M-of-N の署名こそ、本格的な資産を保有するうえで最も独立して検証可能な方法だと考えています。これは、本当の攻撃対象領域がどこにあるのかについての主張です。マルチシグは鍵のカストディを分散します。しかしそれ自体は、検証を分散しません。すべての署名は、目の前のペイロードに対する署名者の理解と、まったく同じだけしか信頼できません——そして2月21日、その理解は攻撃者によって作り上げられていたのです。
2週間が経った時点でわかっていること
本稿執筆時点で、Bybit の声明、Safe のインシデント後の開示、そして FBI による公的な帰属判断から組み立てられる全体像は、互いに整合しています。Bybit のチームは、これまで何度も使ってきた Safe{Wallet} のウェブインターフェースを用いて、Ethereum のコールドマルチシグからウォームウォレットへの日常的な送金を行おうとしていました。各署名者の目には、正当に見えるトランザクションが映っていました——見慣れたインターフェース、想定どおりのフロー、手が覚えた操作を止めるものは何もありませんでした。
クォーラム(必要承認数)が実際に承認したのは、別物でした。そのトランザクションは、ウォレットそのもののスマートコントラクトのロジックをひそかに書き換え、攻撃者が支配する実装に差し替えていたのです。本物の署名がオンチェーンに載った瞬間、金庫は新しいロジックに従い、約40万 ETH とステーク済み ETH トークン——当時のレートで約15億ドル——が流出しました。Safe の調査は、この侵害をある開発者のマシンにまでたどり着き、悪意あるコードがフロントエンドを通じて配信され、Bybit の署名者だけを狙って仕込まれていたことを突き止めました。ほかの利用者にとっては、インターフェースはふだんどおりに動作していたのです。2月下旬、FBI はこの作戦を北朝鮮の Lazarus Group によるものと公的に断定し、TraderTraitor という名称で追跡していると発表しました。
さらに2つの事実が、同じ重みで扱われるに値します。Bybit は支払能力を維持し、その後の混乱のあいだも出金処理を続けました。そして鍵素材はどの時点でも抜き取られていません——シードフレーズがフィッシングされたわけでも、署名端末が押収されたわけでも、しきい値が数学的に回避されたわけでもないのです。
鍵は守られた——そしてそれこそが要点だ
マルチシグウォレットは、資金が動く前に、N 個のうち M 個の独立した鍵がトランザクションを承認することを求めます。この性質は2月21日、完璧に機能しました。署名は本物で、クォーラムは正当で、コントラクトは署名されたとおりのことを寸分違わず実行しました。攻撃者は数学を打ち破ろうとは一度も試みていません。彼らは、クォーラムが自らの意思で偽りに署名するよう仕向けたのです。Bybit ハッキングは、トランザクション検証の失敗であって、マルチシグの暗号技術の失敗ではありませんでした。
署名とは、ペイロードについての意見である。あなたが検証したペイロードが、あなたが署名したペイロードと違うのなら、署名者の数など関係ない。
「コールドウォレットがハッキングされた」という見出しは、この区別を見落としています。そしてこの区別が重要なのは、何を修正すべきかを決めるからです。コールドストレージは、その狭い役割を果たしました——鍵はオンラインのマシンに一度も触れていません。マルチシグも、その狭い役割を果たしました——単独の署名者だけでは行動できませんでした。破綻したのは、ほとんど誰も自分の脅威モデルに書き込まない部品——画面です。
ブラインド署名とは、正確には何か
ブラインド署名とは、真の内容を署名者が独立して検証できないトランザクションを承認することです。Ethereum において、署名者が暗号学的に承認しているのは、構造化されたトランザクションデータのハッシュであって、画面に表示された人間が読める要約ではありません。そのデータを意図——宛先、金額、コントラクト呼び出し——へと復号し直すのは、何らかのソフトウェアの役目であり、署名者はそのソフトウェアが主張することをそのまま引き受けます。インターフェースが嘘をつけば、人間は作り話を確認し、その一方でチェーンは真実を実行するのです。
Bybit のトランザクションは、まさにこの隙間を突きました。ほとんどのインターフェースが目立つ形で表示しない1つのフィールド——オペレーションタイプ——が、一見ただの送金に見えるものを、ウォレットのロジックを組み替える delegatecall へと変えていたのです。ハードウェア署名デバイスも、この隙間を自動的に埋めてはくれません。不透明なハッシュだけを表示するデバイスは、どんな人間にも解析できないものを検証しろと人間に求めているのです。それは検証の演劇であり、精査を加えないまま自信だけを生み出すという意味で、何もないよりもむしろ悪いとさえ言えます。
1つのフロントエンド、1つのクォーラム、1つの失敗
Bybit の署名者たちは、別々の端末で独立した鍵を保持していました。しかし彼らは全員、同じウェブフロントエンドを通じてトランザクションを検証していたため、1つの侵害されたインターフェースがクォーラム全体に一度に届いてしまいました。署名者の独立性が求めるのは、単に独立した鍵ではなく、独立した検証チャネルです。署名者全員が1つの画面を信頼する 3-of-3 ウォレットは、実務上、1-of-1 へと崩れ落ちます——そしてその「1」は、インターフェースを支配する者に他なりません。
この教訓は、スキームを問いません。MPC ウォレットはオンチェーンのコントラクトを分散された鍵シェアに置き換えますが——そのトレードオフはMPC vs マルチシグ:率直な比較で比較しました——MPC のクォーラムも、まったく同じ場所に行き着きます。すなわち、何らかのインターフェースが描画したペイロードを、人間が承認するという場所です。そして、業界史上最大の盗難が新しい暗号技術をまったく必要としなかった一方で、これほど多くのエネルギーが遠く風変わりな脅威へと注がれていること——12月には量子コンピュータが Bitcoin の鍵にどこまで近づいているかを検証しました——は、業界の優先順位について何かを物語っています。最大の盗難に必要だったのは、JavaScript でした。
Bybit ハッキングから得る実践的な教訓
以下のどれ1つとして、新しい暗号技術も新しいハードウェアも必要としません。これは運用上の規律です——そして、だからこそ省略されてしまうのです。
- あらゆる署名画面を信頼できないものとして扱う。あなたのトランザクションを組み立てるインターフェースは、残高が手間に見合うようになった瞬間に標的になります。最も重要なまさにその日に、それがあなたに嘘をつきうると想定してください。
- 2つ目の独立した面で検証する。生のトランザクション——宛先、金額、calldata、オペレーションタイプ——を、それを組み立てたマシンと何一つ共有しない端末の上で復号してください。2つの画面がまったく同じように嘘をつくのは、1つの画面が単独で嘘をつくよりもはるかに難しい攻撃です。
- 不透明なペイロードを拒否する。署名者が、トランザクションが何をするのかをパラメータ1つひとつまで見られないのなら、そのトランザクションに対する正しい署名の数はゼロです。「たぶんいつもの送金だろう」——15億ドルはそうやって動くのです。
- 被害範囲を限定する。アドレスのホワイトリスト、日次・月次の限度額、そして分離されたロールは、1つの誤った承認を、全損ではなく上限のある損失へと変えます。Bybit の損失がその金庫にとって全損となったのは、1件の承認済みトランザクションが何をできるかを制約するものが何もなかったからです。
- 日常業務こそ、速度を落とす。この攻撃は、チームが行う最もありふれた操作を装っていました。ありふれた操作こそ、最も精査されないからです。ルーティンは気を緩める理由ではありません。それは、攻撃者が選ぶ衣装なのです。
この教訓が Ownbit の署名をどう形作っているか
上に挙げた Bybit ハッキングの教訓のうち、長く残るのは構造的なものです。最終的な検証は、侵害されたマシンが手を伸ばせないどこかに置かれていなければならない、ということです。Ownbit のコールドウォレット運用は、この考えを軸に組み立てられています。余ったスマホがエアギャップされた署名者になります。オンライン側のスマホは鍵を一切保持しないウォッチウォレットを動かし、未署名のトランザクションを組み立てて、QRコードとして受け渡します。オフラインのスマホは、署名がまだ存在しないうちに、実際に何への署名を求められているのかを表示し、それから同じ方法で署名を返します。この QR の受け渡しは意図的に狭くしてあります。すべてのトランザクションが2つ目の独立した面を強制的に通され、鍵を保持する端末は、汚染されているかもしれないウェブページを決して読み込まないのです。
チームには、エンタープライズ・マルチシグが被害範囲の教訓を直接に適用します。誰が署名するかにかかわらず資金がリストにない宛先へ届かないようにするアドレスのホワイトリスト、日次・月次の支出限度額、オーナー・署名者・セキュリティ管理者のロール、そして緊急停止です。こうした管理策は欺瞞を不可能にするわけではありません——それを完全に実現できるものは何もありません——が、操作された1つの承認がもたらしうるコストに上限を設けます。
そして、私たち自身についての正直な注記を1つ。Ownbit のサーバーは署名を調整しますが、ユーザーの鍵を保持することは決してありません。Ownbit のマルチシグにおけるすべての鍵は標準的な BIP39 シードフレーズであり、復元は私たちのインフラなしで機能します。最小化された信頼は、両方向に作用します。侵害されたコーディネーターがあなたに対してできることを制限するのと同じ設計こそ、私たちが標的型攻撃に対して無敵であるふりをせずに Bybit の最悪の1週間について書ける理由なのです。無敵だという主張ではなく、限定された被害。それこそが、ベンダーに求める価値のある基準です。
よくある質問
Bybit ハッキングはマルチシグの失敗だったのですか?
いいえ。マルチシグのコントラクトはしきい値を正しく執行し、秘密鍵は1つも盗まれていません。必要な署名者たちが、ウォレット自身のロジックを書き換えるトランザクションを承認するよう欺かれたのです——失敗はトランザクション検証にあったのであって、マルチシグの暗号技術にあったのではありません。正しい対応は、マルチシグを捨てることではなく、独立した検証を加えることです。
暗号資産におけるブラインド署名とは何ですか?
ブラインド署名とは、真の内容を自分で独立して検証できないトランザクションを承認することです。署名者は技術的にはトランザクションデータのハッシュを承認しており、それを正直に復号してくれるインターフェースに依存しています。そのインターフェースが侵害されていれば、署名者は目にしているものを確認しながら、まったく別のものを承認してしまうのです。
Bybit ハッキングではいくら盗まれたのですか?
約15億ドル相当の ETH とステーク済み ETH トークン——およそ40万 ETH——であり、2025年3月初旬時点で記録に残る限り最大の暗号資産盗難となりました。FBI はこの攻撃を北朝鮮の Lazarus Group によるものと断定しました。Bybit は支払能力を維持し、顧客の出金処理を続けました。
マルチシグの署名者は、侵害されたフロントエンドからどうやって身を守れますか?
すべてのトランザクションを、それを組み立てたマシンと何一つ共有しない2台目の端末で検証し、パラメータ1つひとつまで復号できないペイロードには署名を拒否してください。そのうえで構造的な限度——アドレスのホワイトリスト、支出上限、ロールの分離——を加え、欺かれた1つの承認だけではウォレット全体を空にできないようにするのです。
これらの Bybit ハッキングの教訓を受けて、あなた自身の署名フローを見直そうと思ったなら、その直感は正しいものです——そして、より良いフローを試すのにかかるのは、トレジャリーではなく1つの午後です。Ownbit のコールドウォレット運用は、余ったスマホでトランザクションを完全にオフラインで検証し署名できるようにし、エンタープライズ・マルチシグは、複数の人間の意向に従う資金のためにホワイトリスト、限度額、ロールを加えます。すべての新規ユーザーが7日間の無料トライアルを利用でき、どちらにしても、鍵はあなたのものであり続けます。