就在幾周之前,第一次閃電網(wǎng)絡落地Ind,并在全國范圍內(nèi)進行公測,第二次落地eclair在上周啟動,同時很快也要啟動第三次c-lightning落地。因此,人們對閃電網(wǎng)絡這種覆蓋比特幣的網(wǎng)絡已經(jīng)期待已久,并且使用它進行交易費用低、速度快,許多開發(fā)商也認為他的安全性足以在比特幣的主網(wǎng)上使用:這是該技術(shù)上的重要突破。
最初的概念
閃電網(wǎng)絡最早的起源可以追溯到比特幣本身。
閃電之謎的第一部分是一個叫做“支付通道”的概念。“支付渠道本質(zhì)上是兩個比特幣用戶之間的比特幣余額平衡,只有兩個用戶:其他人不需要知道也不需要關(guān)系他們之間的相互平衡?!敝匾氖?,這些余額不用在線交易也能更新;當一個用戶的余額增加時,另一個用戶的余額就會相應減少。也就是說,允許比特幣的擁有者私下交易,這樣一來不會因為他們的交易使整個網(wǎng)絡產(chǎn)生負擔。
一旦用戶完成交易,他們可以通過僅向網(wǎng)絡發(fā)送一筆交易來結(jié)算他們的付款渠道:該交易根據(jù)他們的渠道余額支付他們應該收到的每項交易。為了這些用戶的利益,這也應該意味著渠道更新(“離線交易”)更便宜,因為它們不需要采礦費用,而且速度更快,因為它們不需要區(qū)塊鏈確認。這個總體思路可以說和2009年中本聰最早發(fā)布的比特幣一樣古老。比特幣0.1中的一份原始的碼草案允許用戶在確認交易之前更新交易:
包含在比特幣中的支付渠道代碼草稿0.1。
雖然這個代碼是一個粗略的草案,但中本聰(Satoshi Nakamoto)更詳細地介紹了支付渠道如何與當時的bitcoinj開發(fā)人員Mike Hearn進行私密交流。
幾年后,2013年,Hearn在比特幣發(fā)展郵件列表中發(fā)布了中本聰對支付渠道的解釋:
邁克赫恩描述了中本聰對付款渠道如何運作的解釋。
最初的付款渠道
盡管比特幣的本身一直就有支付渠道的概念,但中本聰?shù)脑O計并不完全安全。最重要的是,支付渠道中的用戶可能會與礦工勾結(jié),借機獲取更多的比特幣。
2011年夏天有人首次提出了解決這個問題的辦法時,,中本聰已經(jīng)離開了比特幣這個項目。 Bitcointalk論壇用戶“hashcoin”提出了一個雙層支付渠道,該渠道要求用戶交換幾個部分簽名的多重簽名進行交易,并且提出時間間隔相互依賴才是有效的。如果交易雙方一方有人沒有支付,另一方在一段時間后可以要求去支付渠道中的所有資金。然而,這種設計的缺點是hashcoin的渠道只能朝著一個方向發(fā)展。比如:我可以支付任意次數(shù)給你,但你無法通過同一頻道支付給我。
2013年初有人重新提出了和hashcoin的想法差不多的想法,這一次它逃脫了理論領(lǐng)域。當年4月,Jeremy Spilman在比特幣開發(fā)郵件列表中描述了一種支付渠道概念。他甚至編寫了一個概念證明。反過來,這個設計是由Mike Hearn調(diào)整的,之后比特幣核心貢獻者Blockstream聯(lián)合創(chuàng)始人和Chaincode Labs開發(fā)人員Matt Corallo在2013年中之前將該概念轉(zhuǎn)化為bitcoinj的工作代碼。
2014年,Alex Akselrod(現(xiàn)在是Lightning Labs的一名工程師)率先提出了雙向付費渠道。我可以支付任意次數(shù)給你,而使用遞減的時間段,你也可以在同一頻道內(nèi)支付給我,只不過有限制次數(shù)。然而,與單向支付渠道不同的是,該解決方案從未在代碼中實際實施過。
第一個網(wǎng)絡支付概念
大約在第一個支付渠道被提出的同時,包括比特幣核心開發(fā)者Peter Todd和Gavin Andresen -在內(nèi)的其他人也已經(jīng)在考慮非連鎖的支付網(wǎng)絡。 如果我可以通過非連鎖交易向你支付費用,并且你可以通過非連鎖交易支付給他,那么我應該也能夠通過你支付給他,而不需進其他的鏈式交易。
CornéPlooy(目前是荷蘭比特幣交易所BL3P的閃電開發(fā)人員)也一直致力于比特幣的支付層,他在2011年首次提出這是一個粗略的想法。
Plooy的支付層設計的早期例證,將演變成閃電網(wǎng)絡前身Amiko Pay。
隨著比特幣核心開發(fā)人員和未來Blockstream的 CTO Gregory Maxwell以及Ripple發(fā)明人Ryan Fugger(等等)的加入,這一想法逐漸演化為比特幣與原始Ripple技術(shù)的合并,所以Plooy系統(tǒng)便改稱為“Amiko Pay ”Amiko Pay早期的草稿并未使用支付渠道,因此重新對對系統(tǒng)添加了信任機制,但是:如果一個用戶拒絕與另一個用戶達進行交易,后者也無權(quán)追償。
在2012年夏季,數(shù)學家、后來的emBassy TLV聯(lián)合創(chuàng)始人梅尼羅森菲爾德提出利用支付渠道的早期支付網(wǎng)絡的提案。在Bitcointalk論壇上,羅森菲爾德描述了一個系統(tǒng),提出第三方系統(tǒng)作為支付處理器,大家都是客戶。支付處理器又可以與其他支付處理器以及更多客戶建立渠道,將支付渠道網(wǎng)絡轉(zhuǎn)變?yōu)?a target="_blank">中心輻射式系統(tǒng)。
這樣的系統(tǒng)確實在支付方面增加了一些可信任性,人們可以拒絕付款并且保留余額,大家一致認為這種付款系統(tǒng)的風險很小,但是只有客戶在支付前啟動這個程序才會生效。此外,較大的付款可以分割成較小的量來依次進行,這樣如果一個付款處理器用不了,也只有一小部分余額會丟失。
這種解決方案多年來一再出現(xiàn)。例如,Bitcoin Core的貢獻者Peter Todd在2014年將該概念發(fā)布到比特幣開發(fā)郵件列表。支付處理器BitPay同時在2015年初發(fā)布了類似渠道間支付(“Impulse”)的白皮書。像這樣實際上將由瑞典初創(chuàng)公司Strawpay在幾乎同一時間稱為Stroem(或Str?m),但這些迭代都沒有以有意義的方式起飛。
現(xiàn)已解散的Strawpay微支付的LOGO。
亞歷克斯·阿克塞羅德(Alex Akselrod)在建立可靠的支付渠道網(wǎng)絡方面做出的嘗試較早。他在2013年的維基草稿中首次描述,將在整個2014年作為一個概念驗證實施,Akselrod的解決方案在理論層面上大大解決了這個問題。主要問題在于它在實踐中仍然相當笨拙。例如,如果付款在交易路線的任何地方失敗,則用戶將無法追索,而是等待資金通過付款渠道時間鎖定釋放,這可能需要數(shù)月。
與此同時,到2015年,Plooy的Amiko Pay已經(jīng)發(fā)展到可以無可信任的地步。然而,他的設計需要對比特幣協(xié)議做出相對深遠的改變,以至于需要回滾某些類型的交易。雖然在技術(shù)上可行,但是否會采用比特幣協(xié)議的這種改變并不明顯。
同年晚些時候,來自蘇黎世技術(shù)大學(蘇黎世聯(lián)邦理工學院),Christian Decker博士(現(xiàn)在位于Blockstream)和Roger Wattenhofer的研究人員在他們的白皮書“用比特幣雙面打印的快速和可擴展支付網(wǎng)絡”中提出了另一種覆蓋網(wǎng)絡設計微支付渠道“。他們的解決方案強烈依靠時間鎖定作為支付渠道有效性的一種”倒數(shù)計時器“,與過期渠道余額的稱為”無效樹“的加密技巧結(jié)合使用。
Akselrod的解決方案,Amiko Pay的后期草案以及Duplex Micropayment Channels(DMC)在某些方面與Lightning Network類似,并且可以通過做出不同的權(quán)衡來自行實施。如果閃電網(wǎng)絡沒有被發(fā)明出來,那么這些解決方案中的任何一個都可能成為比特幣去比例層的基礎(chǔ)。
但是,當然,閃電網(wǎng)絡是被發(fā)明出來。
閃電網(wǎng)絡
經(jīng)過多年的支付渠道和網(wǎng)絡設計的發(fā)展,所有這些難題終于在2015年初落下帷幕。
Thaddeus“Tadge”Dryja - 智能合約交易平臺Mirror的首席技術(shù)官 - Joseph Poon撰寫了一篇題為“比特幣閃電網(wǎng)絡:可擴展的外鏈即時付款”的白皮書,該文件于當年2月首次發(fā)布。
它被證明是一個改變游戲規(guī)則的游戲。
正如本文提到的那樣,閃電網(wǎng)絡白皮書提出了幾種解決方案來完全無信任地實現(xiàn)支付渠道網(wǎng)絡:沒有參與者可以作弊而不冒險投入他們渠道中的所有資金,而中間商轉(zhuǎn)發(fā)交易將無法甚至偷一點它。此外,該解決方案對比特幣協(xié)議只需要相對較少的更改,并且承諾比迄今提出的替代方案更靈活和更方便用戶。
白皮書中描述的關(guān)鍵創(chuàng)新是“Poon-Dryja渠道”。像早期的付款渠道設計一樣,Poon-Dryja渠道依賴部分簽署和非廣播交易的交換。但與以前的支付渠道相比,這些新渠道采取了額外的步驟,涉及密匙的交換,這允許支付渠道在“方向”上更新。我可以向你支付任意次數(shù),并且你也可以向我付費同樣任意次數(shù)。
此外,閃電網(wǎng)絡利用哈希時間片合同(HTLC)。這一概念通常歸于Tier Nolan,最初設計用于跨區(qū)塊鏈交易;例如,可靠地交換比特幣和萊特幣。在閃電網(wǎng)絡中,該解決方案被用于跨支付渠道進行支付。
Poon和Dryja于2015年2月在舊金山比特幣開發(fā)者研討會上公布了他們的想法:
在此后的幾個月里,也就是2015年的春季和夏季,比特幣的縮放問題和塊尺寸限制爭議變成了公眾的爭執(zhí)。在這場危機的氛圍中,當年年底舉辦了一系列會議:9月的蒙特利爾比特幣會議和12月的香港比特幣會議。 在蒙特利爾,Poon和Dryja再次提出了他們的建議,然后Poon和Dryja在香港進行了第二次更深入的介紹。
在本次第二屆香港會議之后,Gregory Maxwell在比特幣發(fā)展郵件列表中提出了一個擴展路線圖。 這個路線圖突出地包括了閃電網(wǎng)絡。 它得到了大多數(shù)比特幣技術(shù)社區(qū)的支持,并成為比特幣核心項目事實上的路線圖。
如果對閃電網(wǎng)絡的預期還不夠大,那肯定是現(xiàn)在。
概念實現(xiàn)
閃電網(wǎng)絡白皮書不僅長而且十分復雜,涵蓋高度技術(shù)性的概念;在2015年,很少有人有時間和技能來閱讀和理解它。但是當長期的Linux內(nèi)核開發(fā)人員Rusty Russell了解白皮書時,基本上就增大了理解程度。在2015年初發(fā)布的一系列博客文章中,羅素“提出了一個更普遍(但技術(shù)含量還是非常高)的觀點。
然后,2015年5月,Russell被區(qū)塊鏈開發(fā)公司Blockstream聘用,開發(fā)C語言編程語言Lightning的實際實現(xiàn):c-lightning。實施這一重大舉措證明是關(guān)鍵。一個僅在幾個月前才提出的概念現(xiàn)在正在由世界級開發(fā)人員實現(xiàn)。 Russell后來在Blockstream的Christian Decker加入,而包括CornéPlooy在內(nèi)的其他開發(fā)人員將在未來幾年為開源項目貢獻力量。
在Russell開始研究c-lightning之后不久,Blockstream不再是實現(xiàn)Lightning實施的唯一公司。到2015年夏季,原本計劃開發(fā)基于智能卡的硬件錢包的小型比特幣技術(shù)公司ACINQ決定嘗試使用前景看好的技術(shù)。這家位于巴黎的創(chuàng)業(yè)公司后來宣布,它已經(jīng)開發(fā)了自己的Scala編程語言的Lightning協(xié)議實現(xiàn),命名為eclair。
ACINQ發(fā)布的eclair公告。
在接下來的幾個月里,第三個實施正在進行中。截至2016年1月,閃電網(wǎng)絡的白皮書作者Poon和Dryja與Elizabeth Stark和Olaoluwa“Laolu”O(jiān)suntokun一起成立了一家全新的公司來開發(fā)Lightning:Lightning Labs。 Lightning Labs將帶頭開發(fā)Linux,這是Google Go編程語言(也稱為“golang”)的Lightning實現(xiàn),他們在成立公司之前就已經(jīng)開始開發(fā)了。
在公司成立大約一年后,Dryja在2016年末離開Lightning Labs,轉(zhuǎn)而加入麻省理工學院媒體實驗室的數(shù)字貨幣計劃,該計劃是雇用比特幣核心首席開發(fā)人員Wladimir van der Laan和其他幾個比特幣核心貢獻者的組織。在麻省理工學院,Dryja繼續(xù)研究他在Lightning Labs啟動的閃電實施,他重新點燃了閃電;Ind和Lit都存在。 Lit通過成為一個錢包和一個節(jié)點來區(qū)別于lnd和其他實現(xiàn);今天,它還通過配置選項同時支持多個硬幣。
此外,區(qū)塊鏈公司Bitfury以其采礦池和采礦硬件而聞名,并將該實施分為另一版本的軟件。這個分支的獨特之處在于它在設計中進行了權(quán)衡,以免在比特幣網(wǎng)絡上進行延期修復 - 稍后再做更多介紹。 Bitfury在交易路由領(lǐng)域也做出了貢獻,最顯著的是以一種名為“Flare”的協(xié)議的形式。(然而,現(xiàn)在Bitfury fork的發(fā)展似乎暫時停滯了)。
此外,2016年,主要錢包供應商Blockchain宣布開發(fā)了閃電網(wǎng)絡的簡化版本,名為雷霆。與典型的Lightning版本相比,這個版本做了相對較大的改變,最顯著的一點是它需要信任網(wǎng)絡交易對手。通過做出這種改變,它早在2016年春季就能夠推出alpha版本的實施版本,早在任何其他開發(fā)團隊之前。 (雖然雷霆也可能在未來與閃電網(wǎng)絡兼容,但目前這一項計劃還沒有取得說明進展。)
在2016年末舉辦的第三屆大比特幣米蘭大比拼之后的幾天中,大多數(shù)參加閃電版本測試的參與者聚集在一起,被稱為第一次閃電峰會。在這里,他們討論了如何使所有不同的實現(xiàn)互操作,從而導致閃電網(wǎng)絡協(xié)議規(guī)范被稱為“BOLT”(閃電技術(shù)基礎(chǔ)的首字母縮略詞)。在閃電網(wǎng)絡白皮書是一個理論建議的地方,BOLT成為了我們今天所了解的實際閃電網(wǎng)絡的基礎(chǔ)。
協(xié)議變更
當閃電網(wǎng)絡白皮書首次發(fā)布時,所描述的想法實際上與比特幣協(xié)議不兼容 - 至少不安全。為了按照描述啟用閃電網(wǎng)絡,比特幣需要多次協(xié)議更改。
其中第一個是可以使付款渠道抵御比特幣可塑性錯誤的新時間段。然而,即使在閃電網(wǎng)絡白皮書出版之前,這個問題已經(jīng)得到解決,并且在2015年得到了最終解決,當時在比特幣協(xié)議中實現(xiàn)了Peter Todd設計和提出的一種新型時間段:CheckLockTimeVerify (CLTV)。
后來,比特幣核心開發(fā)人員意識到,閃電網(wǎng)絡在相對時間段內(nèi)會更好地發(fā)揮作用。這些允許用戶在確認另一筆交易后將比特幣鎖定在特定時間點。在Lightning環(huán)境中,用戶可以無限期地開通付款渠道,而CLTV時間限制則需要他們定期關(guān)閉渠道。到2016年夏季,在比特幣網(wǎng)絡上啟動了稱為CheckSequenceVerify(CSV)的軟叉升級以實現(xiàn)相對時間段。
但閃電網(wǎng)絡所要求的最大協(xié)議變更(至少假設體面的用戶體驗)是對任何比特幣交易的延展性修復。
在閃電網(wǎng)絡白皮書出版時,可塑性被認為是一個巨大的挑戰(zhàn)。雖然當時正在進行修正軟叉的草案,但開發(fā)人員并不確定這是否可行,并認為它可能需要一個硬分叉。然后,到2015年底,比特幣核心貢獻者意識到,作為Blockstream元素項目一部分的可塑性修復程序的隔離見證(SegWit)可以作為向后兼容的軟分叉部署在比特幣上。
經(jīng)過漫長的斗爭之后,隔離見證軟叉終于在2017年夏天激活,為比特幣閃電網(wǎng)絡鋪平了道路。
Alpha階段
盡管隔離見證者尚未被部署在比特幣協(xié)議上(但它并不完全肯定它會這樣做),閃電網(wǎng)絡的開發(fā)工作正在順利進行。
這是在testnet上開始的,比特幣是專門為測試目的而設計的?;蛘吒鼫蚀_地說,在這種情況下,閃電網(wǎng)絡啟動了一個專用版本的測試網(wǎng),名為“SegNet 4”(這是第四個SegWit專用測試網(wǎng)),于2016年5月發(fā)布。
部署SegNet 4后不到六個月,2016年10月,Blockstream開發(fā)團隊已將其C型閃電原型推向可用范圍。在被稱為“Lightning First Strike”中,Decker在Lightning Network的早期版本中使用testnet比特幣從Russell“購買”了一張貓照片。
這只貓的照片是克里斯蒂安·德克爾從Rusty Russell那里買的。
到2017年1月,第一個Lightning落地——lnd ,以alpha版本發(fā)布。因此,閃電網(wǎng)絡本身已經(jīng)“正式”進入了“alpha階段”:來自全球的開發(fā)者首次受邀嘗試該技術(shù),而Lightning Labs將繼續(xù)幫助測試和改進代碼。
這個alpha階段反過來導致越來越多的開發(fā)人員在lnd和其他Lightning實現(xiàn)之上構(gòu)建應用程序。這些“Lapps”,比如桌面和移動錢包,小額支付博客平臺,賭博網(wǎng)站,探索者等等,盡管在大多數(shù)情況下仍然是為比特幣測試網(wǎng)設計的。
在2017年夏天,隔離見證終于激活了,閃電比特幣網(wǎng)絡的基礎(chǔ)工作已經(jīng)完成。從那時起,Blockstream花了大約三個月的時間宣布它在比特幣主網(wǎng)上的第一筆交易。過了一會兒,在11月,Lightning Labs首次跨區(qū)塊鏈進行Lightning交易:從比特幣到萊特幣。而在去年12月,來自Blockstream,Lightning Labs和ACINQ的開發(fā)團隊宣布他們已經(jīng)進行了成功的互操作性測試。
而且,到今年年底,其他人開始真正在比特幣的主網(wǎng)上使用閃電網(wǎng)絡 - 在某些情況下,甚至與開發(fā)者的建議相抵觸。越來越多的閃電頻道已經(jīng)開放,到了12月,開發(fā)商Alex Bosworth通過他與付費處理器Bitrefill建立的Lightning頻道支付了他的電話賬單:這是在閃電網(wǎng)絡上首次實現(xiàn)的第一筆真錢購買交易。
一個月后,盡管c-lightning落地仍處于測試階段,Blockstream 宣布他們開了一家網(wǎng)上商店,可以用實際的比特幣購買真品。該超市對比特幣交易所涉風險有明確警告。2018年2月,比特幣的傳奇人物拉扎洛·漢耶茲(Lazlo Hanyecz)宣布,他會通過閃電網(wǎng)絡購買披薩。
拉扎洛·漢耶茲(Lazlo Hanyecz)和他喜歡的披薩。
經(jīng)過多年的發(fā)展,甚至更多年的概念化,可喜的是,就在幾個星期前終于取得了里程碑式的進展。
2018年3月中旬,Lightning Labs的lnd以測試版落地。該公司同時以250萬美元的種子投資輪回宣布,其中包括Twitter首席執(zhí)行官杰克多爾西等大型投資者,Lightning實驗室認為Lightning落地已經(jīng)率先準備在比特幣的主網(wǎng)上使用 ,主要面向技術(shù)用戶。
隨后在3月28日發(fā)布了ACINQ的推文,宣布eclair也已發(fā)布測試版,因此也被視為可以使用主網(wǎng)。該創(chuàng)業(yè)公司補充說,他們的Android閃電錢包將在下周發(fā)布。 (在本文發(fā)表時,即本周。)
Blockstream的c-lightning實現(xiàn)尚未發(fā)布測試版,盡管其開發(fā)團隊向比特幣雜志表示,這也可能很快出現(xiàn)。然而,區(qū)塊鏈開發(fā)公司在增加名單的同時,在3月的最后一周推出了7款全新的Lapps,突出了該公司在閃電戰(zhàn)方面的進展。
盡管人們已經(jīng)在使用Lightning軟件,但測試版階段只會進一步刺激這一增長。在本文發(fā)表時,超過1000個Lightning節(jié)點已經(jīng)開放了近5,000個支付渠道,總共持有10比特幣(撰寫本文時約為70,000美元)。每天都會有數(shù)百個新節(jié)點上線,甚至還有一個特定于萊特幣的閃電網(wǎng)絡正在形成,未來可能會與比特幣進行互操作。
閃電網(wǎng)絡發(fā)布時的圖表
然而,即使有了這些進展,閃電網(wǎng)絡仍處于早期階段。閃電網(wǎng)絡的大多數(shù)用戶仍然是技術(shù)人員(通常是開發(fā)人員),而用例大多是實驗性的。盡管測試版軟件是主要的里程碑,但網(wǎng)絡的開發(fā)和改進仍是一個持續(xù)的過程,還有很多工作要做,而有關(guān)路由、隱私和其他風險的問題依然存在。很有可能只有進一步的采用用戶反饋才能做出改進。
作者提醒:在寫本文之前,我意識到閃電網(wǎng)絡的全部(前)歷史比我已經(jīng)知道的更廣泛。如果單獨來寫閃電網(wǎng)絡,那么這對那些曾經(jīng)在這項技術(shù)上提供過幫助的技術(shù)人員是不公平的。本文試圖概述這么個故事,但是本文只能作為一個粗略的總結(jié),內(nèi)容或許不是那么詳盡,還是要感謝所有提供信息和意見的人,以至于作者能夠?qū)㈤W電網(wǎng)絡的歷史做一個大概的描述。
評論
查看更多