中本聰在比特幣白皮書中將其定位為 “一種點對點的電子現金系統”,然而,經過十幾年的發展,比特幣並沒有成為 “電子現金”,而是成為了 “電子黃金”,人們將其視為價值存儲(SoV)的媒介,美國商品期貨交易委員會(CFTC)則將其歸類為大宗商品。比特幣平均每 10 分鐘產出一個區塊,TPS 僅為 7,導致交易確認時間長,且經常發生鏈上擁堵,交易手續費(礦工費)也並不便宜, 要想成為 “電子現金”,比特幣就必需解決 “又慢又貴” 的難題。
過去的十多年裡,比特幣社區中湧現出了很多技術方案來幫助比特幣進行擴容:有些方案通過分叉來實現,比如 SegWit 將見證與交易的其他數據分離,Taproot 使用 MAST 來擴展比特幣;有些方案則不改變比特幣本身,而是選擇在鏈外施展空間,比如側鏈技術選擇將資產轉移到其他區塊鏈上,支付通道網絡則選擇將大部分交易轉到鏈外去執行。
今天要介紹的閃電網絡(Lightning Network) 就屬於支付通道網絡的一種,在比特幣的支付場景中,閃電網絡能夠幫助用戶節省成本,提升效率。
閃電網絡是什麼?#
比特幣閃電網絡(Lightning Network)是疊加在比特幣區塊鏈之上的 P2P 網絡,是比特幣的一種 Layer2 解決方案,旨在解決比特幣網絡在可擴展性和交易速度方面面臨的限制。閃電網絡可實現即時、低成本和可擴展的小額支付, 同時保持去中心化和安全性。通過使用鏈下支付通道和智能合約,用戶可以直接進行交易,而無需將每筆交易廣播到主鏈上。這種方法大大降低了比特幣網絡的負荷,使交易更快、更便宜、更私密。
我們可以簡單地用打麻將來理解比特幣閃電網絡:
- 在開始打麻將之前,每位玩家先拿出一定數量的現金(比如 100 元),放在桌子中央,這相當於在比特幣主鏈上進行交易,開設支付通道。同時,大家使用撲克牌作為臨時的記分工具,每張撲克牌代表 5 毛錢。
- 在麻將遊戲過程中,贏家從輸家那裡拿取相應數量的撲克牌,這個過程就像閃電網絡中的鏈下交易 — — 快速、無需確認,且不會影響到桌子中央的現金(比特幣主鏈)。
- 如果某位玩家手中的撲克牌用完了,他可以再拿出一些現金放到桌子中央,從而換取更多的撲克牌,這就像是在閃電網絡中為通道充值。
- 麻將遊戲結束時,每個玩家數一數手中的撲克牌,然後用擺放在桌子中央的現金進行最終的結算,這個過程對應著閃電網絡中的通道關閉和鏈上結算。 只有最後的結果被記錄在 “正式賬本”(即比特幣區塊鏈)上,中間的所有小額交易(每一盤麻將的輸贏)都不需要單獨記錄。
麻將遊戲的類比可以讓我們更好地理解閃電網絡,但實際的閃電網絡要複雜得多,其工程實現也更加複雜。 我們將在之後的文章中詳細介紹閃電網絡是如何運作的,敬請期待。
閃電網絡不是什么?#
為了更好地理解閃電網絡的概念,除了要知道它是什麼,也需要了解它不是什麼。
1、閃電網絡不是區塊鏈#
區塊鏈的本質是一個分佈式的賬本,所有的鏈上交易都會廣播並記錄在這個賬本中,所以需要有共識機制來進行維護,通常還會發行自己的代幣來激勵礦工 / 節點來維護賬本。
閃電網絡主要依靠哈希時間鎖定合約(HTLC)來保證資金的安全性,並沒有所謂的共識機制,閃電網絡中的交易也不會向全網廣播,只有最終的結算會廣播到比特幣主鏈上。另外,閃電網絡並沒有發行自己的代幣,也不需要這麼做。
2、閃電網絡不是 Rollup#
雖然閃電網絡和 Rollup 都是在鏈下執行交易,但兩者有顯著的區別。Rollup 在鏈下執行交易和計算,然後將多個交易打包成一個批次,定期將交易結果和證明提交到主鏈;而閃電網絡在鏈下開啟支付通道,通過這些通道進行多次交易,只在開啟和關閉通道時與主鏈交互。
在數據可用性方面,Rollup 需要將數據發布在 Layer 1 上;而閃電網絡的交易數據主要保存在參與者之間,不上鏈。
在安全模型上,Rollup 主要使用欺詐證明,有一周左右的挑戰期,或者使用零知識證明,提供即時最終性;而閃電網絡依賴於 Watchtower 和及時響應欺詐行為。
在流動性上,Rollup 不需要預先鎖定資金;而閃電網絡需要在通道中鎖定資金。
閃電網絡的發展歷程#
閃電網絡一直被比特幣社區視為正統的比特幣 Layer 2 解決方案,其正統性與中本聰有關。
閃電網絡最早的概念叫 “支付通道”,其設計思路是,使用交易替換的方式更新未確認的交易狀態,直至其被廣播到比特幣網絡上為止。中本聰在 2009 年創造比特幣的時候,就有了關於支付通道的想法,並在 Bitcoin 1.0 中包含了支付通道的代碼草稿,其允許用戶在交易被網絡確認之前更新交易。
後來在給開發者 Mike Hearn 的回覆郵件中,中本聰進一步解釋了支付通道:“中間交易事務不需要廣播,只有最終結果才會被網絡記錄下來。就在 nLockTime 之前,各方和一些見證節點廣播了他們看到的最高序列 tx。” 這正是閃電網路的雛形,也是其正統性的誕生。
在後來的幾年裡,陸續出現了支付通道相關的解決方案,但都沒有帶來太大影響。直到 2015 年初,由 Joseph Poon 和 Thaddeus Dryja 寫的白皮書草稿《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payment》發布,閃電網絡的發展逐漸明晰起來。同一年,一篇蘇黎世理工的論文《A Fast and Scalable Payment Network with Bitcoin Duplex Micropayment Channels》提出依賴於時間鎖來作為通道有效性的 “倒計時裝置”,以及一種叫做 “無效樹” 的密碼學技巧來作廢陳舊的通道交易,這成為了後來閃電網絡賴以為生的技術原型。
2016 年 10 月舉辦的 Scaling Bitcoin Milan 大會上,閃電網絡協議規範(BOLT,Basis of Lightning Technology)誕生。2017 年夏,隔離見證(SegWit)在比特幣區塊鏈上激活,為閃電網絡的實施鋪平了道路。2018 年 3 月,Lightning Labs 發布了 beta 版本的閃電網絡實現方案,其功能可以支持早期用戶使用,這標誌著閃電網絡發展的一個里程碑。
來源:https://cryptoyc.medium.com/ 閃電網絡簡史 - 4032bf4c8868
閃電網絡是開源項目,因此任何人都可以貢獻代碼, 目前比較有代表性的比特幣閃電網絡實現(客戶端)有 Lightning Labs 開發的 LND(Lightning Network Daemon),ACINQ 開發的 Eclair,以及 Blockstream 開發的 CLN(Core Lightning)。
來源:https://www.btcstudy.org/2023/03/27/what-are-the-differences-between-lnd-and-cln/
除了比特幣閃電網絡之外,還有其他一些區塊鏈也在開發自己的閃電網絡實現,比如 Cardano 正在開發 Hydra,Nervos CKB 已經推出 Fiber Network 的測試版。
閃電網絡的故事仍在繼續,它的發展將會是比特幣生態乃至整個加密貨幣領域值得關注的重要方向之一。期待在不久的將來,閃電網絡能夠幫助我們實現中本聰最初的 P2P “電子現金” 願景,為全球範圍內的小額、快速支付提供更加高效和便捷的解決方案。