當前位置:
首頁 > 新聞 > 我已經用閃電網路賺到比特幣了 你還不快來了解下閃電網路是什麼

我已經用閃電網路賺到比特幣了 你還不快來了解下閃電網路是什麼

比特幣在牢固奠定其作為價值存儲貨幣的地位之後,並沒有忘記它的初心——點對點的電子現金——並呼嘯而至。

2017年的擴容之爭,比特幣選擇的路線是閃電網路,除了重要交易走鏈上(onchain),生活中大多數的小額支付交易全部走鏈下(offchain)。

目前來看,選擇閃電網路似乎是一條正確的道路。因為閃電網路上線比特主網後,確實做到了極低費用的即時支付,正在被越來越多商家採用。

本文分四個部分詳細介紹閃電網路的過去、現在、未來以及詳盡原理。

一、閃電火炬運動;二、閃電網路現狀;三、閃電網路發展歷程;四、閃電網路原理詳解。

一、閃電火炬運動

一場閃電網路打賞接力賽正在Twitter用戶間如火如荼展開。這場病毒般的推廣活動現在被人們稱為閃電火炬運動。正如2016年社交媒體上的冰桶挑戰運動一樣,這引起閃電網路的極大傳播和關注。

2019年1月20日,twitter用戶@hodlnaut發推表示,通過閃電網路打賞應用tippin.me向選中的第一位用戶發送10萬聰(100k satoshis,1 BTC等於1億聰),隨後這位用戶增加1萬聰發給下一位用戶。依此類推,直到最後一位用戶不願再增加1萬聰並把前面所有人累計的比特幣據為己有,遊戲結束。

hodlnaut想看看這一打賞接力運動會到多少聰終止。

有熱心網友為止專門製作了網站實時跟蹤閃電火炬到了哪位twitter用戶手中。據網站信息,截至發稿,目前已經有221個用戶參與傳遞,累計的比特幣已經達到4.41枚BTC。

如果沒有人主動終止遊戲,傳遞的比特幣超過29枚後要想繼續進行這一運動,用戶需要建立自己的閃電網路節點並建立支付通道。因為目前閃電網路最大容量在29枚左右。

目前已經有不少數字貨幣屆名人參與到閃電火炬的傳遞中,包括《Mastering Bitcoin》作者Andreas Antonopoulos,摩根溪創始人Anthony Pompliano、比特幣耶穌Roger Ver、閃電實驗室工程師Joost Jager、幣安創始人趙長鵬、波場創始人孫宇晨、Twitter創始人兼square CEO Jack、BitMEXResearch。

目前閃電火炬發起人hodlnaut已經訂購了一輛特斯拉,推動馬斯克參與此活動。

Tippin.me開發者Sergio Abril表示,2月17日已經發布Tippin.me的google chrome擴展,安裝擴展後,在每個tweet下房會顯示閃電網路打賞按鈕,可以直接給twitter用戶打賞。但需要你首先開通Tippin.me,不然會顯示此用戶不存在。

下圖是有人2月20日給金色財經記者tweet打賞5聰的截圖。

目前閃電火炬只在twitter用戶間展開,而且直接可以用twitter賬號登陸tippin.me並創建閃電網路收單信息(invoice)。Twitter和tippin.me關係緊密,因為Twitter CEO就是Tippin的投資人之一。

二、閃電網路現狀

閃電網路從2018年10月開始急速增長。

據閃電網路瀏覽器1ml數據,截止發稿,閃電網路有6473個節點,共有28783個支付通道,網路通道總容量達到708.34個比特幣。支付通道和網路總容量30天內均達到近30%的增長。

值得注意的是,1ml名字的另一層意思是閃電網路的目標是達到100萬個閃電網路節點,目前僅完成0.6%目標。

據p2sh.info統計,閃電網路通道容量是半年前的8倍多,是一年前的157倍。金色財經估算,按照目前每個月30%的增長速度,10個月後閃電網路容量就能達到10000枚BTC,19個月後閃電網路容量就能達到10萬枚BTC。

2月11日,Twitter和Square CEO Jack Dorsey和閃電實驗室CEO Elizabeth Stark共同參加Stephan Livera podcast,Jack宣稱閃電網路不是整不整合進Square Cash App的問題,而是什麼時候整合的問題。

因為低手續費(甚至無手續費)的小額即時支付特性,閃電網路支付已經集成進體育賽事預測、博彩、知識付費、打賞、代付等各種應用。這些集成的app被稱為Lapp。

某錢包集成的部分Lapp

上圖中有話費充值服務商Bitrefill,打開你會發現Bitrefill支持用閃電網路給中國移動、聯通、電信用戶充值話費。在本文第三部分我們會知道,Bitrefill是最早支持閃電網路的服務商之一。

Y』alls是利用閃電網路支付的付費閱讀網站,支付少量的比特幣可以越過網站付費牆閱讀裡面的文章。

Zigzag是一家交易所,可以在低費用、高速將其他加密貨幣兌換成閃電網路比特幣,或者將閃電網路比特幣兌換成其他加密貨幣。

澳大利亞加密貨幣支付網關livingroomofsatoshi提供用閃電網路支付信用卡、銀行賬單、房租等各項服務。

Satoshi』s place,類似於EOS Pixel Master,人們可以花費一定聰的比特幣佔領圖片中的像素。金色財經記者花費了1890聰在畫布右下角寫上了「金色」二字(下圖紅圈部分)。

爭奪激烈,截止發稿此處像素已被其他用戶覆蓋

賽事預測和體育博彩網站microbet.fun,目前提供足球、橄欖球、籃球和冰球四種運動的賽事預測並提供下注功能。NBA、英超、德甲、西甲、意甲等這些著名運動聯賽都在預測下注名單。

金色財經記者試用幾個Lapp後,發現閃電網路至少真正做到了它宣稱的兩個目標:極低費用和即時支付。費用方面,金色財經記者發起的幾筆支付均沒有費用,額度可以最低低至1聰。支付速度方面確實做到了秒到,支付體驗不輸於Visa、微信支付和阿里巴巴。

目前有若干個閃電網路客戶端,最受歡迎有三個,分別是Lightning Labs的Ind(Lightning Network Daemon,Go實現),ACINQ的eclair(Scala實現)和Blockstream的c-lightning(C實現)。

閃電網路給了用戶/商家極大的自由度。用戶/商家可以親自動手建立自己的閃電網路節點,還可以直接採用第三方節點服務如lightninginabox、Casa Node開箱即可擁有節點,還有開源的第三方支付服務,如你可以利用開源項目lndhub、BTCPayServer架設節點,開發錢包讓用戶用你的節點,每個人都可以自由開設銀行。錢包方面,類似於以太坊的Metamask錢包,閃電網路同樣有谷歌擴展錢包Lightning Joule,還有第三方提供的輕錢包以及ToB的支付服務提供商如OpenNode、閃電網路POS系統NanoPos。

閃電網路是怎麼做到極速支付體驗的呢?比特幣分析師JP Thor研究指出,因為通過layer-2閃電網路支付不需要經過第三方中介,兩點之間的支付可以和TCP/IP連接的速度一樣快,因此閃電網路支付速度會超過Visa。目前閃電網路一個通道現在的處理速度可以超過250TPS,而網路擴展沒有上限。目前Visa的支付峰值是50000tps,平均值在24000 tps左右,比特幣的處理速度僅在7tps。

從而真正做到即時支付,使比特幣白皮書的願景現金支付功能成為現實。

三、閃電網路發展歷程

閃電網路的雛形可以追溯到2009年中本聰發布的第一版比特幣軟體Bitcoin 0.1。Bitcoin 0.1中就包含了一份原始的代碼草案,允許用戶在區塊鏈上廣播確認交易之前更新交易。這或許是支付通道概念原型。中本聰曾經和當時的bitcoinj開發者Mike Hearn私人通信時詳細解釋支付通道將如何工作。

2014年,Alex Akselrod提出雙向支付通道,他現在是Lightning Labs工程師。

2015年閃電網路白皮書發表之前,為解決比特幣延展性漏洞,PeterTodd設計並在比特幣協議中實現了一種新型時間鎖定timelock,CheckLockTimeVerify (CLTV)。

2015年2月,Thaddeus Dryja和Joseph Poon發表閃電網路白皮書——比特幣閃電網路:可擴展的鏈下即時支付。同月,在舊金山的比特幣開發者研討會上他們首次公開詳細闡述他們的想法。

2015年差不多一整年,比特幣社區關注的議題主要是比特幣擴容和區塊大小問題。兩次擴容大會:9月份的蒙特利爾比特幣擴容大會(Scaling Bitcoin Montreal),在12月份的香港比特幣擴容大會(Scaling Bitcoin Hongkong)。

香港擴容大會不久,比特幣核心開發者Gregory Maxwell在Bitcoin-development郵件列中提出比特幣的擴容路線圖,這張路線圖包括了閃電網路。這個路線圖獲得了大多數比特幣技術社區的支持,並成為了Bitcoin Core路線圖。

2015年5月,區塊鏈開發公司Blockstream聘請了linux核心開發者Russell,並希望他用C語言實現閃電網路:C-Lightning。

2016年1月,閃電網路的兩位作者Poon和Dryja,以及ElizabethStark、Olaoluwa 「Laolu」 Osuntokun共同創立了一個全新的公司LightningLabs來開發閃電網路。LightningLabs將用go語言開發lnd。

2016年10月,第三次特幣擴容大會在米蘭召開。會後幾天, ACINQ, Amiko Pay, BitFury, Blockstream, Lightning Labs和Purse這些閃電網路的主要開發者舉行了第一次閃電網路峰會( LightningSummit)。這次會議討論了如何使所有不同的閃電網路實現能相互兼容互操作,並形成閃電網路協議規範BOLT(Basis of Lightning Technology)。BOLT成為閃電網路基礎規範。

閃電網路白皮書的想法與比特幣協議有不兼容的地方,需要對比特幣進行一些協議升級。CLTV時間鎖定要求定期關閉支付通道,而採用相對時間鎖定閃電網路表現會更好。2016年夏天,比特幣網路實施名為CheckSequenceVerify(CSV)的軟分叉升級。

在隔離見證激活之前,基於隔離見證的閃電網路就開始不斷測試。2016年5月,Blockstream第四版隔離見證「SegNet 4」的閃電網路c-lightning測試網上線。當年10月,Blockstream的Christian Decker在測試網上從同事Rusty Russell那裡購買了一張貓的照片,被認為是閃電網路的第一次大突破。

2017年1月,lnd發布阿爾法版本。越來越多開發者開始基於閃電網路開發各種應用,包括桌面、移動錢包,小額知識付費平台,博彩,瀏覽器等等Lapp應用。

2017年8月,隔離見證激活,閃電網路部署在比特幣主網的障礙清除。

2017年11月,首先是Blockstream宣布c-lightning閃電網路測試版上線比特幣主網並完成第一筆交易。然後,Lightning Labs宣布閃電網路第一次在比特幣和萊特幣之間完成跨鏈交易。

2017年12月,Blockstream, Lightning Labs, ACINQ宣布閃電網路的三個實現兼容互操作(Interoperability)。

儘管比特幣主網上的閃電網路還是測試版,用戶早迫不及待拿真正的比特幣來交易了。

2017年12月,閃電網路迎來第一筆交易。閃電網路開發者Alex Bosworth和支付商Bitrefill建立支付通道,並用比特幣支付了自己的電話賬單。

2018年1月,比特幣歷史上的傳奇人物Lazlo Hanyecz宣布他通過閃電網路成功再次購買披薩。Lazlo Hanyecz曾經用1萬個比特幣購買披薩而出名。

2018年3月,閃電實驗室發布ind貝塔版,並得到包括twitter CEO在內的250萬美元種子輪投資。

之後,節點、錢包、支付、應用不斷被開發出來,接入閃電網路的商戶、服務也不斷增加,閃電網路開始爆髮式增長。

四、閃電網路工作原理解讀

這一部分是對閃電網路的硬核理解,主要來自Thaddeus Dryja和Joseph Poon的閃電網路白皮書。

弄懂閃電網路,需要理解幾個概念:1、未花費的交易輸出UTXO(Unspent Transaction Output);2、多重簽名;3、雙向支付通道;4、RSMC——可作廢的按序到期合約(Revocable Sequence Maturity Contract,)5、HTLC——哈希時間鎖定合約(Hashed Timelock Contract)。

1、未花費的交易輸出UTXO

比特幣模型中不是常見的賬號模式,而採取的是未花費的交易輸出UTXO。除了挖礦獎勵沒有輸入只有輸出,比特幣其他所有交易都有相應的輸入和輸出。

UTXO指定了可花費的比特幣數量以及所有者,只有證明你是所有者你才能花費這一地址中的比特幣。而證明你是所有者是通過解鎖一個「鎖定腳本(ScriptPubKey)」來實現的,這段腳本存在「輸出」的一個欄位里。當UTXO 被花費,用作交易的「輸入」時,需要提供一段「解鎖腳本(ScriptSig)」,將「解鎖腳本」和「鎖定腳本」結合在一起運行,驗證成功,UTXO中的比特幣才被允許使用,並生成新的「輸出」。

我們用數字貨幣屆著名的Alice、Bob、Carol轉賬來說明。

假設Alice給Bob轉賬0.5個BTC, 這筆轉賬交易的「輸出」會設定如下「鎖定腳本」:

OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG

這個鎖定腳本的作用是如果不能證明自己是Bob,就不能花這0.5個BTC。

當Bob要把Alice轉給他的錢再轉給Carol,比特幣會先找到從Alice那得來的UTXO,然後創建一個新交易,併產生本次新交易的「輸出」,這個輸出中同樣包含針對Carol的「鎖定腳本」。同時在本次交易的輸入中產生「解鎖腳本」,按 排列。然後廣播該交易進入內存池等待礦工校驗Bob這筆交易是否合法、未花費。

礦工驗證具體做法是取出本次交易「輸入」中的「解鎖腳本,和Alice轉賬給Bob的UTXO中的「鎖定腳本」,拼在一起運行。具體形式如下:

OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG

驗證步驟是這樣的,1、取出壓入棧中;2、 取出壓入棧中,現在處於棧頂;3、 OP_DUP 複製處於棧頂的;4、HASH160指令對進行哈希計算並壓入棧中,現在處於棧頂的是Bob公鑰的哈希值;4、取出並壓入棧中,此處的來自上一筆交易的輸出;5、EQUALVERIFY指令:取出處於棧頂的兩個公鑰哈希,如果相等則繼續,否則驗證失敗;6、CHECKSIG指令:取出 和進行簽名驗證,驗證如果是true,該筆交易合法。

上面的例子中,一個私鑰解鎖相應的UTXO,也叫支付到公鑰哈希交易(P2PKH,Pay To PubKey Hash)。為了資產安全、交易擴展,比特幣還有多重簽名技術,多重簽名需要多個私鑰才能解鎖相應的UTXO。

2、多重簽名技術

用多個私鑰來解鎖相應的UTXO的技術叫多重簽名技術。多重簽名一般形式是M-of-N多重簽名,「鎖定腳本」里一共有N個公鑰(2

多重簽名技術只靠OP_CHECKMULTISIG這一個指令來驗證交易的合法性。該指令讀取M個簽名和N個公鑰以及M和N值,然後按順序使用公鑰分別驗證簽名,成功匹配計數器加一,最終計數器等於M則運行成功。

下面以2-of-3多重簽名為例來說明。

2-of-3情況下的鎖定腳本:

2 3 OP_CHECKMULTISIG

假設只用私鑰1和私鑰3,那麼解鎖腳本是:

0

合成指令則是:

0 2 3 OP_CHECKMULTISIG

運行成功。

但多重簽名中鎖定腳本用到所有的公鑰,數據量太大,會增加交易費用。所以現在多重簽名採用的是支付給「腳本哈希」交易P2SH(Pay to Script Hash),引入一個贖回腳本(RedeemScript)概念,並將N個公鑰信息從鎖定腳本里挪到解鎖腳本中。

新方案中的鎖定腳本變得簡潔:

OP_HASH160 OP_EQUAL

這裡贖回腳本的哈希只有160位,即20個位元組,比之前N個公鑰短很多。

「贖回腳本」的原文:

2 3 OP_CHECKMULTISIG

解鎖腳本則是:

0

合成指令:

0 OP_HASH160 OP_EQUAL

基於棧的特點,該指令先對做哈希運算,然後和比較,如果一樣運行原始腳本:

0 2 3 OP_CHECKMULTISIG

3、雙向支付通道

了解了多重簽名技術,閃電網路的第一步就容易理解了。閃電網路通過支付通道和比特幣網路交互,用戶之間首先建立雙向支付通道,核心把用戶的比特幣轉移到一個多重簽名地址。這在閃電網路白皮書中被稱為Funding Tx.

我們同樣拿Alice和Bob為例。Alice如果每天都會從Bob那裡購買早餐或者咖啡,只需要他們預存一部分錢在一個第三方共同賬號內,每次交易後經雙方同意更新他們之間的賬目分配,他們之間的交易在閃電網路支付通道內點對點展開(也叫承諾交易Commitment Tx),不全網廣播也就是不上鏈,真正做到點對點即時支付。只有在某一方決定停止使用對方服務並關閉支付通道後,在比特幣網路廣播最終的通道狀態,Alice、Bob一致簽名同意、結算上鏈。理論上來說,只要打開支付通道時充值的比特幣數量足夠,通道內的交易次數可以是無數次。

支付通道的本質是Alice和Bob將自己的比特幣轉入一個2-of-2多重簽名地址。

但怎麼防止Alice或者Bob在關閉支付通道時作弊,不把最終狀態在比特幣網路廣播出去?閃電網路採取的是RSMC來保證雙方誠實不作弊,如果關閉支付通道把最新的通道狀態廣播到比特幣網路。

4、RSMC——可撤銷的按序到期合約(Revocable Sequence Maturity Contract)

閃電網路白皮書第19頁是這麼描述RSMC作用的:

如果用戶不廣播最新的通道狀態會受到懲罰,另一方會拿走通道內所有的資金。因為雙方的資金保存在RSMC里,他自己要等1000個區塊確認(註:Timelock)才能拿到資金,而另一方擁有兩個簽名,在他之前拿到通道內全部資金。如果用戶廣播最新通道狀態,就不會有可撤銷交易,在一段時間(1000個區塊確認)之後,交易雙方會拿到屬於他們自己的資金。

我們同樣選擇Alice和Bob各充值0.5個比特幣到多重簽名地址打開支付通道為例來說明,RSMC到底是怎麼來確保人們誠實支付的。

上圖Alice和Bob是鏡像對稱的,研究清楚一個人就夠了。Alice和Bob會分別創建承諾交易(Commitment Tx)C1a和C1b。

承諾交易(Commitment Tx)C1a有兩個輸出,一個是Alice和Bob共同簽名的RSMC地址中的0.5BTC,一個輸出是Bob的0.5BTC(圖中output 1)。

C1a下面會有一個可撤銷交付交易(Revocable Delivery Transaction)RD1a和一個交付交易(Delivery Transcation)D1a。RD1a來動用RSMC中的BTC。因為RSMC是一個多重簽名地址,因此需要Alice和Bob兩者的簽名。RD1a輸出是付給Alice 0.5BTC,但條件是C1a交易被廣播並且經過1000個區塊確認。D1a表示Bob可以隨意消費這0.5BTC,只要C1a被廣播,Bob可以立即廣播D1a拿到0.5BTC。

整個機制最後結果的實質是,如果Alice想終止和Bob的交易,他可以選擇廣播C1a,Bob可以立即得到0.5BTC,而Alice需要經過1000個區塊確認拿到0.5BTC。對Bob是一樣的道理。

再考慮Alice和Bob之間發生交易的情形。比如Alice花費0.1 BTC從Bob那買杯咖啡,現在支付通道內的資金分配需要變成Alice(0.4BTC)和Bob(0.6BTC)。 而這需要做兩步,一是創建新的承諾交易,二是將之前的交易作廢。

創建新承諾交易

下圖中是左邊是即將被作廢的C1a和C1b(為了圖例簡介省略了RSMC和後續交易);中間欄是Alice創建的新交易:C2a,RD2a, D2a;最右欄是Bob創建的新交易:C2b,RD2b,D2b。

C2a和C1a結構相同,從Alice的角度看,只是Alice和Bob共同簽名的RSMC地址中BTC數量是0.4BTC,Bob的是0.6BTC。

Bob也會創建相應的C2b,RD2b和D2b,然後雙方互換承諾交易和RSMC交易完成簽字,至此新交易生效。

舊承諾交易作廢

此時新老交易(C1a/C2a,C1b/C2b)同時存在也同時有效。怎麼廢掉舊承諾交易呢?

閃電網路通過兩個手段來廢掉舊承諾交易C1a和C1b:一是雙方互換私鑰;二是創建「違規補償交易(Breach Remedy Transaction, BR1a/BR1b)」來代替RSMC可撤銷交易(RD1a/RD1b)。

如上圖所示,新的違規補償交易(Breach Remedy Transaction, BR1a)的輸入是多重簽名RSMC中的0.5BTC,輸出則是付給Bob的0.5BTC。

因此,如果Alice違規將舊通道狀態C1a簽名並廣播出去,那麼Funding Tx多重簽名中的資金將被轉到了多重簽名RSMC以及Bob地址中,各0.5 BTC。同時,Bob除了擁有RSMC中那0.5BTC自己部分的私鑰,還收到了Alice的私鑰,於是Bob可以廣播BR1a到全網。而Alice創建的RD1a還需要再等1000個區塊確認才能生效。這樣,Bob就拿到了支付通道中的全部資金。

多重簽名的RSMC一是先關閉支付通道的人延遲獲得資金,二是可以提供經濟激勵作廢舊交易不去作弊,因為將舊交易的通道狀態廣播出去會有懲罰,支付通道里的比特幣會全歸對方所有。

通過這種機制確保Alice不會去廣播C1a,C1a自然作廢。

支付通道內的後續新承諾交易D、E、F……同樣按上面流程處理,確保Alice和Bob在想關閉支付通道時總是按照最新的通道狀態廣播。

上面討論的是Alice和Bob兩個節點的支付流程,還不能成其為閃電網路。如果兩個節點之間沒有直接的支付通道,他們能通過其他節點間接連在一起,組成閃電網路,它們之間的支付稱為多跳支付(Multihop payments)。

閃電網路可以通過HTLC——哈希時間鎖定合約(Hashed Timelock Contract)使得節點之間完成多跳支付。

5、HTLC——哈希時間鎖定合約(Hashed Timelock Contract)

如果Alice想支付給Dave 0.1個BTC,但它們之間沒有直接支付通道怎麼辦?Dave會產生一個隨機數R作為秘密(secret),然後把R的哈希值發給Alice。Alice會告訴Bob:如果你在三天之內告訴我H的原像(preimage)我就支付給你0.1個BTC。Bob同理告訴Carol:如果你在兩天之內告訴我H的原像(preimage)我就支付給你0.1個BTC。Carol可以告訴Dave同樣的話,只是時間變成一天之內。而Dave的確知道R。

還記得上文有人通過tippin.me給金色記者打賞的案例嗎?在準備本文的一開始,金色財經記者就用閃電網路錢包體驗了一下閃電網路支付,給自己的tippin.me轉了1000聰。其實在這一過程中就發生有多跳支付。金色財經記者的錢包是通過Indhub跳轉到tippin.me的。

上面是多跳支付的整體圖景,再來看看Alice和Bob之間的具體交易。在多跳支付中,Alice和Bob之間雖然利用它們之間已經建立的支付通道,但他們之間的交易和直接交易不一樣,引入了HTLC——哈希時間鎖定合約(Hashed Timelock Contract)

還是以Alice支付給Bob 0.1個BTC為例來說明,這種情況下的承諾交易如下:

C2a的輸出變成三個,增加一個多重簽名HTLC,其中有0.1BTC。

HTLC地址中的0.1BTC可能按兩種路徑執行:HTLC執行交付交易HED1a(HTLC Execution Delivery Transaction HED1a)和HTLC超時交易HT1a(HTLC Timeout Transaction HT1a)。

如果Bob按時將自己得到的原像R的哈希值交給Alice,則Alice使用該哈希值創建HED1a,並簽名交給Bob,此時Bob可以用R隨時「解鎖」該交易,完成0.1BTC轉賬。

如果Bob沒有在規定的時間內將原像R的哈希值交給Alice,三天後Alice可以廣播該HT1a觸發0.1BTC的退款,退到了一個新的多重簽名RSCM地址。

HT1a下面還有一個HTLC超時可撤銷交付交易HTRD1a(HTLC Timeout Revocable Delivery Transaction HTRD1a),這個交易的目的是從HT1a產生的新的多重簽名RSCM拿回屬於Alice的0.1BTC。如果HT1a的狀態被廣播,經1000個區塊確認後,Alice可以對HTRD1a簽名、廣播獲得退款。

如果發生新的多跳支付,怎麼廢掉C2a/C2b中的HTLC呢?同樣是靠互換私鑰和創建違規補償交易HTLC:違規補償交易HBR1a(HTLC Breach Remedy Transaction HBR1a)和HTLC超時違規補償交易HTBR1a(HTLC Timeout Breach Remedy Transaction HTBR1a)。

因為Bob知道多重簽名HTLC中的Alice的秘鑰,如果Alice將C2a廣播出去,會執行HBR1a交易,C2a輸出HTLC的0.1BTC將為Bob所有。但如果Bob沒有去HBR1a領取罰金,Alice還是沒有機會三天後通過廣播HTRD1a拿到這0.1BTC,因為Alice廣播HTRD1a後需要等待1000區塊確認,而Bob可以立刻通過HTBR1a解鎖HTRD1a中的的0.1BTC。

這樣,我們就迎來了多跳支付間的支付通道利用RSMC和HTLC確保它們在關閉通道時廣播最新通道狀態的終極形態。

通過上面閃電網路的詳解解讀,閃電網路的實質是通過支付通道把節點鏈接成網路,然後支付通道內利用RSMC、HTLC等機制設計和技術手段規避交易對手的道德風險,從而做到無需信任對方和第三方的點對點支付,因為無需上鏈,支付速度瓶頸就在於網速限制,所以可以做到即時支付。

根據閃電網路的特點,比如支付通道、多跳支付等,儘管閃電網路現在基本做到了極低費用下的即時支付用戶體驗,但也存在一些問題,如支付通道的中心化、流動性、收款人在線、路由等。

結語

回過頭來看比特幣和閃電網路的發展,也許比特幣同時作為價值存儲貨幣和支付貨幣並不衝突。比特幣作為清算網路,閃電網路作為支付網路。

支付功能的廣泛使用反而會增加比特幣清算網路的交易量,增加比特幣網路的手續費,反而更加增加比特幣網路安全性和去中心化性。正反饋互相成就。

剩下唯一的問題是價格波動大的問題。閃電網路支付以聰為單位來計價,如果比特幣價格足夠高,那麼其波動性可能會很低,足以成為日常支付工具。

比特幣投資者Tim Draper近日表示,兩年後世界將會用比特幣購買咖啡,到2023年咖啡師會嘲笑那些試圖用法定貨幣購買咖啡的人。

也許有一天,這會成真。

參考資料:

The History of Lightning: From Brainstorm to Beta

The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments

An analysis of on-chain Lightning Network transactions in the Bitcoin blockchain

Understanding the Lightning Network (3 parts)


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 金色財經 的精彩文章:

以太坊5年來技術發展的得與失
評論員:幣安有最好的機會成為第一個被廣泛應用的DEX

TAG:金色財經 |