閃電網絡是一種去中心化的鏈下技術方案,可支持每秒上萬筆交易并發,接近于Visa系統能做到的程度。而在當前的比特幣區塊鏈上,只能支持每秒處理約7筆事務,還要付出高昂的手續費,并等待很長時間來確認交易生效,這些因素都使得用比特幣發送小額交易幾乎不可能。而閃電網絡把這兩個問題都解決了。
引言
閃電網絡是一種支付通道系統,與常見的多簽名錢包沒有任何區別。所謂開啟通道,就是參與方創建一個多簽名錢包,并向該錢包充入資金。這個錢包接收到的資金數量就成為這個通道的余額。再然后,參與方之間的后續交易就全部在區塊鏈以外的環境中發生了。任一參與方都能隨時關閉這個通道,這時候,最后一筆鏈下的交易會被發送到區塊鏈上,同時作廢掉所有中間的交易,因為所有這些交易都使用同樣的交易輸出。結果是,我們只需一筆交易來開啟通道、一筆交易來關閉通道,中間所有的中間交易都是即時收發的,無需記錄在區塊鏈上。
。交易可以任意分配所用支票的價值來生產任意數量的新支票。)
這樣的通道所組成的網絡使你可以向網絡的另一個參與者發送資金,即使你們之間并無直接的通道。唯一的條件是你們之間要能形成一條“路徑”,即有通道能前后相接地把你和對方聯系起來。此外,得益于特殊的智能合約,你不需要信任網絡中的任何人,合約會保證安全地交付你支付的資金。
要理解閃電網絡是如何運行的,首先要理解的是支付通道的運行以及構成支付通道基礎的HTLC。這些話題都不小,所以我把文章分成了兩部分,從解釋支付通道的工作原理開始。
支付通道
如上所述,連接兩個參與者的支付通道實質就是一個普通的多簽名錢包。第一筆交易決定了一個通道的余額,我們稱為“充值事務”或者“錨點事務”。這筆交易需要廣播到網絡中并記錄到區塊鏈上,以表明通道開啟。
數據:比特幣閃電網絡觀察到的節點數量超4萬個:金色財經報道,根據1ml數據顯示,比特幣閃電網絡觀察到的節點數量已經超過4萬個,本文撰寫時達到40,939個,過去30天漲幅1.62%。此外,當前比特幣閃電網絡容量達到5054.71 BTC,約合96,750,306.36美元,網絡通道數量為82,402個(過去30天下降4.8%)。[2022/10/22 16:35:28]
做完了這一步之后,要更新通道雙方的余額時,雙方就需要手動交換簽過名的“承諾事務”。這些交易本身都是有效的,隨時可以發送到比特幣網絡中,但雙方都會暫時保存起來,不會廣播出來,除非已準備關閉通道。如此一來,通道內雙方的余額狀態,一秒內變動幾千次也沒問題,更新的速度僅受限于雙方創建、簽名和向對方發送承諾事務的速度。
每次雙方交換了一筆新的承諾事務,他們也就把通道的前一個狀態作廢掉;因此,只有最新的一筆承諾事務可以“執行”。這樣設計的目的是防止某一方欺詐對方,把一個過時的但對自己有利的狀態發送的鏈上來關閉通道。下文我會講解幾種防止這種欺詐的機制。
最后,通道既可以雙方一致同意關閉——就是把一筆關閉事務發送到比特幣網絡中——也可以單方決定關閉,就是把最后一筆承諾事務發送到網絡中。這是為了防止某一方離線導致另一方在通道中的余額一直“鎖定”的情形。
在通道存在的整個生命周期里,只有兩筆事務被發到了比特幣網絡中并記錄到了比特幣區塊鏈上。在這兩筆事務之間,雙方可以交換無數次承諾事務,這些事務都不需要提交到區塊鏈上。
閃電網絡客戶端c-lightning發布v0.10.0版本:4月3日消息,比特幣側鏈開發公司Blockstream發布閃電網絡客戶端c-lightning v0.10.0版本。官方表示,這是一次重大更新,整合了最近版本中所做的改進,并允許在運行時啟用大多數實驗功能。其中包括支持通道雙方提供資金:如果雙方都支持,則將使用新的交易構建協議來打開通道:雙方可以做出貢獻,而不是一方創建(并資助)用于打開通道的交易。雙方都可以向該通道添加資金。[2021/4/3 19:43:10]
一個簡單的支付通道案例
在解釋更加復雜的機制之前,我們先來考慮一個簡單的、單向的通道的例子。為了簡化這個解釋,我們假設雙方都是誠實的。后面我們會再考慮幫助我們阻止欺詐的機制。
假設一個通道有兩個參與者,Emma和Fabian。Fabian提供付費的視頻流服務,而觀看者通過通道來實現小額支付——每觀看一秒就要付出0.00001btc,相當于每小時0.036btc。Emma是一個想看視頻的普通用戶。
Emma和Fabian使用一個特殊的程序來同步播放視頻和運行支付通道。Emma在自己的網絡瀏覽器中啟動這個程序,而Fabian在自己的服務器上使用同一個程序。這個程序具有一個普通的比特幣錢包軟件的所有功能,它可以創建和簽名交易。支付通道的整個機制可以完全隱藏起來,用戶看到的事實就是這個視頻是按秒計價的。
閃電網絡節點數量已達17356個:金色財經報道,據1ML.com數據,目前,支撐網絡的節點數量達到17356個,相較30天前數據,環比上漲7%;通道數量為38347,相較30天前數據,環比上漲2.5%;閃電網絡承載能力目前為1108.34BTC,約合5498.77萬美元。[2021/3/4 18:16:05]
現在我們來看看這個付費服務的具體工作流程。一開始,Emma和Fabian要開啟通道:建立一個2-2的多簽名地址。從用戶的視角來看,這個程序創建了一個P2SH地址并要求用戶充入足以支付一個小時視頻服務的資金。Emma轉了0.036btc到這個地址,而這筆交易也就成了所謂的充值事務。
充值事務被打包到某個區塊之后,這個通道就算開啟了,視頻也就開始播放。在第一秒鐘,用戶創建并簽名了一條承諾事務,改變了通道內的余額:現在Fabian有了0.00001btc,Emma還剩0.03599btc。這筆事務使用了充值事務的輸出,并創建了兩個輸出,含義就如我們這里所述。從服務商的角度看,程序收到了這筆事務,于是也簽上名、連同第一秒的視頻發回給Emma。現在雙方都有了一筆對方手動簽過名的、反映通道最新狀態的承諾事務;如有需要,任何一方都可以把這筆交易發送到比特幣網絡中。
到了第二秒,Emma這邊的程序又創建了一筆新的承諾事務,使用的同樣是充值交易的輸出,這一次,承諾事務的第一個輸出給了Fabian0.00002btc,把0.03598給了Emma。這筆事務用來支付第二秒的視頻下載。
我們假設,Emma看了10分鐘的視頻,然后就退出了。在這段時間里,她簽名并發送了600筆承諾事務。最后的一筆有兩個輸出:0.03btc給Emma,和0.006給Fabian。Emma關閉了通道,把最后一筆承諾事務廣播到了比特幣網絡中作為結算事務。如此,這個通道只有一頭一尾兩筆事務記錄到了區塊鏈上。
動態 | 閃電網絡節點數量達10475個:1ML.com數據顯示,閃電網絡節點數量呈持續上升趨勢。目前,支撐網絡的節點數量達到10475個,在過去的30天中上漲了2.49%,而通道數量為34841,在過去的30天中下降了1.1%。閃電網絡承載能力目前為824.38BTC,約合694.23萬美元。[2019/11/18]
免信任的通道
當然,從這個例子來看,一切都好,但這是因為雙方都是誠實的。不難想象某些時候,其中一方會欺騙對方,像上面這么簡單的設計可能就不夠用了。
雖然通道開啟著,Emma還是需要Fabian的簽名來取出資金,因為這個通道是2-2的多簽名地址。如果Fabian消失了,Emma的資金可能會永遠鎖在這個通道里面。
雖然通道開啟著,Emma可以使用任何一筆雙方都簽過名的承諾事務。在觀看視頻10分鐘之后,她可以拿第一筆承諾交易上鏈,完全不需要經過Fabian的再次同意。
時間鎖
這些問題的一種解決方案是在承諾事務中使用時間鎖)。為了保證資金不會在通道中永遠鎖定,Emma使用她的充值事務的輸出創建了一個退款事務。她先給Fabian發送這筆事務,等Fabian簽名并發回后,Emma才把充值事務廣播到比特幣網絡中,開啟他們的通道。
這筆退款事務也成了第一筆承諾事務,而且它的時間鎖為通道設置了一個存在時間的上限。假設Emma把時間鎖設置為30天。接下來所有的承諾事務,所設置的時間鎖會一個比一個短,這樣更新的事務就能更早廣播到網絡中。
美國密碼學專家:首個通過主網測試的閃電網絡軟件是一場實驗的開端,而不是僅僅是成功的果實:關于閃電網絡實驗室本周四發布了閃電網絡LND 0.4-beta的重磅級好消息,來自美國約翰霍普金斯大學的密碼學專家馬修?格林(Matthew Green)近日在推特上寫道:“許多人將閃電網絡LND 0.4-beta——首個通過主網測試的閃電網絡軟件視為成功的果實,而不是一項剛剛才開始、充滿挑戰的實驗。”[2018/3/17]
現在Emma不用再擔心了,她知道即使Fabian玩失蹤,她也可以在30天之后取回自己的資金。
每一筆新的承諾事務的時間鎖都比前一筆要短,因此,新一筆承諾事務總是能比舊的更早上鏈并使舊的事務作廢,這樣就能防止任何一方惡意使用舊的承諾事務。如果一切順利,Emma和Fabian只需廣播雙方一致的普通結算事務,因此帶時間鎖的承諾事務只有一方下線時才會派上用場。
舉個例子,如果第一筆承諾事務的時間鎖是4320個區塊,那么第二筆承諾事務可以設成4319個區塊,以此類推。如此一來,第600筆承諾事務可以比第一筆承諾事務早600個區塊上鏈。
你可能也注意到了,這種方法雖然有助于防止某一方把更早的承諾事務上鏈,但它有兩個明顯的缺點:
第一筆承諾事務的時間鎖限制了這個通道的壽命。如果這個時間鎖設置的時間太長,通道可以存在很久,但如果某一方玩失蹤,另一方就不得不等待很長時間才能廣播最后一筆承諾事務、取回自己的資金。
第一筆承諾事務的時間鎖也限制了可以在通道內發生的交易次數。在我們的例子中,這個數值是4320,這個通道內只能發生4320筆事務,因為每一筆新事務都會把時間鎖的時間減去1個區塊。而且,以區塊為間隔,等于是強迫參與方要追蹤比特幣網絡的區塊,以免錯過什么,以及在情形不對時盡早把最后一筆承諾事務上鏈。當然,這個間隔是可以延長的,但代價是通道內可以發送的交易數量會變得更少。
因此,時間鎖讓我們可以作廢舊的承諾事務并保證通道雙方都可以安全地關閉通道:如果他們都同意通道的最新狀態,他們可以發送一筆不帶時間鎖的結算事務,關閉通道;如果某一方不在線,另一方也可等待最后一筆承諾的時間鎖解鎖,然后把該筆承諾事務廣播到比特幣網絡中。
不對稱的可撤銷承諾
另一種解決上述信任問題的辦法是取消早前的承諾事務。實際上,“取消”這個詞是不準確的,因為在比特幣網絡中,一筆上鏈的事務是永遠不可取消的。不過,特殊的構造方式可以使得上鏈較早的承諾事務無利可圖。只需給予各方一個“撤銷密鑰”即可。
假設Hitesh和Irene決定開啟一個通道。雙方都充值了5btc到這個通道中,確定了通道的初始余額。現在,雙方不是簽署同一筆標準的承諾事務,而是各自創建兩筆不同的、不對稱的承諾事務。
Hitesh拿到的由Irene簽名的事務有兩個輸出,第一個輸出不帶時間鎖,立即給Irene支付5btc,而第二個輸出帶有時間鎖,支付5btc給Hitesh,但要等1000個區塊之后,這個輸出才能花用。詳情如下:
與此同時,Irene也可拿到由Hitesh簽名的一個承諾事務,有兩個輸出:一個立即給Hitesh支付5btc,另一個輸出則給Irene支付5btc,但要等1000個區塊之后才能花。
因此,雙方都拿到了一筆由對方簽名的承諾事務。Hitesh和Irene都可以隨時把手上的承諾事務簽名后廣播出去,但是,一旦這么鎖了,另一方都會立即拿到錢,而自己只能等到1000個區塊之后才能拿到,這可是大大的不利。不過,這還不足以讓雙方都誠實守信。
這就要講到我們的最后一個功能了,可撤銷的密鑰,使得任一方如果試圖欺詐,對方都可以懲罰TA,使之血本無歸。
如上所述,每一筆承諾事務都有一個“延后”的輸出,我們把這個輸出做得再復雜一點:這個輸出既可以被等待了1000個區塊的承諾事務發送者使用,也可以被通道的另一方使用,如果TA持有撤銷密鑰的話。當Hitesh創建承諾事務并交給Irene時,他的第二個輸出既可以為自己所用也可以為Irene使用,如果后者掌握了撤銷密鑰的話。
Hitesh會秘密地保管這個密鑰,僅當他決定使用新的一筆承諾事務來更新通道內狀態時才會發給Irene。事務的詳情如下:
附帶一個例子可能會更容易理解。假設Irene希望給Hitesh發送2btc,這時候他們要更新通道的狀態,也就是要創建一筆新的承諾事務。雙方各自創建一個不對稱的承諾事務,并且,在簽名之前,先把上一筆承諾事務的撤銷密鑰交給對方,如此便“撤銷”了上一筆承諾事務。如果Hitesh希望以通道最后的余額來結算,而Irene看著覺得更舊的狀態對自己更有利,她可以嘗試把自己手中的上一筆承諾事務簽名后廣播到網絡中,但這筆承諾事務的撤銷密鑰已經暴露給了Hitesh;如果他發現這筆承諾事務上鏈了,他有足足1000個區塊的時間可以把通道內的所有錢都拿走。
因此,這種使用不對稱可撤銷承諾的通道的效率要更高,因為它不限制通道的壽命,也不限制交易發送的次數。
結語
到這里,我們的第一篇文章就結束了,估計你也要一段時間來消化一下,你也可以在評論中提問。在下一篇文章,我們會解釋HTLC的功能,最終解釋閃電網絡是如何工作的。
9月12日,韓國金融情報局表示,正在密切關注即將倒閉的加密貨幣交易所。FIU隸屬于該國金融監管機構金融服務委員會。該監管機構與和金融機構合作,旨在防止這些交易所帶走用戶賬戶中的資金.
1900/1/1 0:00:00比為一個DAO工作更酷的唯一事情是為所有DAO工作。但要做到這一點,您需要弄清楚所有DAO需要什么。這對我們來說也很棘手。所以在DAO峰會上,我們聚集了一些領先的DAO創始人、運營商和投資者.
1900/1/1 0:00:00在《理解媒介》中,McLuhan提出了冷熱媒介的概念。電影就是一種「熱媒介」,具有高清晰度,但是使用的時候,也被媒介定義了唯一的參與方式.
1900/1/1 0:00:00什么是SushiSwap?SushiSwap最初是基于主流的以太坊自動做市商協議Uniswap的分支,但在短時間內迅速成為該領域創新前沿的DeFi領導者.
1900/1/1 0:00:00從傳統市場經濟學派的無摩擦市場假設,到哈耶克的貨幣非國家化,在幣圈的生態系統里或許都變的不一樣了。傳統的估值模型所呈現的價值錨定,在“幣圈”這一名詞化的體系里,都需要進行修改.
1900/1/1 0:00:00NFT社區的大多數人都知道,在一個錢包從合約中鑄造了1008個代幣后,Sevens上周的發布失敗了.
1900/1/1 0:00:00