【區(qū)塊鏈學(xué)習(xí)筆記】系列1兔综,搞掂閃電網(wǎng)絡(luò)
區(qū)塊鏈的困境
自比特幣誕生起戴已,其底層的應(yīng)用技術(shù)-區(qū)塊鏈一直面臨諸多不盡如意的問題锅减,如擴(kuò)展性差劫狠、交易費(fèi)用高独泞、交易速度延遲等等罚随。
舉例比特幣:論處理能力(tps)狭郑,全網(wǎng)只有處理7筆/每秒;論時延10分鐘出一個塊嚼隘;論交易確定,6個區(qū)塊確認(rèn)后才可視為作交易最終化袒餐,大額交易則等待更多飞蛹;論容量,目前已生成40多萬個區(qū)塊灸眼,約60GB數(shù)據(jù)量卧檐,而且量級在未來更是逐漸膨脹。
區(qū)塊鏈若要規(guī)难嫘化應(yīng)用霉囚,上述問題必須要解決,而行業(yè)許多的能人志士也在絞盡腦汁的探索著解決方案匕积。
目前提出的解決方案
1.區(qū)塊擴(kuò)容
一味的提高區(qū)塊體積上限盈罐,則面臨著區(qū)塊塊的傳播與存儲問題榜跌;
2.分片技術(shù)(shard)
緩解擴(kuò)展性問題,大幅提升了吞吐量(tps)盅粪,但在交易費(fèi)用和延遲方面提升不夠钓葫;
3.plasma或側(cè)鏈技術(shù)
可以大幅提升擴(kuò)展性,緩解交易費(fèi)用問題票顾,但在延遲方面依然沒有得到很好解決础浮;
4.狀態(tài)通道技術(shù)(state channels)
閃電網(wǎng)絡(luò)、雷電網(wǎng)絡(luò)奠骄、移動雷電都是屬于鏈下通道技術(shù)霸旗。它有望實(shí)現(xiàn)大部分的高頻轉(zhuǎn)賬功能,而大額戚揭、非高頻的轉(zhuǎn)賬仍然通過區(qū)塊鏈上進(jìn)行。
今天彼得想要和大家分享的就是閃電網(wǎng)絡(luò)的一些知識撵枢。
閃電網(wǎng)絡(luò)簡介
大家知道民晒,目前區(qū)塊鏈的處理能力只有7-30筆/秒(以比特幣和以太坊為例),而塊內(nèi)又有大量的交易排隊(duì)等待處理锄禽,那么進(jìn)行打包記賬的礦工潜必,出于自身的利益著想,自然會選擇為出價(礦工費(fèi))最高的交易優(yōu)先打包沃但。這樣磁滚,大批的高頻、小額的交易將得不到應(yīng)有的及時的處理宵晚。
對此垂攘,閃電網(wǎng)絡(luò)提出了改進(jìn)的方案,其理念是淤刃,在區(qū)塊鏈之外開通一條“綠色通道”晒他,將大量高頻的、小額的交易在區(qū)塊鏈外進(jìn)行逸贾。
如此陨仅,交易雙方可在這條“綠色通道”上進(jìn)行多次、高頻铝侵、雙向地灼伤、點(diǎn)對點(diǎn)的,可實(shí)現(xiàn)瞬間確認(rèn)的微支付咪鲜;而且雙方若無直接的點(diǎn)對點(diǎn)支付通道狐赡,只要閃電網(wǎng)絡(luò)中存在一條連通雙方的、由多個支付通道構(gòu)成的支付路徑疟丙,那么也可以利用這條支付路徑實(shí)現(xiàn)可靠的交易猾警。如下圖:
????????????? (該圖片來自于網(wǎng)絡(luò))
A若和B或F進(jìn)行交易孔祸,那么直接使用他們之間建立的支付通道即可(AB、AF)发皿;而若A想和D進(jìn)行崔慧,那么就需要借助AB、BE穴墅、EF三條通道接力完成惶室,而這中介B、E將獲得一定的“過路費(fèi)”玄货,這是不是有點(diǎn)像“人人為我皇钞,我為人人”的意思?
另外松捉,為什么一定是高頻次夹界、小額交易呢,為什么不可以是大額交易呢隘世?這里大家就需要了解閃電網(wǎng)絡(luò)的核心概念:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)可柿。前者解決了鏈下交易的確認(rèn)問題,后者解決了支付通道的問題丙者。
什么是RSMC
Recoverable
Sequence Maturity Contract复斥,中文翻譯為“可撤銷的順序成熟度合同”。它的主要理念類似于準(zhǔn)備金機(jī)制械媒,也就是說為了保證交易的有效性和避免欺詐行為目锭,雙方必須在這個支付通道中預(yù)存一部分資金,而這個支付通道類似于第三方中介纷捞,監(jiān)督判斷雙方的資金是否足夠支付每次交易(要完全控制交易風(fēng)險痢虹,則每筆交易都不能超過通道余額的上限)。我想大家看到這里主儡,應(yīng)該也明白了為什么閃電網(wǎng)絡(luò)并不試圖解決大額交易的原因(若通過這種方案進(jìn)行大額交易世分,那么雙方需要在支付通道中預(yù)存的保證金將很大)。
下面描述下RSMC的具體運(yùn)行原理
Alice和Bob需要進(jìn)行交易缀辩,那么在微支付通道建立時臭埋,雙方必須有一定的資金沉淀在該通道上,我們假設(shè)目前通道中資金為:Alice: 0.4, Bob: 0.6臀玄,這樣預(yù)存到通道的資金共有1.0 BTC瓢阴,其中Alice擁有0.4 BTC,Bob擁有0.6 BTC健无。而支付通道的設(shè)立會記錄在比特幣的區(qū)塊鏈上荣恐。
某次,Bob決定向Alice支付0.1 BTC。在雙方都簽字認(rèn)可的情況叠穆,鏈下支付通道的最新余額分配方案將變?yōu)閧Alice:0.5, Bob:0.5}蕴潦,而且雙方需要同時簽字同意作廢前一版本的余額分配方案{Alice:0.4, Bob:0.6}匣缘,這樣Alice就實(shí)際獲得了0.5 BTC的控制權(quán)。
若Alice考慮到以后還會和Bob進(jìn)行交易,那么她可以無需提取現(xiàn)在屬于她的0.5 BTC湖笨,也無需在比特幣區(qū)塊鏈上更新已有變動的余額分配方案翼岁,因?yàn)槿羲麄冊俅芜M(jìn)行交易(如Alice向Bob支付0.2BTC)的話簿晓,他們?nèi)匀恢恍柙阪溝聦δ康牡挠囝~分配方案達(dá)成一致症革,并設(shè)法作廢前一版本的余額分配方案就行了。
若Alice不打算再次和Bob進(jìn)行交易并想動用通道的資金仔掸,她可以向區(qū)塊鏈出示雙方簽字的余額分配方案脆贵。如果在規(guī)定時間內(nèi)Bob未提出異議,區(qū)塊鏈則會終止雙方的支付通道并將資金按協(xié)議轉(zhuǎn)入各自預(yù)先設(shè)立的提現(xiàn)地址起暮。如果Bob在規(guī)定時間內(nèi)提交證據(jù)證明Alice提交的是一個雙方已同意作廢的余額分配方案卖氨,那么Alice的資金將被罰沒并給到Bob。
另外负懦,為了鼓勵雙方盡可能久地利用通道進(jìn)行交易筒捺,RSMC對主動關(guān)閉方給予了小小的懲罰:主動關(guān)閉方其資金到賬將比對方晚,也就是說誰先發(fā)起關(guān)閉通道誰吃虧密似。
什么是HTLC
RSMC保障了兩個人之間的直接交易可以在鏈下完成,HTLC(Hashed Timelock Contract中文意思是“哈希的帶時鐘的合約”)則保障了任意兩個人之間的轉(zhuǎn)賬都可以通過一條“支付”通道來完成葫盼。這兩個機(jī)制加在一起残腌,就可實(shí)現(xiàn)了任意兩個人之間的交易均可在鏈下完成。
下面描述下HTLC的具體運(yùn)行原理
?(該圖來源于網(wǎng)絡(luò))
如上圖所示贫导,Alice(A)想給Darcy(D)發(fā)送0.05 BTC抛猫,但Alice和Darcy之間并沒有微支付通道。但這沒關(guān)系孩灯,閃電網(wǎng)絡(luò)為Alice匹配了一條經(jīng)過Bob(B)闺金、Cady(C)到達(dá)Darcy的支付路徑,該路徑由Alice/Bob,
Bob/Cady和Cady/Darcy這樣三個微支付通道接力而成峰档。
Darcy生成一個哈希值R并將Hash(R)發(fā)送給Alice败匹,Alice不需要知道R。R和Hash(R)的作用類似于鑰匙和鎖讥巡,只有匹配在一起才可開鎖掀亩。
Alice和Bob商定一個HTLC合約:只要Bob能在3天內(nèi)向Alice出示正確的R,Alice會支付Bob 0.052 BTC欢顷;如果Bob做不到這點(diǎn)槽棍,這筆錢3天后自動退還Alice。
同樣地,Bob和Cady商定一個HTLC合約:只要Cady能在2天內(nèi)向Bob出示哈希正確的R炼七,Bob會支付Cady 0.051
BTC缆巧;如果Cady做不到這點(diǎn),這筆錢到期自動退還Bob豌拙。
最后陕悬,Cady和Darcy商定一個HTLC合約:只要Darcy能在1天內(nèi)向Cady出示哈希正確的R,Cady會支付Darcy 0.05
BTC姆蘸;如果Darcy做不到這點(diǎn)墩莫,這筆錢到期自動退還Cady。
方案確定好后逞敷,Darcy及時向Cady披露R并拿到0.05 BTC狂秦;現(xiàn)在Cady知道了R,她可以向Bob出示密碼R并拿到0.051 BTC(差額部分的0.001 BTC成了Cady的傭金)推捐;Bob知道R后當(dāng)然會向Alice出示并拿到他的那份0.052
BTC裂问,差額部分的0.001 BTC成了Bob的傭金。
大家可以看到牛柒,最終的結(jié)果是Alice通過閃電網(wǎng)絡(luò)安全地向Darcy支付了0.05 BTC堪簿,所付出的代價僅僅是支付給Bob和Cady(節(jié)點(diǎn))的0.002 BTC“過路費(fèi)”(傭金)。
最后總結(jié)一下:
1.閃電網(wǎng)絡(luò)的理念就是引入了一個類似于第三方中介且僅適用于高頻次皮壁、小額交易的微支付通道椭更。
2.交易雙方在這個微通道中必須先預(yù)存一定數(shù)量的保證金,而由區(qū)塊鏈產(chǎn)生的智能合約(資金分配方案)進(jìn)行監(jiān)督評判蛾魄。
3.閃電網(wǎng)絡(luò)中的所有交易動作都是發(fā)生在區(qū)塊鏈之外虑瀑,只有當(dāng)需要提現(xiàn)時,才會將最終的交易結(jié)果寫到區(qū)塊鏈網(wǎng)絡(luò)中并被最終確認(rèn)滴须。這大大降低了比特幣區(qū)塊鏈上的交易壓力舌狗。
4.微支付通道有向中心化中介演變的傾向,即扔水,將來變成若干個大型的中介通道痛侍。但大家要明白,首先絕對的去中心化未必可取魔市,其次主届,這種方案的交易雙方并不需要信任中介、不需要到中介處存錢待德,其資金安全受到比特幣區(qū)塊鏈的充分保護(hù)岂膳。這種優(yōu)勢是傳統(tǒng)中心化中介所不具備的!
(部分文字有參考網(wǎng)絡(luò)資料)
彼得的公眾號:sf-btc
???? (掃掃磅网,不失聯(lián))