跳至主要內容
高級

Submarine Swaps

深入理解 Submarine Swaps,實現閃電網路與鏈上比特幣之間的原子交換。

15 分鐘

什麼是 Submarine Swap?

Submarine Swap 是一種原子交換技術,允許用戶在閃電網路(鏈下)和比特幣主鏈(鏈上)之間 無需信任地交換資金。這解決了閃電網路的一個關鍵問題:如何在不關閉通道的情況下 將通道資金轉移到鏈上,或將鏈上資金注入通道。

核心價值: Submarine Swaps 讓閃電網路和鏈上比特幣變得「可互換」,大幅提升了資金的流動性和可用性。

兩種交換方向

Loop In

將鏈上比特幣轉換為閃電網路入站容量

  • 增加接收能力
  • 適合商家收款
  • 鏈上 → 閃電

Loop Out

將閃電網路資金轉換為鏈上比特幣

  • 增加發送能力
  • 適合路由節點
  • 閃電 → 鏈上

Loop Out 運作流程

Loop Out 將閃電網路資金轉移到鏈上,以下是詳細步驟:

1

請求交換

Alice 向 Loop 服務請求 Loop Out,指定金額和鏈上地址

2

生成哈希鎖

Loop 服務生成 preimage,計算 hash = SHA256(preimage)

3

鏈上 HTLC

Loop 創建鏈上 HTLC,鎖定資金到 Alice 的地址(需要 preimage 解鎖)

4

閃電支付

Alice 通過閃電網路向 Loop 支付(附帶相同的 hash)

5

揭示原像

Loop 揭示 preimage 領取閃電支付,Alice 用同一個 preimage 領取鏈上資金

HTLC 腳本示例

OP_HASH256 <hash> OP_EQUAL
OP_IF
    <alice_pubkey>                    # Alice 用 preimage 領取
OP_ELSE
    <timeout> OP_CHECKLOCKTIMEVERIFY OP_DROP
    <loop_pubkey>                     # 超時後 Loop 取回
OP_ENDIF
OP_CHECKSIG

原子性保證

Submarine Swap 的安全性來自於 HTLC 的原子性:

成功情況

Loop 揭示 preimage → Alice 可以同時用這個 preimage 領取鏈上資金。 雙方都獲得應得的資金。

失敗情況

Loop 不揭示 preimage → 閃電支付超時退回給 Alice, 鏈上 HTLC 超時後 Loop 取回資金。雙方回到原狀。

應用場景

場景 類型 說明
商家收款 Loop In 增加入站容量以接收更多支付
路由節點平衡 Loop Out 恢復通道的發送能力
交易所提款 Loop Out 用閃電支付換取鏈上 UTXO
即時入金 Loop In 快速將鏈上資金轉入閃電錢包

服務提供商

費用結構

Submarine Swap 涉及多種費用:

  • 服務費:交換服務商收取的手續費(通常 0.1-1%)
  • 鏈上手續費:HTLC 創建和解鎖的礦工費
  • 閃電路由費:閃電網路支付的路由費用

成本優化提示: 在鏈上手續費低時執行 Loop 操作可以顯著降低成本。 許多服務提供商支持批量處理以進一步節省費用。

與 Splicing 的比較

特性 Submarine Swap Splicing
需要第三方 是(交換服務)
通道中斷
即時性 閃電部分即時 需等待確認
費用 較高(含服務費) 僅鏈上費用
已複製連結
已複製到剪貼簿