摘要:閃電網絡和通過可以在閃電網絡任意節點之間安全轉移價值而無需信任中介節點。相關比特幣改善提案該為比特幣
本文是作者有關區塊鏈的系列文章之一,可通過如下鏈接下載原文:摘要
https://github.com/junahan/JU...
比特幣閃電網絡是一個去中心化的即時、大吞吐量微支付系統,該系統無需委托可信的第三方代管資金,也沒有相應的風險。實現的方法是創新性的利用比特幣內置腳本構建支持鏈下(off-chain)安全確認交易的通道網絡,并利用比特幣區塊鏈作為法庭確保鏈下交易確認安全。
閃電網絡的思路并不局限于比特幣,也適用于類似的數字貨幣(如以太坊),其方法甚至可以擴展為一種跨鏈技術以實現在不同賬本之間轉移價值。
本文僅做概念性的介紹,并不涉及閃電網絡實現的細節,有關閃電網絡實現的細節,可以參閱閃電網絡論文原文 (by Joseph Poon, Thaddeus Dryja, 2016)。
比特幣區塊鏈可擴展性問題交易確認緩慢 - 每10分鐘一個區塊,交易要安全的確認需要至少6個區塊,使得交易確認緩慢
可擴展性問題:
交易吞吐量有限:所有交易均廣播上鏈,單個區塊容量有限,每秒中僅支持小于10比交易
區塊大小迅速增長限制節點參與并導致集中化風險: 隨著比特幣交易需求的快速增加,動輒數百Gigabyte甚至數十Terabyte的區塊大小限制普通節點(如個人PC和移動終端)加入網絡,也會導致參與節點的集中化風險。
有關比特幣可擴展性問題,比特幣社區有很多討論和提案,有興趣的朋友可以參閱比特幣擴展方案評論 (Bryan Bishop, 2015) 。
閃電網絡方案解決問題的基本思路是,在無需引入可信任第三方中介的前提下,如果有合適的方法能夠在鏈下安全的確認交易,就不必要把所有的交易廣播上鏈。
閃電網絡是由微支付通道相互鏈接形成一個巨大網絡,能夠實現鏈下確認交易,鏈上(on-chain)實施不合作節點懲罰和有效交易凈額清算(Net-settlement),并且能夠以去信任(Trustless)的方式實現網絡中任意節點之間的價值轉移。
閃電網絡的設計目標:
即時支付:閃電網絡的交易不需要區塊確認,交易可即時在鏈下完成確認。
微支付低費用: 閃電網絡使用真正的比特幣交易,卻最小化交易結算(交易廣播上鏈)的需要,可以以極低的費用實現小到 0.00000001 比特幣的交易。
大容量可擴展:閃電網絡交易在鏈下確認,允許用戶執行近乎無限的微支付交易,可以滿足諸如物聯網設備間的自動大量交易。
微支付通道和RSMC閃電網絡支持交易雙方共同出資以創建一個雙向微支付通道,隨后雙方可以通過該通道鏈下確認相互之間的一系列交易而不用交易廣播至鏈上確認,只有在需要最終結算和其中一方不再合作的情形下才需要廣播交易上鏈。作為類比,閃電網絡通過將比特幣區塊鏈作為法庭,算法做法官,結合RSMC(可撤銷序列成熟度合約)機制提供證據,共同確保鏈下確認支付的安全:
可撤銷序列成熟度合約機制提供鏈下交易確認證據 - 有效交易和無效交易證據
凈額清算 - 通過廣播上鏈有效交易(即最后一筆交易)就可以實施凈額清算
違規懲罰 - 一方違規,如上鏈對自己有利的老舊交易,另外一方則可以通過上鏈相應的違規補償交易(Breach Remedy Transaction)作為證據,即可實施違規懲罰,結果是所有通道資金均歸能夠提供違規證據的一方所有,懲罰由算法強制執行。
微支付通道創建和鏈下交易確認該示意圖展示了微支付通道和RSMC如何工作。
愛麗絲和鮑勃各出資 0.5 BTC 建立一個支付通道,該通道建立意味著,雙方共同簽名的資金交易廣播上鏈(圖中 on-chain 一側)并且雙方的第一筆鏈下交易(圖中 off-chain 一側 Alice 0.5 / Bob 0.5 )已經確認。
隨后雙方可以通過該通道鏈下確認相互之間的一系列交易重新分配資金交易金額而不用把交易廣播至鏈上確認。一筆新的交易會事實上作廢前一筆歷史交易,因為交易機制會導致提交歷史交易的一方損失資金,結果是只有最新的一筆交易才是有效的。
一次新交易,雙方會擁有該次交易各自的版本,如最近的一筆交易,愛麗絲擁有 Cna 和 RDna 交易而鮑勃有自己相應的版本 Cnb 和 RDnb(如上圖)。交易 Cnb 中,交易輸出 0 的意思是愛麗絲可花費該輸出 0.8 BTC,交易輸出 1 是一個帶有RSMC的 2-of-2 簽名輸出,鮑勃持有子交易 RDnb 以RSMC合約約定的方式花費該輸出。交易 RDnb 是交易Cnb的子交易,其輸入來自 Cnb 1 RSMC 輸出,并帶有值為 1000 的時間鎖,這意味著,該交易只有在父交易 Cnb 上鏈確認后,還需要等待 1000 個比特幣區塊鏈以后才能被確認。這就是對方實施違規懲罰的窗口期。
伴隨新交易的產生,老舊交易事實上被作廢,作廢的方式是產生一個相應的稱之為違規補償的交易,例如,老舊交易 C3a 的子交易 BR3a,以及 C3b 的子交易 BR3b。以鮑勃持有的交易 C3b為列,交易 BR3b 沒有時間鎖,允許愛麗絲立即花費交易 C3b 1. RSMC 0.7 BTC 輸出,這事實上撤銷了交易 RD3b, 因為 RD3b 具有時間鎖,需要在父交易上鏈確認后再等待 1000 個比特幣區塊鏈以后才能被確認。
凈額清算和懲罰在微支付通道建立并存繼期間,雙方可以鏈下確認多筆交易直到通道關閉,有三種情形導致清算并關閉通道。
雙方合作上鏈清算 - 雙方可能不再有業務來往和交易的必要并希望能夠贖回各自的資金,雙方可以通過創建另外一次交易,該交易不帶RSMC輸出,直接按最后一次交易的份額分配交易輸出并交換簽名。任意一方廣播上鏈最后這筆交易即可完成最后凈額清算。
單方面提交最后一次交易 - 例如愛麗絲想贖回資金而由于聯系不上鮑勃等原因,無法合作關閉通道,愛麗絲可以單方面上鏈自己擁有的最后一次交易而關閉通道,在該情形下,鮑勃可以立即獲得最后一次交易中自己的份額,而愛麗絲必須等待如 RDna 交易指定的時間鎖到期后才可以贖回自己的份額。
任意一方違規提交老舊歷史交易 - 這種情形事實上并不會發生,但一旦發生,對方可以提交違規補償交易以實施懲罰。例如,鮑勃提交了對自己有利的歷史交易 C3b,那么,按照鮑勃擁有的 RD3b 交易來看,他需要在 C3b 被廣播上鏈確認后,RD3b 仍需要等待 1000 個比特幣區塊后才能夠被上鏈確認。在此期間,愛麗絲發現鮑勃違規提交老舊歷史交易,她可以通過廣播 BR3b 交易,該交易沒有時間鎖,可以立即上鏈確認并花費 C3b 1. RSMC 0.7 BTC輸出,考慮到 C3b 0 號輸出的 0.3 BTC 本就歸屬愛麗絲,這樣一來,相當于通道所有資金均歸愛麗絲所有。當然了,廣播違規補償交易是愛麗絲的責任,如果愛麗絲在懲罰窗口期沒有上鏈違規補償交易,則鮑勃到期可以花費 C3b 1 號輸出的 0.7 BTC。這就是閃電網絡的懲罰機制。
閃電網絡和HTLC通過HTLC可以在閃電網絡任意節點之間安全轉移價值而無需信任中介節點。
該示意圖展示了Alice如何使用HTLC通過閃電網絡轉賬給Dave一筆資金,假設Alice和Dave之間并未建立一個微支付通道但可以通過閃電網絡建立起一條Alice和Dave之間的臨時支付路由通道。
首先雙方通過其他通道(綠色線條所示),Alice告知Dave要轉 0.01 BTC 給Dave,Dave產生一個隨機像原R,以及R的散列H,Dave保留R并把散列H傳遞給Alice。
Alice和Bob之間有已經建立的微支付通道,Alice可以產生一個HTLC合約并連同H送給Bob (紅色虛線所示),該合約的意思是:如果Bob能夠在合約過期(三天)內提供一個H值對應的像原R值,則合約規定的 0.01 BTC就歸Bob所有,如果合約過期,則返回合約金額給Alice。同理,Bob和Carol,Carol和Dave之間也可以建立類似的HTLC合約,區別在于合約過期時間是遞減的。至此,紅色虛線所示的Alice到Dave之間支付路由通道就建立了。
履行HTLC合約的過程也相當簡明,由于Dave持有H的像原R,就可以在HTLC合約(Carol和Dave間的合約)過期前,通過把R傳遞給Carol以得到HTLC合約的資金。同理,Carol通過把得到的R傳遞給Bob已從Bob哪里得到資金,最后,Bob把得到的R傳遞給Alice以得到資金。至此,整個HTLC交易完成并關閉。
閃電網絡相關名詞RSMC (Revocable Sequence Maturity Contract / 可撤銷序列成熟度合約) - 一個交易合約,允許帶有該合約的交易(父交易)輸出只能在該交易確認后推遲指定時間(由子交易序列確定)花費,可以通過創建一個特殊的子交易來取代其他子交易并立即花費父交易輸出。
HTLC (Hashed Time Lock Contract / 散列安全時間鎖合約) - 一個比特幣腳本,允許受托方提供一個指定散列的原始密文來花費合約資金,也允許委托人在時間鎖過期后贖回資金。
資金交易 (Fund Transaction) - 一個 2-of-2 多重簽名交易,用于創建最初的支付通道資金池。
可撤銷承諾交易 (Revocable Commitment Transaction) * 資金交易的子交易,可以花費資金交易的輸出,通過創建新交易并撤銷老舊交易在交易通道雙方重新分配資金額。
支付交易 (Delivery Transaction) - 一旦承諾交易廣播上鏈,該交易能立即從承諾交易贖回資金。
可撤銷支付交易 (Revocable Delivery Transaction) - 帶有時間鎖的支付交易,可延遲收回承諾交易資金。
違規補償交易 (Breach Remedy Transaction) - 用于對不合作節點實施懲罰的交易。
相關比特幣改善提案 (BIPs) BIP65: CHECKLOCKTIMEVERIFY該BIP為比特幣腳本系統引入一個新操作碼 (OPCHECKLOCKTIMEVERIFY) ,使用比特幣交易域nLockTime指定交易鎖定時間,從而允許交易輸出推遲至指定時間以后才能花費。閃電網絡可以使用該機制創建微支付通道,但不便之處在于到期后需要清算并關閉通道。
BIP68: 基于交易序列號的相對時間鎖通過在比特幣交易記錄中引入交易序列號 (nSequence) 實現相對時間鎖 (RLT),確保簽名交易的輸入在其相應的前序交易確認后的指定時間內(現對于前序交易確認時點)保持無效。閃電網絡使用nSequence,但修改其原有的語意以實現RSMC,好處是可以保持支付通道一直開啟。
BIP199: 散列安全時間鎖合約交易一個散列安全時間鎖合約(HTLC)是一個腳本,它允許受委托者通過提供一個散列的原始密文來花費合約資金,也允許委托人在時間鎖過期后贖回資金。該比特幣改善提案實現HTLC。
閃電網絡引入的問題 流動性問題閃電網絡要求在支付通道內鎖定資金,這可能會導致流動性問題,同時由于閃電網絡具有大幅度降低交易上鏈的需求,可能會導致和礦工之間的競爭。
網絡流動性 (Network Liquidity) - 保持通道開放可用
通道流動性 (Channel Liquidity) - 鎖定部分資金以為通道提供可用的資金池
系統性攻擊閃電網絡包含百萬級別的支付通道,通道內鎖定了大量的資金,特別是大的中介人通道容易成為系統性攻擊的目標,并且隔離措施將不再起作用。系統性攻擊看起來可能性不大,但一旦發生則會導致災難性后果。
支付通道相互鏈接并鎖定大量的資金,系統性攻擊會使所有通道參與方損失資金。
支付通道特別是中介人通道包含大量歷史鏈下交易(未廣播交易),通過并發廣播歷史鏈下交易,攻擊者可能得到更多的資金。
系統行攻擊可能導致很多交易上鏈,并帶來高昂的交易費用
閃電網絡的啟示閃電網絡給我們最大的啟示莫過于再一次證明創新的利用比特幣腳本能夠產生顛覆性革新應用。當然了,閃電網絡的思想也不僅僅適用于比特幣。
創新利用比特幣腳本能夠產生顛覆行革新。
閃電網絡思想不僅僅可用于改善比特幣網絡,它同樣適用于類似的數字貨幣,實際上,以太坊就有自己的閃電網絡。
HTLC的思想也不僅僅限于比特幣內部,它可以擴展為一個跨鏈技術以在不同賬本之間交換價值。
參考文獻Satoshi Nakamoto(中本聰),"Bitcoin: A Peer-to-Peer Electronic Cash System", http://www.bitcoin.org/en/bit..., 2009.
Bryan Bishop, "Review of Bitcoin Scaling Proposals", http://diyhpl.us/~bryan/irc/b..., 2015.
Joseph Poon, Thaddeus Dryja, "The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments", https://lightning.network/lig..., Version 0.5.9.1 2016.
Joseph Poon, "Time and Bitcoin", https://lightning.network/lig..., 2015
"SF Bitcoin Social", https://lightning.network/lig..., 2015
BIP65 "OPCHECKLOCKTIMEVERIFY", https://github.com/bitcoin/bi..., 2014
BIP68 "Relative lock-time using consensus-enforced sequence numbers", https://github.com/bitcoin/bi..., 2015
BIP199 "Hashed Time-Locked Contract Transactions", https://github.com/bitcoin/bi..., 2017
本作品采用知識共享署名 4.0 國際許可協議進行許可。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24031.html
摘要:閃電網絡和的相同之處都是為比特幣服務。比特幣占有整個加密貨幣市值的一半,而且比特幣會承載越來越多的經濟活動,放棄比特幣的或者跨鏈是空中樓閣。都是點對點傳輸,沒有發行對應比特幣的證券化。 閃電網絡 Mixin Network 節點數量 無限制 不超過50 建節點是否有限制條件 無條件 持有10000 xin token就可以 交易確認時間 小于 3 秒 小于 1 秒...
摘要:本文是在一塊聽聽上的語音直播的文字精簡版。主網上線的細節主網在北京時間年月日早上點正式完成了上線。目前主網上線工作已經完成,正在把測試網上的資產遷移到主網上。主網上線意味著什么真的是一個去中心化的區塊鏈項目了。主網上線對來說只是一個起點。 本文是在一塊聽聽上的語音直播的文字精簡版。 Mixin Network的成績,主網和展望 大家好,我是Mixin Network 的李林。非常高興能...
摘要:側鏈側鏈協議允許資產在比特幣區塊鏈和其他區塊鏈之間互轉。實現了比特幣區塊鏈的擴展證明在比特幣系統中驗證交易時,涉及交易合法性檢查雙重花費檢查腳本檢查等。 比特幣項目簡介 比特幣是基于區塊鏈技術的一種數字貨幣實現,比特幣網絡是歷史上首個經過大規模、長時間檢查的數字貨幣系統 比特幣網絡在功能上具有如下特點: 去中心化: 意味著沒有任何獨立個體可以對網絡中的交易進行破壞,任何交易請求都需要...
摘要:比特幣閃電網絡什么是支付隧道支付隧道是用于在無信任環境中進行鏈下交易比特幣的一種機制。因為絕大部分的交易都是在鏈下發生,所以就沒有了像比特幣一樣的交易速度的限制,極大的提高了交易的速度。 比特幣閃電網絡 什么是支付隧道(Payment channels) 支付隧道是用于在無信任環境中進行鏈下交易比特幣的一種機制。交易雙方通過廣播并鎖定一筆由雙方共同簽名的鏈上交易。隧道(channel)...
閱讀 1760·2023-04-26 00:20
閱讀 1804·2021-11-08 13:21
閱讀 1930·2021-09-10 10:51
閱讀 1557·2021-09-10 10:50
閱讀 3249·2019-08-30 15:54
閱讀 2131·2019-08-30 14:22
閱讀 1429·2019-08-29 16:10
閱讀 3089·2019-08-26 11:50