首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深度剖析閃電網絡

閃電網絡(Lighting Network)是比特幣的二層擴容方案,由 Joseph Poon 和 Thaddeus Dryja 在2015年提出,並在2016年撰寫了其白皮書。

起源:

閃電網絡的起源可以追溯到比特幣白皮書裏的微支付通道。微支付通道是一種單向的閃電網絡,因此支持者們認為閃電網絡起源於中本聰(Satoshi Nakamoto)的設計。

隨著比特幣的發展,比特幣網絡的兩大弊病逐漸突顯:確認速度慢礦工費用高

而閃電網絡的設計目的就是為了解決上述兩個問題。在閃電網絡白皮書發布兩年後,2018年,閃電網絡實驗室(Lightning Labs)成立,正式開始將閃電網絡推向落地。閃電網路實驗室主要由 Blockstream 公司主導,並獲得了眾多知名機構和投資人的投資,其中包括推特的創始人,Jack Dorsey.

原理:

比特幣的白皮書闡述了微支付通道的實現,可以讓雙方之間開啟一個單向的支付通道。其主要的流程如下:

創建2-2多簽賬戶,並生成存款交易A;

使用 locktime 參數,生成 Refund 交易B;

將交易A廣播至網絡(注意順序,先要拿到 Refund 交易,才能廣播A,為什麼?可以思考下);

下麵就是不斷地更新 Refund 交易C、D、E...,新的 Refund 交易的 locktime 為0,因此比 Refund 交易B擁有更高的優先權;

將 Refund 交易 N 廣播至網絡,通道關閉,兌現比特幣。

原生的比特幣網絡不能實現雙向的微支付通道,其主要的原因是交易延展性。交易延展性是指在父交易被簽名之前,可以先簽名子交易(花費尚未完成簽名的父交易的交易)的能力。因為交易在完成簽名前其交易哈希(txHash)尚未確定,而子交易簽名時需要用到父交易的交易哈希,因此這是一個矛盾的需求,在原生的比特幣網絡下無法實現。

隔離見證(SegWit)的激活解決了這一問題。

在隔離見證環境下,交易哈希的計算將不包括簽名部分。因此在父交易完成簽名之前,它的交易哈希已經可以確定,進而實現了先簽名子交易、後簽名父交易的需求。

隔離見證的激活給閃電網絡帶來了可能。具體來說,閃電網絡是在隔離見證環境下,利用了 RSMC (revocable sequence maturity contract) (利用 sequence 參數)來實現雙向的微支付通道。

多個微支付通道之間可以互相打通,形成網絡。例如 AB 之間開通了閃電網絡通道,BC 之間也開通了閃電網絡通道,當 A 要給 C 轉賬時,可以利用 B ,形成了 A -> B -> C 之間的通道。從全局來看這就形成了點對點之間的快速轉賬的通道網絡,因此稱為閃電網絡。

現狀:

閃電網絡主網 beta 版於2018年3月15日上線。上線兩年多以來,取得了一定的發展,但是總體數據並不理想。

截止2020年11月7日數據,比特幣閃電網絡一共運行著14,381個節點(其中7,411個節點開通了活躍的通道)。一共開通了35,043個通道,並鎖定了1,030枚BTC。

比特幣閃電網絡鎖定 BTC 數量

BTC 在閃電網絡中的總質押(鎖定)量相當於當前總流通量的0.0056%。跟閃電網路獲得的關注和期望相比,這一數據顯得尷尬。可以看出閃電網絡當前在實際使用中並沒有取得成功。

缺陷:

閃電網絡在實際使用場景中的遇冷,跟其本身的缺陷密不可分。閃電網絡的缺陷可分為設計缺陷安全漏洞兩大類。

使用閃電網絡的前提是開通道質押。因此它不符合偶發的需求。例如路過一家咖啡店,想用比特幣買一杯咖啡。在你當前和該咖啡店之間沒有通道的情況下(也沒有其他路由),閃電網絡就非常不適用。因為如果使用閃電網絡,你即將麵臨打開通道關閉通道兩次操作,而每次通道操作其性質是向比特幣主網絡發送交易,這些都是需要花費手續費的。而不使用閃電網絡的情況下,你隻需要花費一次手續費。

另外一點的設計缺陷,是我們之前談到的 A -> B -> C 的路由。在這些路由中,最小的一筆通道質押將成為整個路由的瓶頸。例如 AB 之間通道的質押有 10BTC,而 BC 通道之間的質押隻有 1BTC。那麼通過路由 A 向 C 之間最多隻能轉移 1BTC,而不是 10BTC。

這兩點設計缺陷,已經讓閃電網絡在使用場景上大大受限。另外,閃電網絡在實際的運行中,頻曝安全漏洞

在此之前,研究人員Jona Harris和Aviv Zohar發表了一篇名為《洪水與掠奪:閃電網絡的係統性攻擊》的論文。該論文闡述了通過同時關閉大量閃電網絡通道,進而造成比特幣網絡擁堵,以至無法關閉通道,來實現的一種攻擊方式。

此外,在2020年6月2日,Antoine Riard和Gleb Naumenko發表了另一篇有關閃電網絡漏洞的論文,稱為“時間擴散攻擊”。Naumenko和Riard披露了有關時間擴散攻擊的一個令人恐懼的事實,報告稱“目前有可能通過使節點僅遮蓋2小時就可以竊取所有的通道資金”。

在此問題發生後不久,Antoine Riard又討論了另一種易受攻擊的漏洞,稱為“PIN攻擊”(Pin 是通過發送 icmp 包進行網絡測速的一個工具)。Riard指出,“當前部署的閃電網絡服務器在[某些PIN攻擊]場景中並不安全。”

除此以外,我們應該看到二層解決方案增加了係統的複雜性,從而導致了更多的安全風險。例如,我們無法從協議層麵讓閃電網絡可以有效地抵禦 DDOS 攻擊。

結語:

最近比特幣網絡又持續擁堵,使得比特幣對擴容的需求變得更加迫切。然而本被寄予厚望的閃電網絡並未能在此時發揮作用。

早在 BCH 分叉之前,比特幣社區對隔離見證和閃電網絡就存在大量質疑。期間分成了大區塊擴容方案閃電網絡擴容方案兩派。如今從數據看來,在擴容方麵,除隔離見證給比特幣網絡帶來了60%左右的擴容外,由 Blockstream 主導的閃電網絡方案幾乎未起到任何作用。

基於以上種種缺陷,閃電網絡並不適用於偶發性需求的交易。而偶發性需求一直都是主要需求,想要全麵擴容比特幣,我們唯有期待更加創新的方案。

—— 本文首發於微信公眾號《談談區塊鏈》

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201108A04S6Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券