Jamming Defense · BOLT proposal · LND lead · 2024–

HTLC Endorsement
Reputation で Jamming を抑える次の防御策

Lightning の HTLC slot 枯渇 (jamming) 攻撃は 2019 年から知られているが、SoK 2024 (Kotzer-Zohar) は「既存 4 系統の防御は単独 deployable でない」と結論した。 その後、HTLC Endorsement(LND チームが推進)が reputation-basedな新世代防御として最も有力視されている。 本ページは Endorsement の核となるアイデア、reputation モデル、bootstrap 問題、Upfront Fee との組み合わせ最適化、そして未解決の研究課題を可視化する。

提案系統Endorsement (signal-based reputation)
主要推進LND チーム / Carla Kirk-Cohen
関連 SoKKotzer-Zohar AFT 2024
deploymentBOLT proposal / 実験段階
SoK 結論
単独防御は不十分
Endorse + Fee
最有力な組合せ
Bootstrap
最大の未解決課題
Sybil 耐性
未解決 (研究機会)
§ 1 · The Problem

Jamming 防御の現状 — SoK 2024 が確定した結論

Channel Jamming は HTLC slot を枯渇させて他人の支払いを通せなくする攻撃。Slow Slot Jamming なら月 ~$10 で主要チャネルを 1 週間停止可能 (Kotzer-Zohar 2024)。

SoK が分類した 4 系統の防御と限界

防御系統核心アイデア主な限界deployable?
Upfront Fees支払いに事前手数料正直支払いの UX 悪化単独不可
Local Reputationピアごとの信頼スコアBootstrap 問題、Sybil 耐性なし単独不可
Stake Certificateson-chain stake で証明Bitcoin covenant soft fork 必須遠未来
Circuit BreakerHTLC レート制限Slow Jamming に無効部分

SoK の結論

Endorsement + Upfront Fee の組み合わせが最も現実的な近期解だが、具体的な設計が存在しない

HTLC Endorsement 研究の出発点。LND チームが BOLT proposal を中心に推進中。

§ 2 · Design — How Endorsement Works

「信頼できる支払いに endorsement bit を立てる」

Endorsement の核心アイデア: 各ノードは 送られてきた HTLC を見て「endorsed (信頼済み)」と「unendorsed」に区別し、 endorsed 支払いには 専用 slot優先処理を割り当てる。Jammer は endorsement を獲得できないため、honest 支払いを妨害しにくくなる。

2-class HTLC モデル

Total HTLC slots: 483 (per direction) Reserved Slots (例: 60%) Endorsed HTLCs only — Jammer はここに到達できない General Slots (例: 40%) Unendorsed (新規 user / Jammer がここで競合) Jammer は endorsement を得られない → reserved slot は honest payment 専用 → honest payment が "protected lane" を確保

Endorsement の伝播

# 概念フロー Sender → Hop1: HTLC + endorsement_bit=true ? Hop1 が判断: - Sender との reputation が高い → endorse forward - reputation 不足 → strip endorsement (=unendorsed として扱う) Hop1 → Hop2: HTLC + (endorsement_bit が継承 / 削除) Hop2 が判断: Hop1 を信頼 → endorse forward ... (each hop が upstream peer の reputationを参照) # 重要: endorsement は "downstream への信頼" ではなく "upstream peer への信頼" # peer の reputation が低い → endorsement を削除 → unendorsed slot に流す

Endorsement bit の TLV フィールド

BOLT proposal では HTLC payload の TLV (Type-Length-Value) に endorsement bit を追加することで、後方互換を保ちつつ導入する。

update_add_htlc payload (BOLT 4 update): payment_hash: H, amt_to_forward: ..., outgoing_cltv_value: ..., endorsement_signal: 0 | 1 # NEW: TLV field
§ 3 · Reputation Scoring

Peer ごとの reputation スコアの計算

各ノードは upstream peer ごとに reputation を蓄積する。スコアは過去の HTLC 流量・成功率・収益性などから計算される。

典型的なスコア計算式

# LND 提案 (簡略版) reputation(peer) = Σ over recent_htlcs: + alpha * fee_paid_to_us # 経済的貢献 - beta * cltv_locked_time # slot を不当に専有した時間 - gamma * value_locked_per_time # 大口 HTLC の長期保留ペナルティ decision_threshold = revenue * lookback_window # peer から得た過去収益 if reputation(peer) >= threshold: forward_with_endorsement(htlc) else: forward_without_endorsement(htlc) # general slot に降格

Reputation Score シミュレータ

下のスライダーで peer の挙動パラメータを調整 → reputation が増減する様子を確認

100 / week
3 sats
30 sec
5%

Reputation Score

Score: 600
📗 Endorsed
Classification
+250
Weekly Δ
500
Threshold
§ 4 · Bootstrap Problem

「新規ノードが reputation を獲得できない」鶏と卵問題

核心問題

Reputation = 0 の新規ノード → endorsement を獲得不能 → general slot のみ使える → Jammer に潰される → reputation を蓄積できない

新規参加者が永遠に reputation を獲得できない循環。SoK が "信頼の鶏と卵" と命名。

提案されている対策候補

① Stake-based bootstrap

新規ノードが on-chain BTC を担保して初期 reputation を取得。Stake Certificates と連動するが、covenant 必要。

② Reputation 譲渡

既存ノードが新規ノードに reputation を一部分配。Sybil 耐性弱、悪用リスクあり。

③ ZKP 匿名 reputation

外部システム(OAuth・社会証明)からの reputation を ZKP で匿名持ち込み。設計複雑、未実装。

④ Probationary period

新規ノードに 限定 endorsementを与える猶予期間。Jammer も同条件で活動できる弱点。

Sybil 耐性の不在

上記 4 候補のいずれも Sybil 攻撃(攻撃者が大量の偽ノードを生成して reputation を獲得)には脆弱。 cost-based バリア(on-chain stake / proof-of-burn)を組み込まないと根本解決しない。

§ 5 · Endorsement + Upfront Fee の組み合わせ

SoK が「最有力」と指摘した最適結合設計

SoK は Endorsement + Upfront Fee の組み合わせが「単独防御の限界を超える唯一の方向性」とした。両者は orthogonalな攻撃面を塞ぐ。

Endorsement の役割

  • 新規参加者と既存信頼者を区別
  • Slow Jamming に効く(reputation 低い jammer は reserved slot に到達できない)
  • UX 維持(正直 user に追加 cost 不要)

Upfront Fee の役割

  • Slot 占有のコスト化(Slow Jamming の経済性破壊)
  • 新規 user にも適用可能(reputation 不要)
  • 支払い失敗にも fee → Bootstrap 期に有用

組み合わせ最適設計の未解決事項

Reserved slot 比率

endorsed reserved の割合は何 % が最適? 80% だと UX 悪化、20% だと攻撃可能。

Upfront fee 額

endorsed user は fee 免除? unendorsed は何 sats? 経済モデルでの最適値が未解析。

Reputation lookback

過去どれくらいの期間を集計? 短いと攻撃に脆弱、長いと bootstrap 困難。

Threshold dynamics

peer の収益で動的に閾値を調整するべきか、固定値か? 動的だと攻撃者が threshold を操作可能。

→ Jamming Simulator で reserved slot 比率の効果を体験

§ 6 · Research Opportunities

Endorsement 周辺の研究課題

★★★

Endorsement + Fee の最適パラメータ導出

jamming hub I-1 の中核研究テーマ。期待損失最小化問題として formalize、解析解 + シミュレーションで実証。FC/CCS 級。

★★★

Sybil 耐性のある Bootstrap 機構

jamming hub IV-1。on-chain stake / ZKP / 信用譲渡 のいずれも完全解ではない。新提案の余地大。CCS/NDSS 級。

★★

Endorsement の形式的安全性定義

jamming hub IV-2。「reputation の伝播が攻撃者にどう悪用されるか」の formal model。CCS/CRYPTO 級。

★★

Reputation スコアの最適計算式

jamming hub IV-3。fee / lock_time / failure_rate / size の重み付け最適化。FC/AFT 級。

★★

テストネット実装 + 評価

jamming hub VI-3。LND/CLN プラグインとして実装し、現実 mainnet データで評価。BOLT PR 級。

Probing-Jamming 統合防御

jamming hub I-4 / 既存 plan_gnn_privacy_defense との接続。両攻撃を統合的に防ぐ設計。

研究計画ハブとの接続

Endorsement 関連の研究は wiki/plans/jamming/ の I 系(防御設計)・IV 系(評判システム)と密接に対応する。 特に I-1 (Endorsement + Fee 最適結合) → II-2 (Upfront Fee 最適額) → IV-1 (Bootstrap) の依存関係は研究 sequence として自然。

§ 7 · Resources

関連

  • 📄 Kotzer & ZoharSoK: Channel Jamming Attacks and Defenses AFT 2024
  • 📰 LND lightning-dev ML — Endorsement proposal 議論
  • 📰 Carla Kirk-Cohen — endorsement design notes
  • 📜 BOLT proposal — endorsement_signal TLV (in progress)
  • 📄 Riard-NaumenkoStake Certificates for Jamming Mitigation 2022