買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 幣贏 > Info

FAB:閃電網絡深入解讀(上):支付通道_BTC

Author:

Time:1900/1/1 0:00:00

閃電網絡是一種去中心化的鏈下技術方案,可支持每秒上萬筆交易并發,接近于 Visa 系統能做到的程度(舉個例子)。而在當前的比特幣(世界上最流行的密碼學貨幣)區塊鏈上,只能支持每秒處理約 7 筆事務,還要付出高昂的手續費,并等待很長時間來確認交易生效,這些因素都使得用比特幣發送小額交易幾乎不可能。而閃電網絡把這兩個問題都解決了。

閃電網絡是一種支付通道系統,與常見的多簽名錢包沒有任何區別。所謂開啟通道,就是參與方創建一個多簽名錢包,并向該錢包充入資金。這個錢包接收到的資金數量就成為這個通道的余額。再然后,參與方之間的后續交易就全部在區塊鏈以外的環境中發生了。任一參與方都能隨時關閉這個通道,這時候,最后一筆鏈下的交易(決定著該通道各參與方的余額)會被發送到區塊鏈上,同時作廢掉所有中間的交易,因為所有這些交易都使用同樣的交易輸出。結果是,我們只需一筆交易來開啟通道、一筆交易來關閉通道,中間所有的中間交易都是即時收發的,無需記錄在區塊鏈上(因此無需等待)。

(譯者注:比特幣不是賬戶里面的余額,是一張張的支票;所有的支票都是由具體的某筆交易創造的;每一張支票都只用一次就會作廢(也即只能用在一筆交易中)。交易可以任意分配所用支票的價值來生產任意數量的新支票。)

這樣的通道所組成的網絡使你可以向網絡的另一個參與者發送資金,即使你們之間并無直接的通道。唯一的條件是你們之間要能形成一條 “路徑”,即有通道能前后相接地把你和對方聯系起來。此外,得益于特殊的智能合約(HTLC,哈希時間鎖合約),你不需要信任網絡中的任何人,合約會保證安全地交付你支付的資金。

要理解閃電網絡是如何運行的,首先要理解的是支付通道的運行以及構成支付通道基礎的 HTLC。這些話題都不小,所以我把文章分成了兩部分,從解釋支付通道的工作原理開始。

非營利組織Brink已資助11名比特幣和閃電網絡開發人員:9月27日消息,致力于改進比特幣協議的非營利組織Brink宣布,目前已有11名比特幣和閃電網絡開發人員得到基金會的資助。

最新加入其開發人員名單的Micheal Ford是比特幣核心維護者。“Lightning and Discrete Log Contracts”白皮書的作者Tadge Dryja成為Brink兼職開發人員。

此外,Vincenzo Palazzo和Larry Ruane將成為全職員工,這樣他們可以將全部注意力集中在比特幣生態系統上。

Gloria Zhao已經完成Brink的獎學金項目,并將開始指導經驗不足的貢獻者。此外,她將接管Bitcoin Core PR Review Club,該俱樂部為生態系統中的新開發者提供渠道。(Bitcoin Magazine)[2022/9/27 22:32:27]

如上所述,連接兩個參與者的支付通道實質就是一個普通的多簽名錢包。第一筆交易決定了一個通道的余額,我們稱為 “充值事務” 或者 “錨點事務”。這筆交易需要廣播到網絡中并記錄到區塊鏈上,以表明通道開啟。

做完了這一步之后,要更新通道雙方的余額時,雙方就需要手動交換簽過名的 “承諾事務”。這些交易本身都是有效的,隨時可以發送到比特幣網絡中,但雙方都會暫時保存起來,不會廣播出來,除非已準備關閉通道。如此一來,通道內雙方的余額狀態,一秒內變動幾千次也沒問題,更新的速度僅受限于雙方創建、簽名和向對方發送承諾事務的速度。

每次雙方交換了一筆新的承諾事務,他們也就把通道的前一個狀態作廢掉;因此,只有最新的一筆承諾事務可以 “執行”。這樣設計的目的是防止某一方欺詐對方,把一個過時的但對自己有利的狀態發送的鏈上來關閉通道。下文我會講解幾種防止這種欺詐的機制。

聲音 | 閃電網絡錢包Zap創始人:機構將在2020年使用閃電網絡:最近,在接受播客節目What Bitcoin Did主持人Peter McCormack的采訪時,閃電網絡錢包Zap創始人Jack Mallers談到閃電網絡的實際價值、可以實現的目標以及其機構用例。他認為閃電網絡是“物理上的結算和清算真正價值的軌道”,而在另一個完全不同的用例中,閃電網絡可以用來在互聯網上進行真正的私人商務。“你應該能夠打造自己的通道,使其變得私密,這就像是互聯網商業的黑匣子黑洞。價格穩定得如此之快、如此之便宜,而且你是如此的私密。”Mallers還表示,保管錢包將開始需要KYC,并稱閃電網絡將成熟一點。根據他們對用戶的研究,它提供了“真正的價值,在很多方面都比我們用來支付的現有工具更好。”他表示,“我認為參與閃電網絡的機構將是2020年的一件大事。”未來一年,機構閃電網絡的使用將是一筆巨大的交易,自營交易公司將是其首批大用戶。(AMBCrypto)[2020/1/1]

最后,通道既可以雙方一致同意關閉 —— 就是把一筆關閉事務(叫做 “結算事務”)發送到比特幣網絡中 —— 也可以單方決定關閉,就是把最后一筆承諾事務發送到網絡中。這是為了防止某一方離線導致另一方在通道中的余額一直 “鎖定” 的情形。

在通道存在的整個生命周期里,只有兩筆事務被發到了比特幣網絡中并記錄到了比特幣區塊鏈上(就是充值事務和結算事務)。在這兩筆事務之間,雙方可以交換無數次承諾事務,這些事務都不需要提交到區塊鏈上。

在解釋更加復雜的機制之前,我們先來考慮一個簡單的、單向的通道的例子。為了簡化這個解釋,我們假設雙方都是誠實的。后面我們會再考慮幫助我們阻止欺詐的機制。

動態 | 閃電網絡節點數量達10535個:1ML.com數據顯示,閃電網絡節點數量呈持續上升趨勢。目前,支撐網絡的節點數量達到10535個,在過去的30天中上漲了2.85%,而通道數量為35046,在過去的30天中下降了1.0%。閃電網絡承載能力目前為832.74BTC,約合654.77萬美元。[2019/11/21]

假設一個通道有兩個參與者,Emma 和 Fabian。Fabian 提供付費的視頻流服務,而觀看者通過通道來實現小額支付 —— 每觀看一秒就要付出 0.00001 btc,相當于每小時 0.036 btc 。Emma 是一個想看視頻的普通用戶。

Emma 和 Fabian 使用一個特殊的程序來同步播放視頻和運行支付通道。Emma 在自己的網絡瀏覽器中啟動這個程序,而 Fabian 在自己的服務器上使用同一個程序。這個程序具有一個普通的比特幣錢包軟件的所有功能,它可以創建和簽名交易。支付通道的整個機制可以完全隱藏起來,用戶看到的事實就是這個視頻是按秒計價的。

現在我們來看看這個付費服務的具體工作流程。一開始,Emma 和 Fabian 要開啟通道:建立一個 2-2 的多簽名地址。從用戶的視角來看,這個程序創建了一個 P2SH 地址(一個多簽名錢包)并要求用戶充入足以支付一個小時視頻服務的資金。Emma 轉了 0.036 btc 到這個地址,而這筆交易也就成了所謂的充值事務。

充值事務被打包到某個區塊之后,這個通道就算開啟了,視頻也就開始播放。在第一秒鐘,用戶創建并簽名了一條承諾事務,改變了通道內的余額:現在 Fabian 有了 0.00001 btc,Emma 還剩 0.03599 btc 。這筆事務使用了充值事務的輸出,并創建了兩個輸出,含義就如我們這里所述。從服務商的角度看,程序收到了這筆事務,于是也簽上名、連同第一秒的視頻發回給 Emma。現在雙方都有了一筆對方手動簽過名的、反映通道最新狀態的承諾事務;如有需要,任何一方都可以把這筆交易發送到比特幣網絡中。

動態 | 比特幣購物APP Fold融資250萬美元 將為零售商帶來閃電網絡:閃電網絡友好的Fold應用程序允許用戶用比特幣購買衣服和披薩等商品,并可賺取比特幣作為回饋獎勵。在作為一家獨立初創公司進行第一輪融資后,這款應用剛剛增加了法幣功能。

Fold產品主管Will Reeves稱,公司已從Thesis中剝離出來,完成250萬美元融資,由Craft Ventures、CoinShares、Slow Ventures、Goldcrest Capital和Fulgur Ventures等公司參與了此次融資。Reeves表示,該筆資金將用于加強加密貨幣和零售領域的合作關系。(CoinDesk)[2019/9/25]

到了第二秒,Emma 這邊的程序又創建了一筆新的承諾事務,使用的同樣是充值交易的輸出(跟第一筆一樣),這一次,承諾事務的第一個輸出給了Fabian 0.00002 btc,把 0.03598 給了 Emma。這筆事務用來支付第二秒的視頻下載。

我們假設,Emma 看了 10 分鐘的視頻,然后就退出了。在這段時間里,她簽名并發送了 600 筆承諾事務(600 秒的視頻)。最后的一筆有兩個輸出:0.03 btc 給 Emma,和 0.006 給 Fabian。Emma 關閉了通道,把最后一筆承諾事務廣播到了比特幣網絡中作為 結算事務。如此,這個通道只有一頭一尾兩筆事務記錄到了區塊鏈上。

當然,從這個例子來看,一切都好,但這是因為雙方都是誠實的。不難想象某些時候,其中一方會欺騙對方,像上面這么簡單的設計可能就不夠用了。

雖然通道開啟著,Emma 還是需要 Fabian 的簽名來取出資金,因為這個通道是 2-2 的多簽名地址。如果 Fabian 消失了,Emma 的資金可能會永遠鎖在這個通道里面。

分析 | 比特幣閃電網絡整體增速放緩,或與其自身缺陷有關:據RatingToken大數據監測平臺顯示,在過去的30天里,比特幣閃電網絡節點數量增長6.08%(上周期增長18.88%);活躍節點數增長4.53%(上周期增長24.51%);節點通道總數下降了1.8%(上周期期增長41.1%),網絡容量基本持平(上周期增長18.1%)。RatingToken分析師認為閃電網絡的整體增速有所放緩可能原因:1.比特幣閃電網絡自身缺陷(a.閃電網絡所有的節點都必須在線,b.用戶在交易時可能會損失所有資金等);2.當前比特幣整體的市場普及度較低,用戶還未在日常生活中形成使用比特幣支付的習慣。[2019/4/29]

雖然通道開啟著,Emma 可以使用任何一筆雙方都簽過名的承諾事務。在觀看視頻 10 分鐘之后,她可以拿第一筆承諾交易上鏈,完全不需要經過 Fabian 的再次同意。

這些問題的一種解決方案是在承諾事務中使用時間鎖(事務層面的時間鎖(nLocktime))。為了保證資金不會在通道中永遠鎖定,Emma 使用她的充值事務的輸出創建了一個退款事務。她先給 Fabian 發送這筆事務,等 Fabian 簽名并發回后,Emma 才把充值事務廣播到比特幣網絡中,開啟他們的通道。

這筆退款事務也成了第一筆承諾事務,而且它的時間鎖為通道設置了一個存在時間的上限。假設 Emma 把時間鎖設置為 30 天(4320 個比特幣區塊)(即 30 天之后這筆事務才能記錄到區塊鏈上)。接下來所有的承諾事務,所設置的時間鎖會一個比一個短,這樣更新的事務就能更早廣播到網絡中。

現在 Emma 不用再擔心了,她知道即使 Fabian 玩失蹤,她也可以在 30 天之后取回自己的資金(如果這是一條雙向的支付通道,即 Fabian 也會存錢進去,那他也從自己的角度提出一筆退款事務)。

每一筆新的承諾事務的時間鎖都比前一筆要短,因此,新一筆承諾事務總是能比舊的更早上鏈并使舊的事務作廢(無法上鏈),這樣就能防止任何一方惡意使用舊的承諾事務。如果一切順利,Emma 和 Fabian 只需廣播雙方一致的普通結算事務,因此帶時間鎖的承諾事務只有一方下線時才會派上用場。

舉個例子,如果第一筆承諾事務的時間鎖是 4320 個區塊,那么第二筆承諾事務可以設成 4319 個區塊,以此類推。如此一來,第 600 筆承諾事務可以比第一筆承諾事務早 600個區塊上鏈。

你可能也注意到了,這種方法雖然有助于防止某一方把更早的承諾事務上鏈(欺詐),但它有兩個明顯的缺點:

第一筆承諾事務的時間鎖限制了這個通道的壽命。如果這個時間鎖設置的時間太長(比如 1 年),通道可以存在很久,但如果某一方玩失蹤,另一方就不得不等待很長時間才能廣播最后一筆承諾事務、取回自己的資金。

第一筆承諾事務的時間鎖也限制了可以在通道內發生的交易次數。在我們的例子中,這個數值是 4320,這個通道內只能發生 4320 筆事務,因為每一筆新事務都會把時間鎖的時間減去 1 個區塊。而且,以區塊(10 分鐘)為間隔,等于是強迫參與方要追蹤比特幣網絡的區塊,以免錯過什么,以及在情形不對時盡早把最后一筆承諾事務上鏈。當然,這個間隔是可以延長的,但代價是通道內可以發送的交易數量會變得更少。

因此,時間鎖讓我們可以作廢舊的承諾事務并保證通道雙方都可以安全地關閉通道:如果他們都同意通道的最新狀態,他們可以發送一筆不帶時間鎖的結算事務(與最后一筆承諾事務意思相同),關閉通道;如果某一方不在線,另一方也可等待最后一筆承諾的時間鎖解鎖,然后把該筆承諾事務廣播到比特幣網絡中。

另一種解決上述信任問題的辦法是取消早前的承諾事務。實際上,“取消(cancellation)” 這個詞是不準確的,因為在比特幣網絡中,一筆上鏈的事務(得到區塊確認的事務)是永遠不可取消的。不過,特殊的構造方式可以使得上鏈較早的承諾事務無利可圖。只需給予各方一個 “撤銷密鑰(revocation key)” 即可。

假設 Hitesh 和 Irene 決定開啟一個通道。雙方都充值了 5 btc 到這個通道中,確定了通道的初始余額。現在,雙方不是簽署同一筆標準的承諾事務,而是各自創建兩筆不同的、不對稱的承諾事務。

Hitesh 拿到的由 Irene 簽名的事務有兩個輸出,第一個輸出不帶時間鎖,立即給 Irene 支付 5 btc,而第二個輸出帶有時間鎖,支付 5 btc 給 Hitesh,但要等(這筆事務上鏈后的) 1000 個區塊之后,這個輸出才能花用。詳情如下:

與此同時,Irene 也可拿到由 Hitesh 簽名的一個承諾事務,有兩個輸出:一個立即給 Hitesh 支付 5 btc,另一個輸出則給 Irene 支付 5 btc,但要等 1000 個區塊之后才能花。

因此,雙方都拿到了一筆由對方簽名的承諾事務。Hitesh 和 Irene 都可以隨時把手上的承諾事務簽名后廣播出去,但是,一旦這么鎖了,另一方都會立即拿到錢,而自己只能等到 1000 個區塊之后才能拿到,這可是大大的不利。不過,這還不足以讓雙方都誠實守信。

這就要講到我們的最后一個功能了,可撤銷的密鑰,使得任一方如果試圖欺詐,對方都可以懲罰 TA,使之血本無歸。

如上所述,每一筆承諾事務都有一個 “延后” 的輸出,我們把這個輸出做得再復雜一點:這個輸出既可以被等待了 1000 個區塊的承諾事務發送者使用,也可以被通道的另一方使用,如果 TA 持有撤銷密鑰的話。當 Hitesh 創建承諾事務并交給 Irene 時,他的第二個輸出既可以為自己所用(要等待 1000 的區塊)也可以為 Irene 使用,如果后者掌握了撤銷密鑰的話。

Hitesh 會秘密地保管這個密鑰,僅當他決定使用新的一筆承諾事務來更新通道內狀態時才會發給 Irene。事務的詳情如下:

(譯者注:看代碼會更清晰一些:第一個輸出是給立即 Irene 支付 5 btc;第二個輸出則是帶條件的,既可以使用撤銷密鑰,立即獲得 5 btc,也可在 1000 個區塊后,使用 Hitesh 的私鑰來使用這個輸出。注意這里的 “IF…ELSE…” 式條件,它跟我們在其它的計算機編程中的含義是一樣的。)

附帶一個例子可能會更容易理解。假設 Irene 希望給 Hitesh 發送 2 btc,這時候他們要更新通道的狀態,也就是要創建一筆新的承諾事務。雙方各自創建一個不對稱的承諾事務,并且,在簽名之前,先把上一筆承諾事務的撤銷密鑰交給對方,如此便 “撤銷” 了上一筆承諾事務。如果 Hitesh 希望以通道最后的余額來結算,而 Irene 看著覺得更舊的狀態對自己更有利,她可以嘗試把自己手中的上一筆承諾事務簽名后廣播到網絡中,但這筆承諾事務的撤銷密鑰已經暴露給了 Hitesh;如果他發現這筆承諾事務上鏈了,他有足足 1000 個區塊的時間可以把通道內的所有錢都拿走(第一個輸出當下就給了他,而第二個輸出只需他提供撤銷密鑰就可以立即使用)(沒錯,這個 “取消” 的動作沒法自動化,Hitesh 必須關注 Irene 是否發送了舊的承諾事務到網絡中,然后使用撤銷密鑰)。

因此,這種使用不對稱可撤銷承諾的通道的效率要更高,因為它不限制通道的壽命,也不限制交易發送的次數。

到這里,我們的第一篇文章就結束了,估計你也要一段時間來消化一下,你也可以在評論中提問。在下一篇文章,我們會解釋 HTLC 的功能,最終解釋閃電網絡是如何工作的。

Tags:比特幣MMABTCFAB30歲老公玩比特幣輸了好多錢怎么回事Comma Chain超級比特幣SBTC論壇fab幣今日價格

幣贏
TRU:金色觀察 | 一文讀懂Coinbase上線的Braintrust_Utrust

9月16日,Coinbase 正式上線自由職業者招聘平臺 Braintrust 代幣 BTRST.

1900/1/1 0:00:00
區塊鏈:金色觀察丨《經濟學人》最新封面文章:DeFi的誘人前景及其危險_EFI

2021年9月17日,《經濟學人》雜志官網其9月18日最新一期雜志封面主題文章“Down the rabbit hole: The promise and perils of decentral.

1900/1/1 0:00:00
AOS:解構 DAO 投資:DAO 將成為繼 NFT 之后的“下一個”大資產類別?_Firdaos

越來越多的以太坊愛好者相信,DAOs (去中心化自治組織) 可能是工作、文化社區和人類組織的未來.

1900/1/1 0:00:00
FIN:NFT游戲火爆依舊 解析鏈游背后的生態與生意_GNFT幣

Axie Infinity在今年夏天打響了NFT和GameFi狂潮的第一槍,鏈游市場在過去幾個月里步入了狂熱發展的階段.

1900/1/1 0:00:00
加密貨幣:STO 遇冷 SEC 挑戰重重_STO

"監管收緊,交易所調整航向,舊事重提 STO。"美國證監會 SEC 與加密領域的對話更加頻繁了,最先接收到監管加強信號的是中心化交易所.

1900/1/1 0:00:00
QUO:紐約梅隆銀行報告:數字資產從邊緣到未來_數字資產管理

數字資產顯然已經進入了主流。紐約梅隆銀行最新報告概述了數字資產的演變,它們如何幫助重塑金融生態系統,并強調了為幫助數字資產達到完全成熟并與傳統資產無縫整合所需的基礎設施和協作.

1900/1/1 0:00:00
ads