原文作者:陳劍 Jason@jason _chen998,萬物研究院
原文來源:萬物島 ThreeDAO
隨著最近 MEME 的狂熱,比特幣生態中以 ordi 為代表將比特幣網絡擁堵程度又拉高到了一個全新的高度,目前未確認交易達到 354817 筆,甚至在一天內連著出現了兩次整整 1 小時沒有出塊的網絡卡死情況,一度引起了社群的恐慌。
比特幣因為其本身技術框架的限制,以及所處在數位黃金的位置,使得開發者生態相比於以太坊等其他較新無歷史包袱的公鏈要小不少,大家的目光也集中在擴展性更強的以太坊上,從而也導致比特幣生態的發展速度與玩法非常緩慢,比特幣網絡緩慢的問題也就成為了房間裡的大象,但是這一波熱度直接導致了比特幣性能問題再次浮出水面成為大家熱議的話題,因為網絡擁堵幣安暫停提款後,並宣布將會採用閃電網絡,也又一次將閃電網絡這個大家熟悉又陌生的詞彙提了出來。
閃電網絡是比特幣二層的交易擴容方案,在之前的文章《從 Layer1 、側鏈、 Plasma 到 Layer2,聊聊它們的概念、定義、演進過程和未來趨勢》我曾經為大家講解過以太坊的二層演進之路,閃電網絡雖然也是二層,但是與以太坊體系的 Layer2 有著非常大的區別,建議大家先回顧我上篇文章補充背景知識。閃電網絡起源於 2016 年的一篇論文《比特幣閃電網絡:可擴展的鏈下即時支付》,原文鏈接如下,大家感興趣可以詳細閱讀。
https://lightning.network/lightning-network-paper.pdf
比特幣主網 TPS 每秒只能進行 7 筆交易,以太坊為 15,而 VISA 則超過 1700,以太坊的 Layer2 Optimism 理論 TPS 可達到 2000,比特幣的 TPS 遠遠無法實現中本聰對它「一種點對點式的電子現金系統」的定義。
在此之前有人提議粗暴的擴容方式是直接將比特幣區塊從 1MB 擴大,儘管每個區塊容納的交易數量多了,但是出塊時間依然不會改變,從而會直接撐爆普通的節點存儲空間,增大節點運營壓力後導致大量礦工流失從而提高了比特幣中心化的風險。
比特幣為代表的區塊鏈其實是一種 Gossip 八卦協議,所有對帳本的修改,任何一筆微小的交易都會廣播給所有參與者達成共識,從而保證網絡安全性,但這也導致了極大的性能問題,閃電網絡希望能夠以盡可能不犧牲去中心化和安全性為前提,提高交易速度,理論上可以達到上百萬 TPS 。它的實現邏輯其實某種程度更加貼合中本聰論文中對「點對點」的定義,即在兩個交易節點之間單獨建立一個通道,這兩個節點之間的頻繁交易是單獨在鏈下結算的,只有在開啟和關閉通道時才會分別上一次鏈,即兩個人開啟通道後,即使交易一萬次,也最多只會向主網發布兩次交易,所以這也是相比於以太坊 Layer2 最大的不同,閃電網絡作為二層網絡,是沒有共識機制,從而也就完全去除了廣播出塊這個耗費時間最長的過程,雖然在宏觀上完全不同,但是在微觀上其實是一致的,都是將交易放在鏈下執行,積累一定數量後再打包鏈上的過程,這里大家一定要理解。
目前最新的數據共有 5388 個比特幣存在於閃電網絡中,16362 個節點與 73431 個支付通道。
要啟動支付通道,雙方將結合他們的密鑰生成一個 2-of-2 多簽合約,該合約將作為通道的地址,雙方也會先放進去一定數量的比特幣,後續的支付就會用這部分比特幣完成,比如甲和乙兩人做生意,建立通道後,甲放了 5BTC,乙放了 2BTC,這時候會先將通道開啟這一筆交易發佈到比特幣主網上,然後雙方就可以在鏈下進行交易並將過程進行記帳
1. 甲發送給乙 1 個 BTC:甲 4BTC 乙 3BTC
2. 乙發送給甲 2 個 BTC:甲 6BTC 乙 1BTC
3. 乙發送給甲 1 個 BTC:甲 7BTC 乙 0BTC
4. ……
最終他們兩結束合作關係,於是發起關閉通道的交易到主網上,並包含雙方的餘額,通道也可以單方面強制關閉。
但是這個過程看似速度快了很多,畢竟是點對點交易,但真實的交易網絡時 N 對 N 的,如果我每次想和別人交易都需要單獨再與對方開一個通道也太麻煩了,於是就可以使用跳板中繼的方式完成,比如甲想給丙發一筆交易,碰巧乙和丙存在交易通道,於是甲可以在不和丙開啟通道的情況下,將費用發給乙,再由乙轉交給丙,當然乙也可以收取少量的手續費,所以閃電網絡並不是完全免費的,當存在中轉節點時也存在「Gas」費的情況,這個過程也非常依賴網絡效應,並且也存在一定的風險問題,所以並不是那麼理想可實現的。
大家也許會疑惑這個過程全部在鏈下點對點執行,如何保證支付過程中的安全性呢,萬一中轉節點把錢給截胡怎麼辦呢?這裡就使用到了一種特殊的智能合約 HTLC 哈希時間鎖合約,這也是閃電網絡支付機制等核心,不需要信任網絡裡的其他人合約會自動的執行交易,它的目的是實現跨多個節點的全局狀態,簡單為大家介紹一下這個非常有趣且精妙的實現原理。
假設甲想給乙發送 10BTC,但是中間隔著丙和丁,所以不能讓他們半路截胡,於是應該有一個秘密口令 A,只有乙答對口令後才可以打開裝著 BTC 的信封,並且這時其他轉交信封的人才可以收到手續費,則乙首先要生成一個口令,並對其進行 Hash 處理進行加密得到 B=Hash(A),然後將 B 給出去,從而路徑上的四個人都知道了 B,然後這筆交易的流程就是
甲:如果丙可以提供一個口令,並將其進行 Hash 運算後得到 B,則我將支付給丙 10BTC
這時候丙並不知道口令,於是就向下給到丁
丁:如果乙可以提供一個口令,並將其進行 Hash 運算後得到 B,則我將支付給乙 10BTC
口令是乙生成的乙知道它,於是進行 Hash 運算後得到 B,成功的拿到 10BTC 。
在這個過程中還可以設置時間期限,如果在某個環節卡住了資金並不會被鎖死,等到時間過了後還可以原路贖回。
下圖為閃電網絡中的一個支付交易示例,包括交易的目的、時間、數量、路徑等。
閃電網絡還存在一個瞭望塔的角色,監視特定的通道從而防止欺詐,畢竟閃電網絡還是在鏈下執行,雙花問題並未完全消除,不誠實的節點可能會趁著你的節點處於離線狀態,關閉通道從而廣播舊的交易來作弊騙取資金,於是就可以設置一個瞭望塔去監控通道狀態,如果發現異常將會進行干預,有趣的是 Talaia Lab 還開發了一個叫 The Eye of Satoshi 中本聰之眼的瞭望塔設施,很形象,「嘿別亂動,中本聰在看著你」。
儘管閃電網絡從 16 年提出至今過去近 8 年,但是因為門檻、生態等問題總體上發展依然比較緩慢,相比於 WBTC 的中的 154410 個 BTC,目前閃電網絡裡也僅只有其三分之一的體量。注:WBTC 就是用以太坊 ERC20 發行的錨定比特幣的 Token 。
但閃電網絡作為目前比特幣最主流的擴容方案也不斷的被接受,去年沃爾瑪、麥當勞等數千家門店也開始接受閃電網絡支付渠道,以及前段時間大火的 Nostr 也支持閃電網絡支付打賞。
隨著這一波比特幣生態熱度的發展,比特幣生態如果想擺脫性能困擾,擴容提效是勢必需要邁出的一步,閃電網絡我認為是一個需要關注的領域。
(以上內容獲合作夥伴 MarsBit 授權節錄及轉載,原文連結 | 出處:萬物島 ThreeDAO)
聲明:文章僅代表作者個人觀點意見,不代表區塊客觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及區塊客將不承擔任何責任。