閃電網路是最近非常熱門的話題之一。很多人說,閃電網路的實現意味著比特幣2.0時代的到來。
為什麼啟用閃電網路
比特幣帶著“加密貨幣”的使命而生,十多年來,應用場景雖然有所增加,但這一的定位仍頻頻受到挑戰和質疑。除去自身價格的不穩定因素以外,更主要的原因還是用起來不爽:
太慢了:比特幣網路每秒只能處理約7筆交易,每筆轉帳的有效確認時間需要1個小時。在這個去中介化的比特幣網路中,每筆交易都需要得到全網的確認。我們將這一過程稱之為“交易上鍊”,平均十分鐘上萬全節點(編者注:2019年2月20日全節點數10527)跑一圈把交易加到自己的帳本里,這個速度確實不快。
有點貴:收手續費好理解,現在支付寶提現也收千一的手續費,不過比特幣交易手續費雖然和金額大小無關,但人家有“競價”模式:當交易太多,如果你想插隊——讓礦工先處理自己的轉帳,就需要付上更高的手續費,最高曾達到過數十美金一筆,令人望而卻步。
因此,比特幣被支付寶、微信、VISA的交易處理能力“秒殺”,效能被人詬病也在情理之中。當然,比特幣的開發團隊也清楚這些問題,所以從2016年開始就大力推進閃電網路。
什麼是閃電網路?
閃電網路,顧名思義,交易速度快如“閃電”。在具體解釋前,我們先來看兩個比較重要的數字:
最新報道稱,“……閃電網路(LN)總容量已經突破709BTC……”,這其實指出了使用閃電網路時重要的一點:閃電網路的使用者需要先將比特幣預存在閃電網路的通道中(注:預存的比特幣仍然是在比特幣主鏈,儲存在一個多重籤包錢包地址中)。
你也可以簡單理解為,在閃電網路中預存了BTC的使用者可以在額度之內,只需要交易雙方彼此確認,不需要第三方記帳,就能快速實現轉帳和消費。所以,這個預存數字越大,也就意味著可交易的比特幣越多,使用者也越多。
另一個值得關注的資料就是節點數。目前,閃電網路節點數量為6474個,這個數字意味著什麼呢?打個比方,這些節點就象快遞網點,藉助這些節點,我們就能夠建立起越來越多的快遞路線(交易路線),從而容易地觸達到網路中的任意一方並進行交易,閃電網路之稱也就由此而來。節點數越多,交易速度會越快,(因為競爭而需要)支付的成本也就越低。閃電網路論文作者表示:人們會支付的費用將有效接近於零。
▲ 閃電網路示意圖
(二)微支付通道
微支付通道概念於2012年首次被提出,是解決小額度、高頻次支付場景的方案,目的在於縮減支付的交易數量,使高頻、小額支付成為可能。下面我們先研究一下微支付通道的原理。
假設A為消費者,B為一家影片網站。A非常喜歡去B網站看電影,看一部電影需要支付0.1BTC,那麼愛麗絲看了10部電影就需要支付10次0.1BTC,共計1BTC併發出10筆交易。而採用微支付通道就會縮減至兩筆,或者說任何多次的交易均會縮減至兩筆,只要總金額不超過存入通道的額度即可。
在整個微支付通道建立、更新和關閉的過程中,有且僅有兩筆交易廣播至鏈上,同時雙方均無須信任對方,任何一方也無法侵害另一方的利益。
然而,這種設計的一個巨大制約是,通道只能在一個交易方向發揮作用。A可以向B進行任意次數的支付,但B不能透過同一個通道向A發起支付,也就是幣在通道中的流向是單向的。
(三)閃電網路交易合約
閃電網路正式基於微支付通道演進而來,創造性地設計出了兩種型別的交易合約:序列到期可撤銷合約RSMC和雜湊時間鎖定合約HTLC。RSMC解決了通道中幣單向流動問題,HTLC解決了幣跨節點傳遞的問題。這兩個型別的交易組合構成了閃電網路。
要建立一個序列到期可撤銷合約RSMC,原理類似準備金機制,先在閃電網路裡存入部分金額,並且規定每筆交易都不能超過當前餘額。可以類比微信錢包,需要先往微信錢包裡面充值,轉賬金額不能超過餘額,轉賬變動的是微信錢包賬面數字,並未涉及實際交割,只有提現時,錢才會打到你的銀行卡。閃電網路只有在提現時,才將交易結果寫到區塊鏈網路中並確認。
在微信錢包中,微信作為“中介”來保障交易的執行,在閃電網路中HTLC扮演了微信的角色。HTLC,透過形成智慧合約來保障任意兩個人之間的轉賬都可以透過一條“支付”通道來實現,完成“中介”的角色。
如何做到的呢?交易的雙方透過智慧合約,先凍結部分錢,並提供一個雜湊值。誰能在合約設定時間內匹配上Hash值,那麼這部分凍結的錢就歸誰了。
(四)閃電網路面臨的問題
1.中轉站中心化的風險。
如果A需要透過C把比特幣付給B,這就意味著,如果C想要成為一個支付中轉站,那他必須在與客戶共有的渠道中存足夠多的比特幣,這樣才能促成這些客戶的脫鏈交易。
所以,要執行一個支付中轉站還是需要真金實銀的投入,最起碼在剛開始之前就不要準備足夠的預存款。因此,如果某天閃電網路最終演變為中轉站輻射型拓撲網路,那麼中心化就是它最大的隱患。
2.路徑交易問題。
要解決中心化隱患,就要尋找比中轉站輻射型更好的模式,比如點對點的路徑交易。
如果A想要買一杯咖啡,在此之前,他的錢包會用相同的技術在網路中透過其他節點找到一個路徑來支付這杯咖啡,如果錢包找不到任何節點,那麼它將與咖啡店開啟一個新的支付渠道來完成這筆交易,然後留著這個渠道以便日後再用。理論上,A的錢包能夠維持數十個開放的渠道。
A和B同時跟一家咖啡店保持了支付渠道的開放,那麼A就可以將比特幣以鏈外形式給B。
但路徑交易發生時,傳送者和交易者都需要同時線上。因為在雜湊時間鎖定合約HTLC中,A的錢包聯絡B的錢包,並問他要一個雜湊隨機數,而B只有線上時才能將那個數字給她。而大部分時候,很多人的手機錢包都會是休眠狀態,並不會時刻保持上線。
(五)閃電網路現狀
2017年1月,第一個閃電網路的軟體實現,釋出了alpha版。
2017年12月,開發者Alex Bosworth首次透過閃電網路實現了第一筆真錢購買。
2018年3月中旬,Lightning Labs第一個釋出了Beta測試版閃電網路軟體。Lightning Labs同時宣佈了250萬美元的種子輪融資。
雖然beta版軟體的釋出是一個重要的里程碑,但網路的開發和改進是一個持續的過程,許多問題只有等待閃電網路被更多人使用後才能解決了。