Routing 層の HTLC jamming とは別に、Bitcoin mempool / on-chain 層を突く攻撃クラスが存在する。 Pinning(mempool に居座らせる)、Replacement Cycling(HTLC-Success と HTLC-Timeout を交互に置換)、Flood & Loot(一斉 force-close で mempool 飽和)、 そしてマイナーを買収する Bribe & Fork まで。Anchor Outputs は部分的な対症療法だが、BIP331 package relay や v3-transactions の deploy 待ち。
Lightning の HTLC は off-chain での約束として運用されるが、紛争時には必ず on-chain で決着する必要がある。 この境界線——mempool への TX 投入と confirmation——を狙う攻撃が「mempool / on-chain 層」の攻撃。 jamming(HTLC スロット枯渇)は routing 層の攻撃であり、独立したカテゴリ。
RBF Pinning / Replacement Cycling: 攻撃者が mempool に居座る低 feerate TX を仕込み、honest 側の sweep TX を弾く。被害者は CLTV expiry 以内に fee bump できず資金喪失。
大規模一斉 force-closeで mempool を飽和させ、被害者の HTLC sweep TX が confirm できないようにする systemic attack。Harris-Zohar AFT 2020。
マイナー買収でペナルティ TX を censoring させる。Feather fork 脅迫で ~$125 という極めて低コスト。CRAB (CCS 2024) で更に一般化。
| ルール | 制限 | 背景 |
|---|---|---|
| Ancestor count | ≤ 25 tx | 祖先 tx の総数(自身含む) |
| Ancestor size | ≤ 101 KvB | 祖先 tx の総 vbyte |
| Descendant count | ≤ 25 tx | 子孫 tx の総数 |
| Descendant size | ≤ 101 KvB | 子孫 tx の総 vbyte |
| BIP125 RBF Rule 3 | 新 tx fee ≥ 旧 fee + min_relay_fee × size | 絶対 fee 増加(! feerate) |
| BIP125 RBF Rule 4 | 新 tx feerate ≥ 旧 feerate | feerate も増加 |
| BIP125 RBF Rule 5 | 置換される直接子孫 ≤ 100 tx | DoS 防止 |
親 TX が低 fee で stuck している場合、その TX の output を消費する 子 TX を高 fee で submit し、両者を package として承認させるテクニック。 Anchor outputs はこれを LN commitment TX に対して可能にする仕組み。
低 feerate の TX を 大量のアウトプットで膨らませ、RBF rule 3(絶対 fee 増加)の閾値を意図的に高くする。被害者が rule を満たす replacement を作るには莫大な fee が必要。
Bitcoin Core の mempool 制限(descendant count ≤ 25)を逆手にとり、honest 側の justice TX を mempool から弾く。BOLT が anchor outputs で対策を試みた。
BIP125 Rule 3: 新 TX の 絶対 fee が旧 TX の絶対 fee + min_relay_fee × new_tx_size 以上であること。 これは feerate ではなく絶対値の比較なので、巨大な低 feerate TX を仕込まれると、置き換えに必要な絶対 fee が桁違いに増大する。
BIP125 Rule 3 は マイナーへの直接的 incentive を保証するための設計だが、 この「絶対 fee 増加」要件が 巨大 TX による wedgeを許す。 Rule 3 の代替として v3-transactions (TRUC, BIP-431) や cluster mempool の議論が進んでいる。
Antoine Riard Disclosure Oct 2023 all LN impls patched
2023 年 10 月、Antoine Riard が公開した責任 disclosure。LN HTLC の HTLC-Success TX と HTLC-Timeout TX を 交互に mempool replacement することで、 honest 側の sweep TX を mempool から evict させ続ける。被害者が CLTV expiry までに sweep を block 内に含められなければ HTLC を失う。
対策: lnd / eclair / ldk が patch リリース。根本解決 は Bitcoin core 側の mempool ポリシー改善(v3-transactions, package relay, cluster mempool)に依存。
LN ノードが sweep TX を mempool 監視で continuously re-broadcast。bandwidth コストとの trade-off。
BIP-431。limited topology の TX クラス。replacement cycling の根本対策候補だが Bitcoin core 側の deploy 待ち。
parent + child を atomic に伝搬。CPFP の信頼性向上に寄与。replacement cycling 対策とは別だが補完的。
長期的提案。mempool の TX クラスタ単位での policy を再設計。Pinning 全般への根本対策の可能性。
Jona Harris & Aviv Zohar AFT 2020 Hebrew University of Jerusalem
攻撃者が 多数のチャネルを同時に開設して HTLC を保留状態にし、一斉に force-close を引き起こす。 被害者ノードたちは全 HTLC を CLTV 期限内に sweep する必要があるが、mempool が飽和して fee bump が間に合わず、HTLC の一部が永遠に未承認のまま CLTV expiry を迎える。 攻撃者はその間に HTLC-Timeout で資金を回収し、被害者は資金喪失。
| 実装 | fee bump 戦略 | susceptibility |
|---|---|---|
| LND | aggressive bump | 部分耐性 |
| c-lightning (CLN) | conservative | 高 |
| Eclair | moderate bump | 部分耐性 |
注: 上記は AFT 2020 論文時点の値。現在は anchor outputs と他の修正により耐性が向上している。
Anchor outputs は BOLT #03 への追加で、commitment TX に 意図的に消費可能な小さな output を付与する。 これにより force-close 時に commitment TX の fee が低くても、anchor output を消費する CPFP child TX で fee bump できる。
Avarikioti et al. AFT 2024 + CRAB CCS 2024
従来の miner bribery は「全マイナーを買収」が前提で、コストは millions of dollars 級だった。 Bribe & Fork は feather fork の脅迫を使い、1 つの大手 mining pool が「特定の TX を含めるブロックを reject する」と公言するだけで成立する。 現実的なシェア分布の下で ~$125 でこの threat が組成可能と試算された。
CRAB (CCS 2024) は Byzantine party + rational miner + offline victim の三者モデルに一般化。 Bribe & Fork はこの中の rational miner + bribery 側面を実証的に示した形。両者を組み合わせた防御設計は未確立。
セルをクリックで詳細表示。緑=防御済み / 橙=部分対策 / 赤=未解決
parent + child を atomic に伝搬する仕組み。Bitcoin Core への merge は進行中だが ecosystem-wide deploy は未達。これが入れば CPFP の信頼性が劇的に向上。
Pinning 全般への根本対策候補。limited topology の TX クラス。LN を含む multi-party protocol が直接利用想定。Bitcoin Core への deploy 待ち。
penalty 機構を排除し最新 state を最良と扱う。Bribe & Fork の動機そのものを根絶する究極解だが、Bitcoin community 合意が停滞。
Bribe & Fork に対し、マイナーが正直に振る舞うことが支配戦略になる Script レベルの設計。CCS / S&P 級の研究テーマ。
LN ノードが mempool 状況を継続監視し、sweep TX が evict された際にすぐ再 submit する automated 仕組み。bandwidth/cost trade-off。
長期的提案。mempool TX クラスタ単位での policy 再設計。Pinning 全般への根本対策の可能性。Bitcoin core devs によって議論中。
Pinning + Flood & Loot + Bribe & Fork の組み合わせ攻撃の formal model。3 攻撃が独立に分析されているが、複合攻撃の閾値は未研究。
LN ノードが Bitcoin mempool の dynamics を考慮した HTLC 受諾 / 拒否 policy。jamming 系研究と接続する。