1. 引言
比特幣網(wǎng)絡(luò)的擁堵問題由來以久掩蛤,關(guān)于擴(kuò)容的爭論也喋喋不休,在多次共識失敗之后陈肛,比特大陸團(tuán)隊硬分叉出bch揍鸟,通過擴(kuò)大區(qū)塊容量來實現(xiàn)網(wǎng)絡(luò)擴(kuò)容,而bitcoin core團(tuán)隊則通過軟分叉方式激活了隔離見證句旱,為后續(xù)的閃電網(wǎng)絡(luò)做準(zhǔn)備阳藻。
比特幣是世界上使用最廣泛和最具價值的數(shù)字貨幣晰奖,它允許任何人在不受信任的環(huán)境下進(jìn)行價值傳遞。比特幣被稱為“數(shù)字黃金”腥泥,這個稱謂是對其在加密貨幣領(lǐng)域地位的肯定畅涂,但比特幣也表現(xiàn)出黃金的一些缺點,Peter Thiel表示道川,比特幣“就像金庫中永不移動的金條一樣”,說的正是比特幣高昂的交易費和極低的處理速度立宜,能否成為支付手段是比特幣能否在未來大行其道的關(guān)鍵冒萄。
閃電網(wǎng)絡(luò)可以提供擴(kuò)容性方面的重大改進(jìn)。因此橙数,在不影響核心協(xié)議的基礎(chǔ)安全性的情況下尊流,交易速度和交易費率應(yīng)該大幅改進(jìn)。然而灯帮,至關(guān)重要的是崖技,與閃電網(wǎng)絡(luò)支付相關(guān)的安全性可能使閃電網(wǎng)絡(luò)不適合大額支付(或者至少將其用于大額支付可能是不負(fù)責(zé)任的)。目前加密貨幣領(lǐng)域的主要推動力量似乎是投機(jī)和投資钟哥,而這些資金流動需要這些較大額度的支付迎献,相比之下,小額零售支付的體量還相對較小腻贰。正因為如此吁恍,至少在中期內(nèi),閃電網(wǎng)絡(luò)可能并沒有像有些人想象的那么大的作用播演。雖然愛好者似乎很快就會采用這種技術(shù)冀瓦,但其廣泛應(yīng)用可能需要相當(dāng)長的時間。
目前閃電網(wǎng)絡(luò)測試網(wǎng)已經(jīng)上線写烤,雖然也爆出不少問題翼闽,但毫無疑問這是區(qū)塊鏈網(wǎng)絡(luò)擴(kuò)容問題上的一大探索。相信隨著參與者越來越多洲炊,閃電網(wǎng)絡(luò)也會越來越成熟感局。
2. 什么是閃電網(wǎng)絡(luò)?
什么是閃電網(wǎng)絡(luò)呢选浑?在狀態(tài)通道一文中我們提到過蓝厌,閃電網(wǎng)絡(luò)是狀態(tài)通道的典型應(yīng)用。是一個分布式網(wǎng)絡(luò)古徒,通過智能合約功能以支持跨參與者網(wǎng)絡(luò)的即時付款拓提,同時利用區(qū)塊鏈的特性消除將資金托管給第三方帶來的風(fēng)險。主要作為用于即時隧膘、高容量的微支付代态。
閃電網(wǎng)絡(luò)的目的是實現(xiàn)安全地進(jìn)行鏈下交易寺惫,其本質(zhì)上是使用了哈希時間鎖定智能合約來安全地進(jìn)行0確認(rèn)交易的一種機(jī)制,通過設(shè)置巧妙的‘智能合約’蹦疑,完善鏈下通道西雀,使得用戶可以在閃電網(wǎng)絡(luò)上進(jìn)行0確認(rèn)的交易。
核心的概念主要有兩個:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)歉摧。RSMC 保障了兩個人之間的直接交易可以在鏈下完成艇肴,HTLC 保障了任意兩個人之間的轉(zhuǎn)賬都可以通過一條“支付”通道來完成。這兩個類型的交易組合構(gòu)成了閃電網(wǎng)絡(luò)叁温。從而實現(xiàn)任意兩個人都可以在鏈下完成交易再悼。
- RSMC
Recoverable Sequence Maturity Contract,中文可以翻譯為“可撤銷的順序成熟度合同”膝但。其實主要原理很簡單冲九,就是類似準(zhǔn)備金機(jī)制。
我們先假定交易雙方之間存在一個“微支付通道”(資金池)跟束。雙方都預(yù)存一部分資金到“微支付通道”里莺奸,之后每次交易,就對交易后的資金分配方案共同進(jìn)行確認(rèn)冀宴,同時簽字作廢舊的版本灭贷。當(dāng)需要提現(xiàn)時,將最終交易結(jié)果寫到區(qū)塊鏈網(wǎng)絡(luò)中花鹅,被最終確認(rèn)氧腰。可以看到刨肃,只有在提現(xiàn)時候才需要通過區(qū)塊鏈古拴。
任何一個版本的方案都需要經(jīng)過雙方的簽名認(rèn)證才合法。任何一方在任何時候都可以提出提現(xiàn)真友,提現(xiàn)需要提供一個雙方都簽名過的資金分配方案(意味著肯定是某次交易后的結(jié)果)黄痪。在一定時間內(nèi),如果另外一方提出證明表明這個方案其實之前被作廢了(非最新的交易結(jié)果)盔然,則資金罰沒給質(zhì)疑成功方桅打。這就確保了沒人會拿一個舊的交易結(jié)果來提現(xiàn)。
另外愈案,即使雙方都確認(rèn)了某次提現(xiàn)挺尾,首先提出提現(xiàn)一方的資金到賬時間要晚于對方,這就鼓勵大家盡量都在鏈外完成交易站绪。
- HTLC
微支付通道是通過 Hashed Timelock Contract 來實現(xiàn)的遭铺,中文意思是“哈希的帶時鐘的合約”。這個其實就是限時轉(zhuǎn)賬。理解起來其實也很簡單魂挂,通過智能合約甫题,雙方約定轉(zhuǎn)賬方先凍結(jié)一筆錢,并提供一個哈希值涂召,如果在一定時間內(nèi)有人能提出一個字符串坠非,使得它哈希后的值跟已知值匹配(實際上意味著轉(zhuǎn)賬方授權(quán)了接收方來提現(xiàn)),則這筆錢轉(zhuǎn)給接收方果正。
不太恰當(dāng)?shù)睦友茁耄s定一定時間內(nèi),有人知道了某個暗語(可以生成匹配的哈希值)秋泳,就可以拿到這個指定的資金辅肾。
推廣一步,甲想轉(zhuǎn)賬給丙轮锥,丙先發(fā)給甲一個哈希值。甲可以先跟乙簽訂一個合同要尔,如果你在一定時間內(nèi)能告訴我一個暗語舍杜,我就給你多少錢。乙于是跑去跟丙簽訂一個合同赵辕,如果你告訴我那個暗語既绩,我就給你多少錢。丙于是告訴乙暗語还惠,拿到乙的錢饲握,乙又從甲拿到錢。最終達(dá)到結(jié)果是甲轉(zhuǎn)賬給丙蚕键。這樣甲和丙之間似乎構(gòu)成了一條完整的虛擬的“支付通道”救欧。
HTLC 的機(jī)制可以擴(kuò)展到多個人,大家可以想象一下锣光,想象出來了就理解了閃電網(wǎng)絡(luò)笆怠。
閃電網(wǎng)絡(luò)采用了更合理的支付網(wǎng)絡(luò)架構(gòu),代表著效率的提高誊爹。與其向所有人廣播交易蹬刷,交易可以更直接地發(fā)送給收款人。只有當(dāng)交易雙方不誠實時频丘,才需要進(jìn)入繁瑣的流程——鏈上共識操作办成。通過這種方式,可以實現(xiàn)相當(dāng)于互聯(lián)網(wǎng)上各方之間直接溝通所能達(dá)到的性能和效率搂漠,同時保留比特幣區(qū)塊鏈的一些安全特性迂卢。然而,如果各方想在出現(xiàn)問題時可以隨時回歸到區(qū)塊鏈上并收回資金,那么建立這樣一種支付系統(tǒng)是非常復(fù)雜的冷守,并且還存在著一些重大風(fēng)險和局限性刀崖。
3. 閃電網(wǎng)絡(luò)是如何工作的?
閃電網(wǎng)絡(luò)的正常使用包括通過向區(qū)塊鏈網(wǎng)絡(luò)提交正常的資金交易來開通支付通道拍摇,然后進(jìn)行任何數(shù)量的閃電交易亮钦,更新通道內(nèi)資金的臨時分配而不廣播到區(qū)塊鏈,最后關(guān)閉支付通過廣播最終版本的交易來分配通道內(nèi)的資金充活。
閃電網(wǎng)絡(luò)是基于比特幣區(qū)塊鏈構(gòu)建的智能合約系統(tǒng)蜂莉,允許兩方直接進(jìn)行快速,廉價的支付混卵。為了實現(xiàn)這些快速而廉價的交易映穗,采取了以下步驟:
- 設(shè)置一個多重簽名錢包,其中包含一定數(shù)量的比特幣(由雙方中的至少一方提供)
- 錢包地址然后保存到公共比特幣區(qū)塊鏈中幕随,包括資產(chǎn)負(fù)債表(智能合約)蚁滋,證明該比特幣存款的多少屬于誰
- 在此支付通道進(jìn)行一次設(shè)置之后,這兩方就可以進(jìn)行無限次的交易赘淮,而無需觸及存儲在區(qū)塊鏈中的信息
- 對于每次交易辕录,雙方簽署更新的資產(chǎn)負(fù)債表以便始終反映存儲在多信用點錢包中的比特幣的金額屬于誰
- 更新后的資產(chǎn)負(fù)債表不會上傳到區(qū)塊鏈,而是雙方保留其副本梢卸。
- 每當(dāng)發(fā)生爭議或支付通道關(guān)閉時走诞,雙方都可以使用最新的互相簽署的資產(chǎn)負(fù)債表來支付他們在多信用卡錢包中的份額。
這聽起來非常麻煩蛤高,但實際上對于最終用戶來說蚣旱,進(jìn)行閃電支付幾乎不需要燒腦的工作,所有上述操作都將在后臺自動進(jìn)行戴陡。
閃電網(wǎng)絡(luò)使用支付渠道有效地允許用戶直接與對方進(jìn)行交易塞绿,而不是將業(yè)務(wù)廣播到整個世界(又名公共區(qū)塊鏈)。通過彼此跟蹤彼此之間的支付恤批,雙方可以避免與區(qū)塊鏈進(jìn)行昂貴且耗時的交互位隶。如果Lightning Network上的余額存在某種爭議,那么由雙方提供的最近的資產(chǎn)負(fù)債表將決定多sig錢包中資金的分配方式开皿。
閃電網(wǎng)絡(luò)不需要對手方合作退出支付通道涧黄。雙方都可以選擇單方面關(guān)閉通道。因為所有各方都有多個多簽名赋荆。在這個網(wǎng)絡(luò)上有許多用戶之間的通道笋妥,理論上可以通過這個網(wǎng)絡(luò)向任何人發(fā)送付款。
4. 閃電網(wǎng)絡(luò)的主要特點
理論上來說窄潭,閃電網(wǎng)絡(luò)應(yīng)該允許網(wǎng)絡(luò)中的所有參與者通過在節(jié)點之間找到一條路徑春宣,由此能夠在各個方向上進(jìn)行近乎即時且廉價的交易。因此,只要沒有出現(xiàn)問題月帝,就可以避免向比特幣網(wǎng)絡(luò)進(jìn)行廣播躏惋,從而形成可擴(kuò)容網(wǎng)絡(luò)。該體系架構(gòu)甚至允許小微交易并增強(qiáng)了付款隱私性嚷辅。
由于相對時間鎖定功能簿姨,通道可以無限期地保持開放,并且不存在交易對手方風(fēng)險; 如果有人試圖通過惡意地關(guān)閉通道來竊取資金簸搞,交易的其他參與方將有一個很長的時間窗口來發(fā)起他們自己的贖回交易并收回資金扁位。
- 快速支付:在既定通道內(nèi)的支付幾乎可以像數(shù)據(jù)通過互聯(lián)網(wǎng)在兩個節(jié)點之間傳輸一樣快。
- 無需可信第三方:通道中的兩個參與者直接使用常規(guī)的比特幣交易進(jìn)行互相支付(其中只有一個是廣播的)趁俊,因此任何第三方都不能控制其資金域仇。
- 為區(qū)塊鏈減負(fù):只有開啟通道,關(guān)閉通道和爭議性交易需要提交到區(qū)塊鏈上進(jìn)行寺擂,允許閃電網(wǎng)絡(luò)內(nèi)的所有其他交易保持未提交狀態(tài)暇务。這這使得閃電網(wǎng)絡(luò)用戶可以通過比特幣進(jìn)行頻繁支付,而不會使必須處理區(qū)塊鏈上每筆交易的完整節(jié)點承擔(dān)過多的負(fù)擔(dān)怔软。
- 支付通道可以無限期地保持開放:只要頻道中的雙方繼續(xù)彼此合作般卑,頻道可以無限期地保持開放 - 沒有強(qiáng)制超時期限。根據(jù)雙方的意愿爽雄,可以長期保持通道開啟,這可以進(jìn)一步減少區(qū)塊鏈上的負(fù)載沐鼠,同時也可以稀釋最終的費用挚瘟。
- 雙方約定可快速關(guān)閉通道:如果雙方同意,可以立即關(guān)閉支付通道(雙方可能希望等待一個或多個確認(rèn)以確保支付通道在正確的狀態(tài)下關(guān)閉)饲梭。雙方未達(dá)成協(xié)定(如一方消失)也可以關(guān)閉通道乘盖,但需要耗費更長的時間。
- 洋蔥式路由:支付路由信息可以以嵌套的方式加密憔涉,以便中間節(jié)點只知道他們收到了可路由支付的人和下次發(fā)送給誰订框,防止中間節(jié)點知道發(fā)起者或目的地。
- 具有多重簽名功能:每個參與方都可以要求通過多個密鑰對他們的付款進(jìn)行簽名(https://en.bitcoin.it/wiki/Lightning_Network#cite_note-poon_multisig-2)兜叨。
- 跨鏈:如果另一條區(qū)塊鏈支持用于哈希鎖的相同哈希函數(shù)穿扳,以及具備創(chuàng)建時間鎖的能力,支付通道就可以跨多個區(qū)塊鏈(包括側(cè)鏈)進(jìn)行路由国旷。利用異構(gòu)區(qū)塊鏈共識規(guī)則矛物,交叉鏈?zhǔn)皆踊Q可以立即發(fā)生在鏈外。只要鏈可以支持相同的加密散列函數(shù)跪但,就可以跨區(qū)塊鏈進(jìn)行交易履羞,而不需要信任第三方托管商。
- 小額支付是可能的:由于費用與支付金額成比例,您可以支付一分錢; 會計甚至以千分之一的精確度完成忆首。
- 付款即時結(jié)算:資金在通過網(wǎng)絡(luò)到達(dá)目的地和返回所需的時間內(nèi)發(fā)送爱榔,通常為幾分之一秒。
- 改進(jìn)隱私:并非每個交易都存儲在公共區(qū)塊鏈上糙及,只有當(dāng)支付通道最終關(guān)閉并且余額支付給雙方
5. 是否每個交易都需要開設(shè)新的支付通道详幽?
不是的,閃電網(wǎng)絡(luò)(因此它的名字)被構(gòu)建為一個網(wǎng)絡(luò)丁鹉。盡管Alice可能還沒有與Dave建立開放的支付渠道妒潭,但Alice通過Bob間接與Dave連接,或者甚至在兩者之間使用多個步驟揣钦。借助閃電網(wǎng)絡(luò)雳灾,用戶可以與任何通過多跳連接到他們的支付通道網(wǎng)絡(luò)的人進(jìn)行交易。從理論上講冯凹,每個人都可以通過網(wǎng)絡(luò)與其他人連接谎亩。人們也會通過(小)費用來激勵這些連接節(jié)點宇姚,每次交易使用其中一個連接時都會支付這些費用匈庭。閃電網(wǎng)絡(luò)的測試網(wǎng)實施的早期結(jié)果證實,確實可以創(chuàng)建足夠分散的網(wǎng)絡(luò)浑劳。
閃電網(wǎng)絡(luò)的架構(gòu)仍然是值得信賴的(因為它基于智能合約)阱持,并且始終確保資金將通過中介機(jī)構(gòu)到達(dá)目的地,或者在沒有間接路徑到達(dá)目的地的情況下退款魔熏。
Bob和Carol在網(wǎng)絡(luò)上充當(dāng)“節(jié)點”衷咽。閃電網(wǎng)絡(luò)上的節(jié)點在某種程度上與比特幣網(wǎng)絡(luò)上的礦工類似。
6. 閃電網(wǎng)絡(luò)下的安全風(fēng)險
一個巨大的未知因素是人們和企業(yè)如何實際使用這個網(wǎng)絡(luò)蒜绽,評論員們的看法似乎也不盡相同镶骗。有些人認(rèn)為閃電網(wǎng)絡(luò)最終會在小額支付場景中無處不在,其中的復(fù)雜性將以自動化方式處理躲雅。其他人對閃電網(wǎng)絡(luò)持懷疑態(tài)度鼎姊,通常的設(shè)想是在使用該系統(tǒng)時需要更多以手動方式來構(gòu)建閃電網(wǎng)絡(luò)的各個組件,其用戶體驗還會因為通道意外關(guān)閉和閃電網(wǎng)絡(luò)宕機(jī)的困擾而變得糟糕相赁。實際上相寇,真實的情況可能位于這兩種愿景之間,隨著時間的推移钮科,閃電網(wǎng)絡(luò)可能會更加趨近于雄心勃勃地那種愿景裆赵。這種分歧似乎可以歸結(jié)為閃電網(wǎng)絡(luò)的懷疑者認(rèn)為它是一個復(fù)雜,不完整和不切實際的支付系統(tǒng)跺嗽,其完全依賴于通道架構(gòu)系統(tǒng)战授。支持者則將閃電網(wǎng)絡(luò)視為比特幣區(qū)塊鏈上的第二層可擴(kuò)展構(gòu)件页藻,最終將由錢包,支付協(xié)議系統(tǒng)和通道服務(wù)公司進(jìn)行補(bǔ)充植兰,從而帶來簡單而無縫的用戶體驗份帐。最后,錢包可以互相通信楣导,在無需用戶知情或者操心的情況下废境,自動動態(tài)地決定最佳支付方式——鏈上支付或是經(jīng)由閃電網(wǎng)絡(luò)上的最實際的方式。
- 收款時要求必須在線:如上所述筒繁,收款人在收款之前需要簽名回收交易噩凹,以便付款人知道他們可以在發(fā)生惡意通道關(guān)閉或拒絕簽名的情況下回收資金。因此毡咏,要收款就需要一個熱錢包驮宴,這意味著如果發(fā)生安全事故,私鑰可能會暴露呕缭。
- 監(jiān)控通道的需求:閃電網(wǎng)絡(luò)參與者或服務(wù)商可能需要主動監(jiān)控支付通道堵泽。這可能給用戶或服務(wù)商帶來負(fù)擔(dān),并可能降低通道內(nèi)資金相對于存儲在鏈上的比特幣的安全性恢总∮蓿可能會因為未能適當(dāng)監(jiān)控通道或鏈上網(wǎng)絡(luò)的擁堵,導(dǎo)致錯過回收交易截止日期片仿。
- 礦工可以審查通道關(guān)閉的交易:51%的算力可能有能力通過審查通道關(guān)閉的交易來竊取閃電網(wǎng)絡(luò)用戶的資金纹安,在這種情況下礦工是對立方。即使沒有閃電網(wǎng)絡(luò)砂豌,此類攻擊的潛在后果已經(jīng)相當(dāng)具有破壞性厢岂,但閃電網(wǎng)絡(luò)可能會為惡意礦工提供更大的攻擊面。
收款時私鑰暴露到到網(wǎng)絡(luò)上的可能性奸鸯,惡意的關(guān)閉通道的風(fēng)險以及礦工審查通道回收交易的風(fēng)險,雖然這三個因素中單獨的每一個似乎都不是那么重要可帽,但加在一起娄涩,我們認(rèn)為這明顯導(dǎo)致了更低的安全性 - 雖然所有這些風(fēng)險都可以在一定程度上加以管理。
有一種風(fēng)險是映跟,懶惰或信息貧乏的用戶在通道中留存了過量資金蓄拣,并且由于其中一種事故情況而導(dǎo)致資金丟失或被盜。同時還存在的風(fēng)險是由于價格波動努隙,用戶在支付通道中會留存比意圖中更多的資金球恤。
- 匹配失敗:如果其中一個對等方?jīng)]有響應(yīng)荸镊,用戶可能需要等待數(shù)小時才能關(guān)閉付款通道并通過替代路線重新發(fā)送資金
- 沒有離線付款:用戶無法支付不在線的人
- 對于大額付款并不理想:盡管可能存在通過各種支付渠道的路線咽斧,但同行多個錢包中的資金可能不足以轉(zhuǎn)移大額資金
- 集中化:閃電網(wǎng)絡(luò)可能會鼓勵支付中心的集中化(類似于礦工集中)堪置,這也是為什么有人說閃電網(wǎng)絡(luò)實際上會出現(xiàn)類似銀行的超級節(jié)點的原因。
6.閃電網(wǎng)絡(luò)技術(shù)展望
3月16日更新:閃電實驗室剛剛宣布實施閃電網(wǎng)絡(luò)的新主網(wǎng)發(fā)布张惹。
未完待續(xù)舀锨。