閃電網絡有資金風險?一文解讀其原理和處理方法
原創 | Odaily星球日報
作者 | 南枳
引言
10 月 20 日, Bitcoin Core 核心开發者 /dev/fd0 在 X 平臺宣布, 將停止參與閃電網絡及其實施的开發,包括協調處理協議級安全問題 。
/dev/fd0 表示,每個比特幣節點都有自己的內存池。交易由對等節點轉發。如果閃電網絡節點用於打开通道並接受 HTLC 轉發,那么很容易受到 替代循環攻擊 (Replacement Cycling Attacks)。
該开發者所指的“替代循環攻擊”是什么,其具體實現途徑如何,Odaily星球日報將於本文揭示。
閃電網絡
比特幣網絡的 TPS 僅約為 7 ,並且手續費高昂,為解決小額支付的需求,閃電網絡應運而生。
閃電網絡( Lightning Network)是一種針對比特幣和其他加密貨幣的第二層擴展解決方案,旨在解決加密貨幣網絡的可擴展性和交易速度問題。
其實現原理可簡化為:
-
交易雙方 A 與 B 建立了一個“交易通道”(實際上是個多籤錢包)
-
A 與 B 分別往裏面充錢 A1 和 B1 (此步上鏈)
-
A 與 B 在鏈下發生任意筆交易,A 淨轉出額 X(例如 A 向 B 轉账 100 次 1 元,B 向 A 轉账 99 次 1 元,最終 A 淨流出 1 元)
-
將 A1 -X 與 B1 +X 的交易更新上鏈
通過以上流程,不論 A、B 在鏈下進行多少次交易,都只要支付兩筆上鏈費用,並節約了大量的時間。
哈希時間鎖合約(HTLC)
以上介紹的形式限於 A 和 B 之間有直接的交易通道,為跨通道支付而出現了中繼節點, 中繼節點中轉兩者交易,以便跨通道進行支付 ,而中繼節點可以收取小費。
但這面臨着一個問題: 需要確保每個通道內每個參與者都是誠實守信的 ,通過多通道鏈接是安全的。
因而出現了 HTLC(Hash Time-Lock Contract、哈希時間鎖合約),一筆帶有 HTLC 的支付事務可簡化為:
-
A 准備一個暗號 R,並計算其哈希值 H
-
A 設定一個時限 T
-
A 向 B 發送一筆帶有 HTLC 的支付事務,僅當符合以下兩個條件時交易才會最終成立
-
B 回答出暗號 R(通過 H 驗證)
-
B 回答的時間在 T 之內(例如 10 個區塊內給出答案)
若 B 不知道暗號,或者回答超時,則資金退回給 A
正常交易流程
通過上述的 HTLC,一筆涉及中繼節點的支付流程如下:
-
最終的接收者 C 向發送資金者 A 提供暗號
-
A 用哈希值 H 發起 HTLC 支付(請注意, 此時資金並未到 B 手中 )
-
B 接收到支付信息,向 C 用哈希值 H 發起 HTLC 支付
-
C 為了接收資金,回答暗號,收到資金。B 此時也知道了暗號
-
B 用暗號獲取 A 發起的支付,收到資金,交易完成
涉及三者的流程如上,中間也可以多加入幾個中繼節點,而支付模式仍保持不變,通過鏈式發送支付到最終接收者,然後再反向傳播暗號至初始的中繼節點,最終完成交易。
而中繼節點如果遲遲沒有收到暗號 R (下家不做解答,時限由中繼節點自行判斷) ,則中繼節點可以選擇關閉通道, 若成功上鏈, 則 B 發起的支付將“失效”,沒有資金損失。
循環替代攻擊
回到 HTLC 的基本原理中,除了回答暗號外,中繼節點還需要達成另一條件“中繼節點回答的時間在 T 之內”,而惡意攻擊者即是瞄准了該點進行攻擊:
-
A 和 C 惡意串通,受害人為中繼節點 B(B 要求下家 3 個區塊內回答)
-
A 向 B 發起支付(假設此時區塊高度為 1000),要求在 區塊 1020 前回答
-
B 向 C 發起支付(區塊高度 1005)
-
區塊高度 1008 時,B 見到 C 還不回答,決定關閉通道,將在區塊 1009 生效
-
C 發起高 Gas 的交易①(區塊 1008),使 B 發起的交易無法進入內存池
-
C 發起高 Gas 的交易②(區塊 1009),B 仍無法進入內存池
-
C 無限循環操作,直到區塊 1020 ,給出暗號 R,提取資金
B 盡管獲取了暗號,但已沒有時間回答 A 發起的支付,資金退回給 A,而向 C 的支付又已經成立,最終“循環替代攻擊”實現 。此外,A、C 也可以通過串通,循環攻擊 B 的關閉交易而實現雙花。
結語
盡管存在以上攻擊途徑,但並不意味着攻擊者就可以為所欲為,任意盜取閃電網絡中的資金,原文中作者也提出了五種處理辦法,如本地內存池和事務中繼流量監控、礦工內存池監控等。
前途是光明的,道路是曲折的,今年比特幣網絡上也誕生出了 Ordinals 、BRC-20、Taproot Asset 等一系列新事物,問題雖存在,但持續的發展終將能解決問題。
參考資料
-
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-October/022032.html
-
https://github.com/ariard/mempool-research/blob/2023-10-replacement-paper/replacement-cycling.pdf
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
Uniswap公告Unichain主網明年初上線!首測路線圖兩功能,UNI強彈17%
去 中心化交易所(DEX)龍頭 Uniswap 於 10 月宣佈推出專為 DeFi 設計的 Lay...
下周必關注|LayerZero決定是否开啓“費用开關”;Aligned空投注冊結束(12.23-12.29)
下周重點預告 12 月 23 日 Aligned 將向 891322 個地址空投 26% 的 AL...
空投周報 | OpenSea基金會官推上线;Azuki、Doodles疑似即將發幣(12.16-12.22)
@OdailyChina @web3_golem Odaily星球日報盤點了 12 月 16 日至...
資金費率的演變:從2021年黃金時代,到2024-2025年套利復興
資金費率起源 資金費率起源於加密貨幣衍生品市場,特別是從永續期貨合約中發展而來。它作為一種機制,用...
星球日報
文章數量
7670粉絲數
0