適配器籤名助力跨鏈原子交換:BTC與Layer2交互新範式

適配器籤名及其在跨鏈原子交換中的應用

隨着比特幣Layer2擴容方案的快速發展,比特幣與Layer2網路之間的跨鏈資產轉移頻率顯著增加。這一趨勢受到Layer2技術提供的更高可擴展性、更低交易費和高吞吐量的推動。這些進步促進了更高效、更經濟的交易,從而推動比特幣在各種應用中的更廣泛採用和集成。因此,比特幣與Layer2網路之間的互操作性正成爲加密貨幣生態系統的關鍵組成部分,推動創新並爲用戶提供更多樣化和強大的金融工具。

比特幣與Layer2之間的跨鏈交易主要有三種方案:中心化跨鏈交易、BitVM跨鏈橋和跨鏈原子交換。這些技術在信任假設、安全性、便捷性、交易額度等方面各有不同,能滿足不同的應用需求。

中心化跨鏈交易速度快、撮合容易,但安全性完全依賴中心化機構,存在風險。BitVM跨鏈橋引入了樂觀挑戰機制,技術復雜且交易費較高,僅適用於超大額交易。跨鏈原子交換是去中心化的、不受審查、具有較好隱私保護的技術,能實現高頻跨鏈交易,在去中心化交易所中廣泛應用。

跨鏈原子交換技術主要包括基於哈希時間鎖(HTLC)和基於適配器籤名兩種。HTLC原子交換存在隱私泄露問題。基於適配器籤名的原子交換取代了鏈上腳本,降低了鏈上佔用空間,實現了交易的不可連結性,從而保護了隱私。

本文將介紹Schnorr/ECDSA適配器籤名與跨鏈原子交換原理,分析其中存在的隨機數安全問題和跨鏈場景中的系統異構問題,並給出解決方案。最後,對適配器籤名進行擴展應用,實現非交互式數字資產托管。

解析比特幣與Layer2資產跨鏈技術

適配器籤名與跨鏈原子交換

Schnorr適配器籤名與原子交換

Schnorr適配器籤名的預籤名過程如下:

  1. Alice選擇隨機數$r$,計算$R=r\cdot G$
  2. Alice計算$c=H(R||P_A||m)$
  3. Alice計算$\hat{s}=r+cx$
  4. Alice將$(R,\hat{s})$發送給Bob

Bob驗證預籤名的過程如下:

  1. Bob計算$c=H(R||P_A||m)$
  2. Bob驗證$\hat{s}\cdot G \stackrel{?}{=} R+c\cdot P_A$

Alice適配籤名的過程如下:

  1. Alice選擇隨機數$y$
  2. Alice計算$Y=y\cdot G$
  3. Alice計算$s=\hat{s}+y$
  4. Alice將$(R,s,Y)$發送給Bob

Bob驗證適配籤名的過程如下:

  1. Bob計算$c=H(R||P_A||m)$
  2. Bob驗證$s\cdot G \stackrel{?}{=} R+c\cdot P_A+Y$

基於Schnorr適配器籤名的原子交換過程如下:

  1. Alice創建交易$T_A$,將BTC發送給Bob
  2. Bob創建交易$T_B$,將BCH發送給Alice
  3. Alice對$T_A$進行預籤名,得到$(\hat{R}_A,\hat{s}_A)$,發送給Bob
  4. Bob對$T_B$進行適配籤名,得到$(R_B,s_B,Y)$,發送給Alice
  5. Alice驗證Bob的適配籤名,如果有效則廣播$T_B$
  6. Bob從$T_B$中提取$y$,計算$s_A=\hat{s}_A+y$
  7. Bob廣播$(R_A,s_A)$完成$T_A$的籤名

解析比特幣與Layer2資產跨鏈技術

ECDSA適配器籤名與原子交換

ECDSA適配器籤名的預籤名過程如下:

  1. Alice選擇隨機數$r$,計算$R=r\cdot G$
  2. Alice計算$c=H(R_x||P_A||m)$
  3. Alice計算$\hat{s}=r^{-1}(c+R_x\cdot x)$
  4. Alice將$(R,\hat{s})$發送給Bob

Bob驗證預籤名的過程如下:

  1. Bob計算$c=H(R_x||P_A||m)$
  2. Bob驗證$R \stackrel{?}{=} c\cdot(\hat{s}\cdot G)^{-1}+R_x\cdot P_A\cdot(\hat{s}\cdot G)^{-1}$

Alice適配籤名的過程如下:

  1. Alice選擇隨機數$y$
  2. Alice計算$Y=y\cdot G$
  3. Alice計算$s=\hat{s}+y$
  4. Alice將$(R,s,Y)$發送給Bob

Bob驗證適配籤名的過程如下:

  1. Bob計算$c=H(R_x||P_A||m)$
  2. Bob驗證$R \stackrel{?}{=} c\cdot(s\cdot G-Y)^{-1}+R_x\cdot P_A\cdot(s\cdot G-Y)^{-1}$

基於ECDSA適配器籤名的原子交換過程與Schnorr類似。

ECDSA適配器籤名還需要一個零知識證明$\mathsf{zk}{r|\hat{R}=r\cdot G,R=r\cdot Y}$來證明$R$和$\hat{R}$使用了相同的隨機數$r$。該證明過程如下:

  1. Prover選擇隨機數$v$,計算$\hat{V}=v\cdot G$和$V=v\cdot Y$
  2. Verifier生成隨機挑戰$c$
  3. Prover計算$z=v+cr$
  4. Verifier驗證$z\cdot G \stackrel{?}{=} \hat{V}+c\cdot\hat{R}$和$z\cdot Y \stackrel{?}{=} V+c\cdot R$

解析比特幣與Layer2資產跨鏈技術

問題與解決方案

隨機數問題與解決方案

Schnorr/ECDSA適配器籤名存在隨機數泄露和重用的安全問題:

  1. 如果隨機數$r$泄露,可以根據籤名等式計算出私鑰$x$
  2. 如果在兩個交易中使用相同的隨機數$r$,可以通過求解方程組獲得私鑰$x$

解決方案是使用RFC 6979標準,通過確定性方法從私鑰和消息中導出隨機數$k$:

$k = \mathsf{SHA256}(sk, msg, counter)$

這確保了使用相同私鑰簽署相同消息時,籤名總是相同的,增強了可重現性和安全性。

解析比特幣與Layer2資產跨鏈技術

跨鏈場景問題與解決方案

在UTXO模型(如比特幣)和帳戶模型(如以太坊)之間進行跨鏈交換時,存在系統異構問題。解決方案是在帳戶模型鏈上使用智能合約來實現原子交換邏輯。

當兩條鏈使用相同曲線但不同籤名算法時(如一條使用ECDSA,另一條使用Schnorr),適配器籤名仍然是安全的。

但如果兩條鏈使用不同的橢圓曲線,則不能直接使用適配器籤名進行跨鏈交換。

解析比特幣與Layer2資產跨鏈技術

數字資產托管應用

適配器籤名可以用於實現非交互式的數字資產托管。具體過程如下:

  1. Alice和Bob創建一個2-of-2 MuSig輸出的funding交易
  2. Alice和Bob分別生成適配器籤名,並用托管方公鑰加密adaptor secret
  3. Alice和Bob驗證對方的密文,然後籤名並廣播funding交易
  4. 發生爭議時,托管方可解密密文獲得adaptor secret,幫助一方完成交易

這種方案不需要托管方參與初始化,也不需要公開合約內容,具有非交互性優勢。

可驗證加密是這一方案的關鍵組成部分。目前有兩種基於Secp256k1的可驗證加密方案:Purify和Juggling。Purify基於零知識證明,而Juggling採用分片加密的方法。兩種方案在性能上差異不大。

解析比特幣與Layer2資產跨鏈技術

總結

本文詳細介紹了Schnorr/ECDSA適配器籤名及其在跨鏈原子交換中的應用,分析了其中的安全問題和跨鏈場景的挑戰,並給出了相應的解決方案。同時探討了適配器籤名在數字資產托管等領域的擴展應用。適配器籤名爲去中心化跨鏈交易提供了一種高效、安全、隱私保護的技術方案,有望在未來區塊鏈互操作性中發揮重要作用。

解析比特幣與Layer2資產跨鏈技術

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 6
  • 分享
留言
0/400
GasFee_Criervip
· 10小時前
真费事 听这玩意儿脑壳痛
回復0
ProofOfNothingvip
· 07-10 15:00
跨链到底有啥用 又不是旁氏
回復0
入场恐惧症vip
· 07-08 20:38
原来layer2还能这么玩 有点东西啊
回復0
数据酸菜鱼vip
· 07-08 20:36
不得不说 L2是真香~
回復0
Uncle Liquidationvip
· 07-08 20:33
降低门槛是关键 路子对了
回復0
SelfRuggervip
· 07-08 20:24
Layer2 真香
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)