春節薦讀丨我已用閃電網絡賺到了比特幣 你不想了解下嗎?

2021-01-17 金色財經區塊鏈

導讀

今天是大年初九,延長假期的最後一天。在明天正式開工之日,或許很多小夥伴由於新型肺炎疫情的原因無法抵達工作崗位,或是選擇在家辦公,無論何種情況金色財經都祝願大家身體健康,萬事如意,並希望在大家力所能及的範圍內,支持新型肺炎疫情的防控。

農曆新年期間,金色財經將每日推薦精選文章,以饗讀者。今日推薦的是關於閃電網絡的文章,歡迎閱讀。

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

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

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

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

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

一、閃電火炬運動

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

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

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

有熱心網友為此專門製作了網站實時跟蹤閃電火炬到了哪位twitter用戶手中。據網站信息,截至發稿,目前已經有215個用戶參與傳遞,最近一個人需要發送315萬聰比特幣。目前累計發送的比特幣已經達到4.56枚BTC。

如果沒有人主動終止遊戲,傳遞的比特幣超過0.168枚後就會自動結束火炬傳遞。因為目前閃電網絡支付通道最大容量被設定在0.168枚比特幣左右。目前開發者正在開發提升支付通道容量。

已經有不少數字貨幣屆名人參與到閃電火炬的傳遞中,包括《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 <Bob公鑰哈希值> OP_EQUALVERIFY OP_CHECKSIG

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

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

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

<Bob籤名> <Bob公鑰> OP_DUP OP_HASH160 <Bob公鑰哈希值> OP_EQUALVERIFY OP_CHECKSIG

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

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

2、多重籤名技術

用多個私鑰來解鎖相應的UTXO的技術叫多重籤名技術。多重籤名一般形式是M-of-N多重籤名,「鎖定腳本」裡一共有N個公鑰(2<N≤15),最少需要M個私鑰生成的數字籤名才可以解鎖UTXO。

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

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

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

2 <公鑰1> <公鑰2> <公鑰3> 3 OP_CHECKMULTISIG

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

0 <籤名1> <籤名3>

合成指令則是:

0 <籤名1> <籤名3> 2 <公鑰1> <公鑰2> <公鑰3> 3 OP_CHECKMULTISIG

運行成功。

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

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

OP_HASH160 <贖回腳本的哈希> OP_EQUAL

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

「贖回腳本」的原文:

2 <公鑰1> <公鑰2> <公鑰3> 3 OP_CHECKMULTISIG

解鎖腳本則是:

0 <籤名1><籤名2 ><贖回腳本>

合成指令:

0 <籤名1><籤名2 ><贖回腳本> OP_HASH160 <贖回腳本的哈希> OP_EQUAL

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

0 <籤名1> <籤名3> 2 <公鑰1> <公鑰2> <公鑰3> 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)

責任編輯:秦普嶽 /

相關焦點

  • 火幣研究院:閃電網絡有望成比特幣生態重要基礎服務
    火幣研究院高級研究員趙文琦表示,「閃電網絡有望成為比特幣生態中重要的基礎服務之一,但不會是唯一。」 她介紹,對於閃電網絡的未來發展和改進方向報告也進行了探討和建議。比特幣擴展性問題日趨嚴重就技術角度而言,閃電網絡是比特幣二層鏈下的擴展性技術,由微支付通道演化而來,其核心技術包括RSMC(Revocable Sequence Maturity Contract,序列到期可撤銷合約)和HTLC(Hashed Time Lock Contract,哈希時間鎖定合約)。
  • 比特幣如何擴容?讀懂比特幣鏈下擴容技術進展與投資現狀
    這些方案包括比特幣的閃電網絡(Lightning Network)、以太坊的 Raiden,後者或可稱為真正的 L2 方案,還有像比特幣的 RSK 和以太坊的 Plasma Chains 這樣的側鏈方案。2018 到 2019 年間,圍繞 L2 開發有很多積極的動作。比特幣方面,閃電網絡(LN) 2018 年 3 月主網啟動。
  • 閃電網絡應用第一的「Bitrefill」,既可以買禮品卡還可以交話費
    據閃電網絡數據網站 1ML 顯示,目前,支撐網絡的節點數量達到 8342 個;通道數量 37977 個;閃電網絡承載能力目前為 1062.39 BTC。 Odaily星球日報此前報導過的閃電網絡公司包括 Blocktream 和 Tippin.me。近日,我們注意到 Bitrefill 幾個月來一直穩居 1ML 網站閃電網絡的商店及服務排名第一位,一起來了解一下。
  • 比特幣漲瘋了!曾經有兩枚比特幣握在我手裡,我沒有珍惜……
    而在之後的一個多月裡,比特幣瘋狂上漲,迅速衝破10000美元,並於2017年12月17日創下19850美元歷史最高價。彼時,彤彤手裡的那兩枚比特幣已經漲了逾230%。然而,就在許多分析師預測比特幣即將漲至50000美元,甚至100000美元高位時,價格卻大幅回落。
  • 薦讀丨只有上不去的天,沒有過不去的山
    很多人總覺得外人的話比家人的話更重要,但家人才是陪伴你時間最久的人。 好好聽家人說話,好好對家人說話。 2、 門前有馬非為富,家中有人不算窮。 當前的貧富是一時的,只要人在,大家齊心協力,就沒有什麼是辦不到的。
  • 子夜薦讀 | 每個人都很獨特
    還有我特別喜歡的那句:賞花歸去馬如飛,去馬如飛酒力微,酒力微醒時已暮,醒時已暮賞花歸。二是不得志的時候,曉風煮酒笑明月,大浪淘沙不識君。還有我特別喜歡的那句:欲渡黃河冰塞川,將登太行雪滿山。有的人不管是事業還是感情,大有哪兒也不是哪兒的感覺,必然要抒懷幾句。三是情感受到了刺激,失戀或是良心發現。你在這等著我,我去給你買幾個橘子。儘管這成了調侃的素材,但始終讓人心頭一熱,質樸且真實。
  • 子夜薦讀 | 掌握尺度,傳遞溫度
    小太陽會在下雨天提前到公司,為同事們反饋單位附近的路況;她會細心煮上一壺熱水,給有需要的同事們驅驅寒。她心中的尺子,刻好了與每個人之間的距離。不疏遠,不親暱,不刻意。大家都很喜歡她,並不只是因為她有「我為人人」的奉獻精神,更重要的是她能把握好同事間相處的尺度。他們從沒見過小太陽對任何人阿諛奉承,沒見過她過分地幹預同事私事。
  • 比特幣存在的作用和意義是什麼
    其實大家也知道有兩種方法: 一種方法就是到網絡市場上去買,根據與人民幣的換算去購買,現在差不多,一比特幣要換5000多元人幣吧。 另外一種方法就是通過下載客戶端進行計算特定數量的數學問題來獲得比特幣。 其實第二種方法也並不是這麼容易就能夠獲得的,也需要很大的成本才能賺到,我的一個朋友運行了幾天才賺到0.0016比特幣,很難,可能與方法,電腦也有一定的關係。
  • 曾經有兩枚比特幣握在我手裡,我沒有珍惜……
    2017年12月,比特幣也曾瘋狂漲至20000美元附近。炒幣者彤彤剛好趕上了這輪牛市。2017年10月,彤彤以6000美元左右的價格入手了兩枚比特幣。而在之後的一個多月裡,比特幣瘋狂上漲,迅速衝破10000美元,並於2017年12月17日創下19850美元歷史最高價。彼時,彤彤手裡的那兩枚比特幣已經漲了逾230%。
  • 官員該讀什麼書 一份官員薦書讀書不完全名單
    正是在這個背景下,一些地方自上而下興起了「勸學運動」,其中就包括經濟大省廣東和江蘇。  官員的「薦書錄」中一些書籍常被提及  一本名叫《創業的國度——以色列經濟奇蹟的啟示》的圖書,在剛過去的這個冬天,賣得很火。去年12月22日,此書其中一位作者、以色列人索爾·辛格第一次踏上南京這塊土地時,這本書在中國已銷售了10萬冊。
  • 薦讀丨女兒不是要富養,要尊養
    我聽了也只能安慰好友一兩句,然後提醒她借錢要慎重,何況十萬可不是小數,然後我情不自禁地想到同事大李。  大李幾年前搞投資,掙了一些小錢,但這些錢全都花到了獨生女小晏身上,好吃好喝地養著,然後上最好的幼兒園,最好的小學。大李說:「女兒要富養,眼界高一點,長大了不吃虧。」  可是最近,大李很糾結,八歲的年紀原本是很快樂的,但小宴卻每天都很鬱悶糾結。
  • 子夜薦讀 | 凡事提前五分鐘
    有個做HR的朋友跟我說,通常在一個公司,早到幾分鐘的員工總比遲到幾分鐘的員工更優秀。剛開始,我不太認同這個觀點。畢竟一個人的能力和水平也不在於這幾分鐘的表現。但他的解釋又讓我感到確實有幾分道理:早到幾分鐘的員工,可以提前梳理當天的安排和任務,做到心中有數有條理。也可以泡好一杯茶,清理一下辦公桌,提前進入緊張有序的工作狀態中。而晚到幾分鐘的員工,總處於手忙腳亂中。他們做事情往往缺乏主動性,總是被推著催著趕著走。不僅工作效率低,而且匆忙應付,出錯的機率也更大。在職場上,你的工作態度其實也是工作能力的體現。
  • 子夜薦讀 | 習慣著習慣著就習慣了
    汶川地震時僅用了一兩分鐘就撤離全部學生的學校,得益於那位有著「沒事就加固學校,閒著就疏散演習」習慣的好校長。各種習慣的養成也受外界環境的影響。大海邊的土著估計不愛穿鞋,赤道邊上的人大概不喜歡皮草,在醫院工作的人十有八九都有良好的衛生習慣。最近,人們都習慣了戴口罩。其實戴口罩本身就是一個好習慣,就算不是在防控疫情階段也是如此。除了好習慣之外,戴口罩還有諸多好處。
  • 如何理解比特幣的稀缺性
    若是把各種經濟學教科書放在顯微鏡下比較,你可能會發現,它們並沒有完全一致地使用 "稀缺性 "這個術語。但所有這些詞的大致意思都是上面用這個詞解釋過的東西,這對我們的目的來說就已經足夠了。比特幣稀缺嗎?鑑於上述對稀缺性的描述,我們必須得出的結論是,我們常用的所有資源幾乎都是稀缺的。而像空氣這類東西是一種例外,而不是常規。
  • 子夜薦讀 | 往後餘生 請試著給生命留白
    人生的「畫卷」,有的是色彩鋪蓋、滿滿當當;有的是適當留白,善用「減法」。或許,輕裝上陣才能走得更遠。我看過一個寓言故事:兩個士兵將要奔赴戰場,其中一個把建功立業當成目標,十八般兵器都被裝入囊中,一身行裝將自己壓得喘不過氣,還沒到戰場就已經踉蹌倒地了。這樣大的目標,它不再是前進的動力,而是路上的阻礙。如果人生畫卷上被塗滿欲望的色彩,我們就會「反主為客」,失去自我。反觀另一位士兵,輕裝簡行,沒有過多的裝備行李,到達戰場就是他此刻的唯一想法,至於是否能取得最終勝利,那就是後話了。
  • 比特幣,就是騙局!
    本文轉載自【微信公眾號:揉揉人人,ID:rourou-renren】經微信公眾號授權轉載,如需轉載與原文作者聯繫昨天看到有人說比特幣是機會,我都笑岔氣了!有些人總是盯著暴富的個例,不想想看更多的家破人亡。倖存者偏差不是今天的內容,今天簡單聊聊比特幣。
  • 子夜薦讀 | 將心比心的善良,是最高級的修養
    「我跟你們說啊,我老馬這些年在外邊可不是白混的,誰看到我都是客客氣氣一臉笑意……」他一邊提高嗓門,一邊給旁邊的人倒酒。大夥都沒吭聲,只是敷衍性地陪笑點頭。其實,馬叔這幾年生意不景氣,都是兩個女兒隔三岔五幫他還債。他的真實情況大家心裡都清楚。
  • 九年愛情長跑分手,各自閃電結婚的原因是…
    分手的引爆點出現在小米研究生畢業時,那時,小米想繼續讀博,男朋友W卻強烈要求她出來工作。 理由是:雙方發展不同步,以後會沒共同話題。 兩人為此吵過很多次,最後小米放棄了讀博,找了一份高校老師的工作。 日子似乎越來越有奔頭,感情卻越來越淡。
  • 本輪比特幣牛市原因是什麼?
    另外,從灰度不斷加倉的角度來看,比特幣已經成為數字黃金了,完全是資產屬性,而在這個過程中最怕大家還是用2019年之前的思維模式來審視這個市場。 所以,如果你是普通投資者,千萬不要認為任何天真的模式都會自動成立(比特幣一直在漲,所以會一直漲;比特幣達到過一次X價格,所以還會漲)。因為價格比看起來更隨機,更難預測。
  • 「今年怎麼會有人賺不到錢呢」?
    本來十分平淡,後來喝上了頭之後,我不經意間地來了一句「今年經濟不太行啊,賺錢不太容易,也就比特幣行情好點兒,很多人都掙不著啥錢呢」,這句話可能刺激到他了,反手就給我來了一句:然後巴拉巴拉一頓說,大概意思就是本篇文章,我會用口述的語氣大概複述一遍他的話,大概聊一下他對於今年投資形式的總結和看法。(以下內容均不是我說的,只是複述..