閃電網(wǎng)絡產(chǎn)生的背景
經(jīng)過10年的發(fā)展,今天的比特幣已經(jīng)成為了總市值數(shù)千億美元的加密數(shù)字貨幣體系。我們已經(jīng)可以用比特幣購買很多東西了,小到一杯咖啡,大到投資房產(chǎn),但是隨著用戶數(shù)的增長,比特幣網(wǎng)絡在承擔高頻支付上的弊端也逐漸暴露出來。
由于最初設計的原因,比特幣網(wǎng)絡可支持的交易頻率較低、交易確認成交時間較長,無法支撐起未來高頻率、實時到賬的支付需求。
比特幣網(wǎng)絡為了保證交易的正確性和不可篡改性,需要將每筆交易的詳細內(nèi)容都記錄在區(qū)塊中,同時為了控制區(qū)塊數(shù)據(jù)的增長速度,比特幣網(wǎng)絡將每個區(qū)塊的大小限制在了1MB,每個區(qū)塊的挖礦時間控制在10分鐘左右,這樣理想狀況下,比特幣每秒可處理的交易數(shù)(TPS)大約為7筆。實際上,每秒3筆左右的交易頻率就已經(jīng)把比特幣網(wǎng)絡的區(qū)塊塞滿了,因此大家經(jīng)常會遇到比特幣轉賬遲遲無法得到確認的問題。
此外,比特幣網(wǎng)絡為了確保交易的不可篡改性,一般需要等待5-6個區(qū)塊確認后,收款方才認可交易成功,這樣一次交易的確認等待時間就需要1個小時左右,用戶體驗極其不好。而且由于待確認的交易數(shù)越來越多,比特幣轉賬的手續(xù)費也越來越高,目前主網(wǎng)上,為一筆普通轉賬支付的手續(xù)費為0.0001~0.001BTC,幾塊錢到幾十塊塊錢不等。因此,現(xiàn)在的比特幣支付網(wǎng)絡已經(jīng)不太適合于小額交易了。
針對比特幣以上的問題,目前社區(qū)里已經(jīng)有不少的擴容方案,例如采用隔離見證能減小每筆交易數(shù)據(jù)的大小,此外還有大區(qū)塊擴容方案,將原先1MB的限制提升到32MB甚至128MB,但是這些方案都是治標不治本的,只能將比特幣網(wǎng)絡的支付能力提升幾倍,最多也就到幾十筆每秒而已,和VISA或者支付寶每秒百萬級的支付頻率比起來,顯得微不足道。
閃電網(wǎng)絡正是在這樣的大背景下被提出的,它的目標是使得比特幣網(wǎng)絡能支持高頻、實時的交易。
閃電網(wǎng)絡的實現(xiàn)原理
閃電網(wǎng)絡(Lighting Network)是一個二層協(xié)議,就像架在公路上的高架橋,通過一個大型的雙向通道網(wǎng)絡來進行多筆支付,無需將每筆交易都記錄到比特幣區(qū)塊鏈上。這樣一來,即避免了比特幣交易速率的限制,又能以更低的費用享受到更快的交易速度和更大的容量。
以上圖為例,每個閃電網(wǎng)絡用戶就是一個藍色的點,一條閃電網(wǎng)絡支付通道就是兩個點之間的一條連線,如果這個連線足夠多,使得每兩個點之間都有一條路徑可達,那就可以實現(xiàn)所有用戶之間的高頻、實時交易了。
1. 建立通道
我們假設用戶Alice和用戶Bob想使用閃電網(wǎng)絡支付方案來進行交易,那么他們首先要構建一條他們倆之間的閃電網(wǎng)絡支付通道,然后各自往一個2-2多簽地址發(fā)起一筆鏈上交易,存入一部分BTC,這部分BTC相當于保證金。通過這個多簽地址發(fā)送的每一筆交易都需要兩人進行簽名。
如果Alice向多簽地址里存了1BTC,那么Alice在這個通道里向Bob可發(fā)送的最大金額不能超過1BTC,這樣可以防止交易過程中有作弊行為。
用現(xiàn)實世界的銀行系統(tǒng)舉例,就是Alice和Bob需要一起去銀行開一個公共賬號,兩人各自往這個公共賬號里存入一部分錢,兩人和銀行一起簽訂一份合同,約定后續(xù)需要兩個人同時簽字的合同才可以操作這個公共賬號。在閃電網(wǎng)絡里,Alice 和 Bob 都無法作弊,一旦有一方作弊,另一方可以獲得支付通道里的所有金額等。
2. 閃電交易
Alice 和Bob之間建立了閃電網(wǎng)絡支付通道后,就可以用來進行交易了。這些交易需要兩者的數(shù)字簽名,并可以通過支付通道實現(xiàn)瞬間到賬。
我們都知道比特幣交易的本質(zhì)是UTXO( Unspent Transaction Output),每一筆鏈上交易都需要有交易輸入(資金來源),和交易輸出,也就是UTXO。
在閃電網(wǎng)絡的例子里,Alice和Bob之間通過支付通道發(fā)生的很多交易不會出現(xiàn)在鏈上,只是通過公共賬戶余額分配來顯示。最終只有關閉支付通道的那筆交易才會上鏈,通過這筆交易,我們可以看到最終通道關閉時公共地址中的余額。
舉個例子,如果A和B最開始都向公共地址轉入了1BTC,期間兩人之間發(fā)生了很多筆交易,但最后關閉支付通道時A的公共地址中只有0.5BTC,B有1.5BTC,那么上鏈的那筆交易就顯示為A向B轉賬0.5BTC。
3. 路由節(jié)點
當然,個人用戶無法與每一個建立一條閃電網(wǎng)絡通道,截止2019年1月19日,閃電網(wǎng)絡共有2.4萬條通道。
如果交易節(jié)點沒有直連的通道,可借助路由節(jié)點(相當于中介)進行交易,當然這需要給這些“中介”支付一些路由費用。
現(xiàn)在已經(jīng)有不少人做起了路由節(jié)點的生意,希望通過這些節(jié)點給閃電網(wǎng)絡帶來一些流動性,并可以從中收取一點費用。此外,還有一些電商平臺利用閃電網(wǎng)絡提供生活類服務,比如充話費等。
評論