Loop · Boltz · Atomic on-chain ↔ Lightning

Submarine Swaps
on-chain ↔ Lightning の atomic 流動性ブリッジ

Submarine swapHTLC を on-chain と Lightning に跨いで構成することで、両層間の atomic な資金移動を可能にする。 Loop (Lightning Labs) や Boltz がプロバイダとして動作し、ユーザーは on-chain → LN(Loop In)または LN → on-chain(Loop Out)の流動性転換が可能。 Channel rebalancing・on-ramp / off-ramp・LSP-free 流動性確保のための主要 primitive。

概念起源Lightning Labs Loop (2019)
主要 providerLoop · Boltz · 10101
典型 fee0.1–0.5%
基盤Cross-layer HTLC
Atomic
trustless via HTLC
2 modes
Loop In / Loop Out
~0.3%
typical service fee
No close
channel keep open
§ 1 · The Problem

「LN 残高は持っているが on-chain で受け取りたい / 払いたい」

A

Inbound liquidity 不足

routing node が outbound に偏った channel を持つ場合、新規 inbound が必要。channel close なしで実現したい。

B

Off-ramp(LN → on-chain)

LN で稼いだ sats を cold storage / 取引所に移したい。channel close せずに実現。

C

On-ramp(on-chain → LN)

on-chain BTC を LN に投入したいが、新 channel 開設は cost が高い。既存 channel に注入したい。

D

Trustless 性質を維持

CEX 経由なら簡単だが信託リスク。暗号学的に atomicな解が欲しい。

💡 Submarine Swap の本質

HTLC の preimage 開示が on-chain でも LN でも同じ意味を持つこと(同一 hash)を活用し、 2 つの layer 間で同一 preimage に lock された支払いを構成する。受け取り側が preimage を開示すれば両側が同時に解錠される → atomic。

§ 2 · Mechanism

HTLC を on-chain × LN で連結する

Submarine swap の暗号学的本質は 同じ payment_hash H に対する 2 つの HTLC を 2 layer に跨いで作ること。

⛓ On-chain (Bitcoin) ⚡ Lightning Network On-chain HTLC (H) User → Provider LN HTLC (H) Provider → User ⚡ Same payment_hash H

原理: preimage R が両層を atomic にロック解除

# Loop Out (LN → on-chain) を例に Setup: Provider が R をランダム生成 → H = SHA256(R) Provider が H を user に共有 Step 1: Provider が on-chain HTLC を作成 "誰かが R を見せれば 1 BTC を受け取れる、そうでなければ T1 後に refund" to: User's on-chain address Step 2: User が LN HTLC を作成 "Provider が R を見せれば 1.003 BTC を受け取れる、そうでなければ T2 後に refund" via: standard LN payment with payment_hash=H Step 3: Provider が LN HTLC の preimage path を行使 → R を開示 → 1.003 BTC LN 受領 (R が公開される) Step 4: User が R を観察 → on-chain HTLC の preimage path を行使 → 1 BTC on-chain 受領 Atomicity: - Step 3 で R が露出 → User は必ず on-chain 1 BTC を取れる - Step 3 が起きなければ → 両 HTLC が timeout → 全て refund - scam が発生しない
§ 3 · Loop In vs Loop Out

2 つの方向と用途

⬇ Loop Out — LN balance を on-chain に取り出す

routing node や mobile wallet が LN に蓄積した sats を on-chain で受け取りたいケース。channel を close せずに実現。channel の outbound liquidity が消費され、inbound liquidity が増える(rebalancing 効果も持つ)。

代表的なユースケース

  • routing node の inbound 確保(手数料収入を on-chain に取り出して再開設)
  • 取引所への withdraw を LN 経由でなく on-chain で受け取りたい
  • cold storage への積み立て
  • channel close なしの off-ramp
~0.3%
Loop fee (Lightning Labs)
+ on-chain fee
attaches to TX
~10 min
設立~決済
Trustless
atomic via HTLC
§ 4 · Protocol Flow (Loop Out)

Loop Out の 6-step フロー

Step 0 / 6
📱 User 🌊 Provider (Loop) ① Loop Out request: amount, on-chain dest ② Provider returns: H (=SHA256(R)) + LN invoice ③ Provider broadcasts on-chain HTLC (locked by H) on-chain HTLC: 1 BTC, T1=144 blk ④ User pays LN invoice → 1.003 BTC HTLC to Provider ⑤ Provider claims LN HTLC by revealing R → preimage cascades ⑥ User observes R on-chain → claims on-chain HTLC User receives 1 BTC on-chain ✓
Press Play to walk through Loop Out.
§ 5 · Risks & Failure Modes

Submarine Swap の失敗パターン

A

Provider が LN HTLC を claim しない

User の LN HTLC が timeout → refund。on-chain HTLC も timeout → Provider の resources lost。両者損失なしで cancel。

B

User が R を取り損ねる

User がオフライン → on-chain HTLC の preimage 期限まで R を回収できない。User 側 fund 失うリスク。watchtower / 監視 service が必要

C

On-chain fee spike

Bitcoin mempool 混雑時、on-chain HTLC の confirmation 遅延 → CLTV 設計バッファが狭まる。

D

Pinning attack

on-chain HTLC が pinning attack を受けると preimage path が closed できず資金 stuck。anchor outputs が部分対策。

セキュリティモデル

Submarine swap は 暗号学的に atomic。Provider が rug-pull することはできない。 ただし on-chain で sweep する責任は user にあるため、長期 offline は危険。 実質的には Provider への liveness 信頼(最終的に preimage を出すこと)と user 側 watchtowerが必要。

§ 6 · Major Providers

主要 Submarine Swap Providers

Provider運営Loop InLoop OutAPIWallet 統合
LoopLightning LabsgRPC + RESTLND CLI / 多くの wallet
BoltzBoltz ExchangeREST + WSBlueWallet / web
Boltz ReverseBoltzN/A✓ (no-account)REST多数 (Phoenix 等)
1010110101 Finance部分部分REST10101 wallet
Self-hosted (Boltz Pro)個人運営構築要構築要self

Boltz Reverse Submarine Swap

Boltz の Reverse モードは特に重要。account-less で Loop Out を実現するため、web wallet や mobile wallet がワンタップで利用できる。 Phoenix・Mutiny・Strike の多くがこの方式を内部で使う。

§ 7 · vs Splicing

「on-chain ↔ LN 流動性移動」3 つのアプローチ比較

アプローチCounterpartycost 構造使用ケースtrust
Submarine SwapThird-party (Loop/Boltz)service fee + 2 on-chain TX個別の流動性転換Atomic (HTLC) — provider rug-pull 不可
SplicingChannel counterparty1 on-chain TXcapacity 増減counterparty 同意必須
Close + ReopenChannel counterparty2 on-chain TX大幅な channel 戦略変更scid 失う / down-time
Custodial swap (CEX)Exchange取引所 feeUX 重視取引所信託 risk

使い分けマトリクス

シナリオ推奨
routing node の inbound liquidity 確保Splicing(counterparty と OK)または Loop Out
個人 wallet を on-chain wallet に移転Boltz Reverse
大口 cold storage への移行Close + Reopen(節約優先)
Anonymity 重視Submarine Swap(third-party 経由)
UX 最優先(custodial OK)CEX 経由(最後の手段)
§ 8 · Resources

関連

  • 📰 Lightning Labs Loop blog (2019–) — original concept
  • 🔧 Boltz Exchange — open-source provider
  • 📰 Bitcoin Optech — Submarine Swaps topic page
  • 📜 Cross-chain HTLC — Herlihy 2018, foundation