作者:RGB++ Fans;;來源:位元組元CKB
在上一篇《閃電網路是如何運作的(2)》中,我們探討了比特幣閃電網路(Lightning Network)的工作原理。本質上,閃電網路是一個精心設計的支付通道系統,它把一條條支付通道串聯起來,形成一個廣闊的、相互連接的支付網絡,讓不直接相連的各方可以透過多跳路由實現相互支付, HTLC、PTLC 等合約會保障路由的安全。
經過多年的發展,儘管閃電網路在技術和用戶體驗方面取得了長足進步,但我們不得不直面一個現實:它仍未達到可大規模採用的程度。今天這篇文章,我們將聚焦在閃電網路目前面臨的關鍵挑戰:流動性問題。此問題可進一步細分為兩個面向,一個是網路整體流動性不足,另一個是流動性分配問題。
網路整體流動性不足
根據 mempool 的最新統計數據,比特幣閃電網路目前擁有12,389 個節點,48,000 條支付通道,所有的通道容量加起來為5311.8 BTC。
閃電網路是P2P 的流動性網絡,如果要真正走向大規模採用,無論是節點數量、通道數量,還是通道容量,都還需要再增長上百倍甚至上千倍。那麼,如何吸引更多的節點加入網路中呢?
首先,要降低閃電網路節點的搭建和維護門檻,讓沒有技術背景的一般使用者也能輕鬆運行閃電網路節點,這一點至關重要。比特幣生態中,已有不少團隊推出了即插即用的硬體設備,例如Umbrel 的硬體盒子,支援運行比特幣閃電網路節點,再例如Fi5Box,不僅支援比特幣閃電網絡,也支援運行其他閃電網路的節點(如CKB 的Fiber Network),他們為使用者提供了免維護的閃電網路節點解決方案。
其次,引入額外的激勵機制是推動閃電網路進入良性循環的關鍵。閃電網路開設通道後,資金就被鎖住了,如果Alice 想做閃電網路服務商(LSP),要跟100 個人開設通道,每個通道放1 個BTC,那就要鎖定100 BTC。這100 BTC 只有在流動時才會產生收益,靜止時不會,因為閃電網路節點的收益主要來自手續費。手續費的收費標準是“基礎費用(Base Fee)+ 每聰費率(Fee Rate)”,其中基礎費用是閃電網絡節點對每筆交易發票收取的固定費用,和交易金額大小無關,而每聰費率是針對交易發票的每一聰收取費用的比例。
根據mempool 的統計,目前比特幣閃電網路的平均基礎費用為950 mSat(即0.95 聰),平均每聰費率為764 ppm(即每聰收取0.000764 Sat),這意味著一筆金額為1 萬聰(0.0001 BTC,目前約6.5美元)的交易,路由節點收到的手續費不到9 聰。況且,目前閃電網路的交易量並不大,其中還有很多交易不需要透過路由節點進行(即交易雙方直接有支付通道)。因此,那些持有BTC 想要進行理財的人,第一選擇並不是將BTC 存入閃電網絡來賺取手續費,而是去交易所放貸或者去某些新興項目上做Staking/Restaking。
如果能引入額外的激勵機制,讓更多的人願意運行閃電網路節點或成為LSP,讓更多的BTC 持有者願意把BTC 存入閃電網路來賺取激勵,網路流動性不足的問題將有可能得到解決,閃電網路將變得更好用。閃電網路更好用之後,又會吸引更多人的使用閃電網絡,帶來更多的交易,增加路由節點的手續費收入,激勵更多的人去成為LSP……最終,讓閃電網路進入良性循環。
目前,在比特幣生態中,UTXO Stack 已經宣布轉型為閃電網路質押層,透過去中心化質押協議為閃電網路提供更好的流動性和更好的收益模型。同時,UTXO Stack 也將推出代幣激勵機制,激勵用戶質押BTC 以增強閃電網路支付通道的流動性。
流動性分配問題
即便解決了整體流動性不足的問題,如何有效分配這些流動性仍是一個挑戰。
我們以Alice 透過路由節點Bob 向Carol 付款為例,假設初始狀態時Alice 和Carol 在通道中各自有2 萬聰,Bob 在每個通道中都有1 萬聰。經過幾次交易後,通道中的餘額分佈如下(為了簡化,不考慮路由節點Bob 收取的手續費):
如果未來的一段時間內,Alice 和Carol 還有業務往來,還需要Alice 向Carol 發起付款,該怎麼辦呢? Bob 已經無法路由付款了(即Bob 與Carol 的通道中,Bob 已無法再向Carol 轉移資金),他需要再平衡自己的通道。
上面這種情況對於閃電網路中的那些路由節點而言非常常見。節點運作者必須在自己的通道之間不斷平衡流動性,如果通道在你這一端沒有資金,就無法發送付款;如果通道內的所有資金都在你這一端,就無法收取付款。
在上述範例中,一種方法是直接關閉Bob 和Carol 之間的通道,並開啟新的通道,但這個方法並不經濟,因為關閉通道和開啟通道的交易都需要上鍊,都需要支付比特幣礦工費。閃電網路的設計初衷,就是為了減少鏈上操作,把盡可能多的交易放在鏈下通道中進行,如果閃電網路每天有幾億個通道要開啟和關閉,比特幣區塊鏈會一直擁堵,礦工費會高到離譜。
為此,比特幣社群提出了多種創新方案來解決流動性分配問題:
Submarine Swap(潛水艇互換)
簡單來說,Submarine Swap 可以讓用戶向閃電網路中的互換服務商發送通道中的BTC,而互換服務商會將相應數量的BTC 發送到比特幣鏈上的收款地址,或者反過來,用戶發送鏈上BTC 給互換服務商,互換服務商發送通道中的BTC 給指定的接收節點。這過程雖然有互換服務商的參與,但是透過HTLC(雜湊時間鎖合約),全程無需信任。
Submarine Swap 也啟發了許多後來者,例如通道餘額調節協議PeerSwap,可以讓使用者直接跟他的通道對手實施潛水艇互換。在上面的例子中,Carol 可以直接充當互換服務商的角色,Bob 轉鏈上的BTC 給Carol,Carol 在通道中支付相應數量的BTC 給Bob,即可。具體來說:
-
Bob 產生一個秘密值R(原像)及其雜湊值H。
-
Bob 在比特幣區塊鏈上使用哈希值H 創建一個HTLC:Bob 會給Carol 支付1 萬聰,只要他能在5 個區塊內提供秘密值R,否則這些錢會回傳給Bob。
-
Carol 在他和Bob 的支付通道中,使用相同的哈希值H 創建一個HTLC:Carol 會在通道中給Bob 支付1 萬聰,只要他能在4 個區塊內提供秘密值R,否則這些錢會返回給Carol(為了簡化,這裡不考慮互換服務商收取的服務費)。
-
Bob 使用秘密值R 解鎖通道中的HTLC,拿走1 萬聰。
-
Bob 拿走資金之後,Carol 也知道了秘密價值R,他用R 解鎖比特幣鏈上的HTLC,拿走1 萬聰。
相比關閉通道然後開啟新通道,Submarine Swap 只有一筆鏈上交易,更經濟,全程無需信任。
通道拼接(Splicing)
通道拼接一種鏈上的再平衡方法:節點在單筆交易中關閉通道再開啟通道,從而改變鎖在通道中的餘額。當這樣做的節點鎖入更多資金,我們稱為「加長(splice in)」;如果減少了鎖定的資金,就叫「剪短(splice out)」。在上面的例子中,Bob 和Carol 之間的通道可以透過通道拼接進行加長。
通道拼接比起用兩筆交易來關閉、重新開啟通道要方便得多,不過它依然要在網路中廣播交易、支付鏈上礦工費並等待交易確認。
多路徑付款(Multi-Path Payment,MPP)
多路徑付款可以將一筆付款分割成幾個部分,這些部分可以同時在不同的地方停留或串流。如果Alice 需要繼續給Carol 支付1 萬聰,雖然Bob 已經無法路由支付了,但Alice 透過路由節點David 可以向Carol 支付6000 聰,透過路由節點Eva 可以向Carol 支付4000 聰,那麼Alice 的這筆1 萬聰交易就可以透過多路徑付款的方式完成。
多路徑付款技術的初衷是為了克服了單路徑支付的局限性,允許更大數額的支付通過分割成較小的多個部分來送達,比如一筆金額為1 BTC 的閃電網絡交易,可以分成100 筆0.01 BTC 的交易來完成。多路徑付款對網路的去中心化和交易的隱私保護有好處,在安全性上,原子化多路徑付款(AMP)技術可以保證如果有一條路徑無法完成付款,則所有付款都不會成功,從而防止混亂和詐欺。
順便提一下,在閃電網路中,大額的交易除了透過多路徑付款之外,還可以透過Wumbo 通道完成。 Wumbo 通道取消了常規閃電通道所能持有的比特幣數量上限—— 0.1667 BTC,允許節點擁有更高的通道容量,從而支援大額交易。
結語
流動性是限制閃電網路發展的主要因素之一。透過降低閃電網路節點的搭建和維護門檻,引入額外的激勵機制,可以幫助閃電網路解決網路流動性不足的難題,而Submarine Swap、通道拼接、多路徑付款等方案,在解決閃電網路流動性分配方面有一定的幫助。
除了上述方案,比特幣社區還提出了Lightning Pool(一種通道租賃拍賣市場)、Liquidity Advertisement(一種通道租賃方案)、環路支付(一個節點通過一條由支付通道形成的環路來給自己支付,實現鏈下再平衡)等其他方案來優化網路的流動性。
流動性管理無疑是閃電網路面臨的複雜工程,但隨著科技的不斷進步和社群的持續努力,我們有理由相信,這些流動性難題終將得到解決。