テクノロジーインサイト一覧へ戻る
2026.09.08

Liquid Network、Elementsのレンジプルーフ検証キャッシュ欠陥で約4,000 BTC相当の無裏付けL-BTCが発行される

Liquid Network、Elementsのレンジプルーフ検証キャッシュ欠陥で約4,000 BTC相当の無裏付けL-BTCが発行される

何が起きたか

Liquid Networkはブロックストリームが開発・運用するビットコインのフェデレーテッド・サイドチェーンで、L-BTCは連邦(Federation)が保管するBTCによって1:1で裏付けられる建て付けになっている。公式インシデントレポート(9月8日19:10 UTC時点)によれば、2026年9月6日15:53:10 UTC、Liquidブロック4,050,336において、Liquidノードがレンジプルーフの検証結果をキャッシュする処理に起因する脆弱性が悪用された。ブロックストリームはこれを、コンフィデンシャル・トランザクション検証におけるキャッシュキーの衝突と説明している。

Liquidは金額を秘匿するコンフィデンシャル・トランザクションを採用しており、出力金額が負でないことはレンジプルーフという証明で担保される。この検証は重いためキャッシュされるが、キャッシュの索引キーが検証対象を一意に識別できていなければ、「別の入力に対する過去の検証成功」を流用してしまう。結果として、裏付けを持たないL-BTCが約4,000 BTC分生成された。

生成された偽のL-BTCは、その後SideSwapの通常のペグアウト経路を通って本物のBTCへ交換された。SlowMistの記録では流出額は約4,000 BTC(当時のレートで約3億2,000万ドル、1ドル=152.27円換算で約487億円。為替は2026年9月13日時点のGoogle Finance値)で、この金額から逆算されるBTC価格は約8万ドルである。第三者報道は準備金が約4,200 BTCだったとしており、事実であれば準備金の約95%が一度に失われたことになる。ブロックストリームは、連邦の署名鍵は侵害されていないと明言している。

成立条件と時系列

攻撃が成立したのは、①検証コストを削るためのキャッシュが、②検証対象の同一性判定を誤り、③その誤りが「発行量の上限」という最も重い不変条件に直結していた、という三段構えによる。ペグアウトの経路そのものは正常に動作している点が重要で、不正な取引が「異常な操作」として現れたわけではない。連邦から見れば、正当なL-BTCの正当なペグアウト要求に見えていた。

対応は速かった。ブリッジノードへのパッチ適用は9月7日01:09 UTCに完了しており、発生から約9時間16分である。攻撃者はビットコインのメインチェーン上にメッセージを残して自らをホワイトハットと称し、9月7日16:09:25 UTCに3,400 BTCを連邦のペグウォレットへ返還した。残る約598.5 BTC(全体の約15%、約4,700万ドル=約71.6億円)は未返還のままで、9月9日にはオンチェーンで「自己資金で10%をバウンティとして払わなければ保有者に15%の損失を与える」という要求が出された。ブロックストリームはこれを責任ある開示ではなく窃盗だとして身代金の支払いを拒否し、当局・取引所・調査会社と連携すると表明している。

ネットワークは停止した。第三者の観測では、チェーンの先端はブロック4,051,232(発生ブロックから896ブロック、公称60秒間隔で約15時間後)で止まり、丸一日以上ブロックが生成されなかった。緊急リリースのElements v23.3.4は9月9日13:30 UTCに公開され、ブロック生成は再開したが、ペグイン・ペグアウトは停止したままとされている。Adam Back CEOはL-BTCとBTCの1:1の裏付けはカバーすると公言している。

検証キャッシュという再発しやすい弱点

この事象の一般化は「キャッシュは正しさの前提を静かに置き換える」である。暗号学的検証をキャッシュするとき、実装者はキャッシュキーが検証結果の同一性条件を完全に表現していることを暗黙に仮定する。証明のフォーマットが拡張された、コミットメントの一部しかキーに含めていない、といった理由でこの仮定が崩れると、検証は通ったことになるのに実際には検証されていない状態が生まれる。同種の事故はブリッジの署名検証キャッシュやプリコンパイルの結果キャッシュでも過去に起きており、Liquid固有の問題ではない。

もう一つの一般化は、フェデレーテッド型やマルチシグ型のブリッジにおいて、「鍵が無事であること」は「資産が無事であること」を意味しないという点である。今回、鍵は一度も侵害されていない。侵害されたのは、鍵が署名してよい対象を決める上流の検証ロジックだった。ブリッジの安全性評価を署名者集合の分散度だけで行っている組織は、評価軸が一つ足りていない。

停止という手段を持っていたこと

今回の対応で目を引くのは、ブロック生成を止めるという選択が短時間で実行された点である。フェデレーテッド型のサイドチェーンは、ブロック署名者が既知の集合であるため、停止の合意形成が速い。パブリックなPoSチェーンやPoWチェーンでは同じことはできず、被害の進行中に処理を止める手段は基本的に存在しない。今回、被害が約4,000 BTCで止まり、そこから8割以上が返還される交渉が可能になった背景には、この停止能力がある。

同時に、停止能力は信頼の前提でもある。ユーザーから見れば、自分の資産を動かせなくする権限を運営側が持っているということであり、平時にはそれは中央集権性そのものとして評価される。今回の事例は、その権限が被害限定に効いた実例だが、同じ権限が別の場面で別の目的に使われないことを保証する仕組みは、技術ではなくガバナンスの領域にある。ブリッジやサイドチェーンを採用する際、「止められること」は長所と短所の両方として同時に評価されるべきで、どちらか一方だけを見る評価は片手落ちになる。

返還交渉の扱いも記録に値する。攻撃者は自らをホワイトハットと称してオンチェーンで接触し、バウンティを要求した。ブロックストリームはこれを窃盗と位置づけて拒否している。この判断は、条件付きで資産を保持する行為を責任ある開示と認めるかどうかという、業界全体の線引きに関わる。認めれば、同種の行為に対する事実上の価格表ができあがる。拒否すれば、返還のインセンティブは法執行と追跡のリスクに委ねられる。どちらにも副作用があり、今回の結末は今後の類似事例の参照点になる。

想定される落とし穴

第一に、L-BTCの裏付けを「連邦ウォレットのBTC残高」で監視していた運用は、今回の検知に役立たない。残高が減ったのはペグアウトが実行された後であり、異常はそれ以前、発行側の総量に現れていた。監視すべきは残高と発行量の差分であり、しかも発行量の側は秘匿設計のため単純な合算ができない。

第二に、ブロック生成の再開はサービス再開を意味しない。ペグイン・ペグアウトが停止している間、L-BTCはチェーン内では動かせても、BTCへの出入りができない。取引所やウォレットが「チェーンが動いているか」だけをヘルスチェックにしていると、ユーザーに誤った可用性を示すことになる。

第三に、返還されなかった約15%の扱いが未確定である。ブロックストリームはペグをカバーすると表明しているが、本稿執筆時点でその原資と手順の詳細は公表されていない。L-BTCを担保に取っているプロトコルは、裏付けが公的に回復するまでの間、評価額に不確実性が残ることを前提に置くべきである。

【技術インサイトとアクション】

  1. 検証結果のキャッシュは、キーが検証対象を一意に識別できていなければ「検証済み」という嘘を高速に量産する。自社のコードでも、署名検証・証明検証・アクセス制御判定の結果をメモ化している箇所は、キーに入れていない入力が結果を変えないことを証明できるかが問われる。 [ノード運用者・プロトコル開発者] 今週中に、検証系のキャッシュキーを棚卸しし、キーに含まれない入力が検証結果に影響しないことをテストで固定する。
  2. 鍵の安全は資産の安全を含意しない。ブリッジの脅威モデルを署名者集合の分散度だけで書いている場合、「署名対象を決める上流ロジックの欠陥」という経路が抜け落ちる。今回は正当な鍵が、正当に見える不正な要求へ署名した。 [インテグレーター] 取り扱う各ブリッジについて、月内に「鍵の侵害」以外の失敗経路(発行ロジック、検証キャッシュ、フォワーディング)を脅威モデルに追記し、停止権限の所在と発動条件を記録する。
  3. ラップド資産の健全性は、預かり残高ではなく発行量との差で測るべきである。残高監視は事後的であり、発行側の異常には反応しない。秘匿設計のチェーンでは発行量の外形的検証が難しく、その困難さ自体がリスク要因になる。 [プロダクト側・リスク管理] 自社が扱うラップド資産ごとに、発行量と裏付けの突合が外部から可能かを2週間以内に判定し、不可能なものは与信・担保掛目を見直す。

【引用:出典】

本記事は公開情報に基づく技術解説であり、投資助言を目的としたものではありません。