重點

  • Layer-2 解決方案的創建是爲了解決區塊鏈技術固有的可擴展性限制。

  • 閃電網路是第 2 層可擴展性解決方案,無需區塊確認即可提供快速交易,從而實現高效的小額支付。

  • 它透過多重簽名地址和哈希時間鎖合約保證安全且可擴展的付款。

介紹

加密貨幣具有一些獨特的屬性。它們不太可能被駭客攻擊或系統關閉,任何人都可以使用它們在全球範圍內轉移價值,而無需第三方干預。

爲了保持這些資源的正常運行,一些限制是必要的。由於許多節點負責運行加密貨幣網絡,因此吞吐量是有限的。因此,對於旨在全球採用的技術來說,區塊鏈網絡每秒可以處理的交易數量(TPS)相對較低。

爲了克服區塊鏈技術固有的限制,人們提出了幾種可擴展性解決方案來增加網絡能夠處理的交易數量。在本文中,我們將討論閃電網絡,它是比特幣協議的擴展之一。

什麼是閃電網絡?

閃電網絡是一個在區塊鏈上運行並促進點對點交易的網絡。它不是比特幣獨有的網絡——其他加密貨幣已經與它集成。

您可能想知道“在區塊鏈上(或之上)操作”是什麼意思。閃電網絡就是我們所說的鏈下或第 2 層解決方案。它允許用戶進行交易,而無需將它們全部記錄在區塊鏈上。

閃電網絡與比特幣網絡是分開的——它有自己的節點和軟件,但仍然與主區塊鏈通信。要加入或離開閃電網絡,您需要在區塊鏈上創建特殊交易。

當您進行第一筆交易時,您實際上是在與另一個用戶創建一種智能合約。我們很快就會看到更多細節 - 現在,只需瞭解智能合約爲您和其他用戶維護一個私人分類賬即可。在這個賬本中,你可以記錄很多交易。它們僅對您和您的對手可見,但由於設置的某些特定功能,你們都無法作弊。

這個迷你賬本被稱爲通道。假設 Alice 和 Bob 各將 5 BTC 放入智能合約中。在他們的頻道上,他們都有 5 BTC 的餘額。 Alice 可以在賬本中記錄“向 Bob 支付 1 BTC”。現在,Bob 有 6 BTC,Alice 有 4 個。稍後,Bob 可以將 2 BTC 發送回 Alice,將餘額更新爲 Alice 的 6 BTC 和 Bob 的 4 BTC。他們可能會繼續這樣做一段時間。

任何時候,他們中的任何一個都可以將通道的當前狀態發佈到區塊鏈。此時,每個人的餘額都在區塊鏈上分配給各自的各方。

顧名思義,閃電網絡交易速度快如閃電。無需等待區塊確認——根據您的互聯網連接,可以非常快速地進行付款。

爲什麼需要閃電網絡?

到目前爲止,閃電網絡(LN)似乎是擴展比特幣區塊鏈最明智的方法。在如此廣泛的生態系統中協調變化非常複雜——存在硬分叉和潛在災難性錯誤的風險。由於存在如此大的價值,實驗是極其危險的。

通過將這種類型的實驗從區塊鏈中轉移出來,可以實現更大的靈活性。如果出現問題,真實的比特幣網絡不會受到影響。第 2 層解決方案不會破壞使協議運行超過 15 年的任何安全措施。

也沒有義務改變傳統的經營方式。鏈上交易(在區塊鏈上)繼續對最終用戶正常運行,但他們現在也可以選擇進行鏈下交易。

使用閃電網絡有很多好處。讓我們看看一些主要的。 

可擴展性

比特幣區塊每十分鐘創建一次,並且只能包含少量交易。每個區塊的空間都很寶貴,因此您必須與其他用戶競價才能及時包含您的交易。礦工主要關心的是獲得報酬,因此他們首先考慮費用最高的交易。

當沒有很多用戶同時嘗試發送資金時,這不一定是問題。您可以設置較低的費用,您的交易很可能會包含在下一個區塊中。然而,當許多用戶同時傳輸交易時,平均速率會顯着增加。比特幣曾多次突破 10 美元,在 2017 年牛市最高峯時,比特幣的平均交易費用曾超過 50 美元。

對於用比特幣轉移數千美元的交易來說,這似乎微不足道,但對於較小的支付來說,這是不可持續的。誰願意支付 3 美元的咖啡並額外支付 10 美元的費用?

使用閃電網絡,您仍然需要支付兩項費用 - 一項用於打開通道,一項用於關閉通道。但開通通道後,你和你的交易對手可以免費進行數千筆交易。完成後,只需將最終狀態發佈到區塊鏈即可。

一般來說,如果更多的用戶依賴閃電網絡等鏈下解決方案,每個區塊的空間將得到更有效的利用。低價值、高頻次的轉賬可以通過支付通道進行,而區塊空間則用於更大規模的交易和開/關通道。這將使系統更容易被更廣泛的用戶羣訪問,從而實現系統的長期可擴展性。

小額支付

您在一筆交易中可以發送的比特幣最低金額約爲 0.00000546 BTC。目前,這相當於約 0.38 美元。雖然金額很小,但閃電網絡允許您突破當前可用的最小單位(0.00000001 BTC 或 1 satoshi)進行交易的限制。

閃電對於小額支付來說更有趣。常規交易費用使得在主區塊鏈上發送小額金額變得不可行。然而,在一個通道內,您可以免費發送一小部分比特幣。

小額支付適用於許多用例。一些人推測它們可能是基於訂閱的模式的可行替代品,在訂閱模式中,用戶每次使用某種服務時都需要支付少量費用。

隱私

閃電網絡的另一個好處是它爲用戶提供高度的保密性。各方無需在網絡上公開其渠道。可以查詢區塊鏈並斷言此交易打開了一個通道,但您將無法知道其中發生了什麼。如果用戶選擇私人渠道,則只有他們才能訪問所進行的交易。

如果 Alice 與 Bob 有一個通道,並且 Bob 有與 Carol 的通道,則 Alice 和 Carol 可以通過 Bob 相互發送付款。如果 Dan 與 Carol 連接,Alice 可以向他付款。我們可以想象這會擴展到一個廣泛的互連支付渠道網絡。在這樣的設置中,關閉通道後,無法確定 Alice 向誰發送了資金。

閃電網絡如何運作?

我們解釋閃電網絡如何依賴於節點之間的通道。讓我們查看更多詳細信息。

多重簽名地址

多重簽名(或多重簽名)地址允許使用多個私鑰進行交易/支出。創建私鑰時,您指定可以花費資金的私鑰數量以及簽署交易所需的私鑰數量。例如,五分之一方案意味着五個密鑰可以產生有效簽名,並且只需要一個。 3 之 2 方案表明,在三個可能的密鑰中,需要兩個來花費資金。

爲了初始化閃電通道,參與者以 2-of-2 的方式鎖定資金。只有兩個私鑰能夠簽名,並且都需要兩個私鑰來轉移硬幣。讓我們再次以我們的朋友愛麗絲和鮑勃爲例。他們將在接下來的幾個月內相互進行大量付款,因此他們決定開放閃電網絡通道。

首先,兩人各存入 3 BTC 到共同擁有的多重簽名地址中。值得重申的是,未經 Alice 同意,Bob 無法從該地址轉移資金,反之亦然。 

現在,他們只需記筆記並調整雙方的平衡即可。兩者的起始餘額均爲 3 BTC。如果愛麗絲想向鮑勃支付 1 BTC,爲什麼不簡單地記下愛麗絲現在有 2 BTC,鮑勃有 4 BTC?可以通過這種方式跟蹤餘額,直到他們決定將資金轉移到另一個地址。

這是可能的,但這不是理想的情況。而且最重要的是,用這種方法,他們中的一個很容易不合作,對吧?如果最終,愛麗絲有 6 個比特幣,而鮑勃沒有,那麼如果鮑勃拒絕釋放資金,他將不會損失任何東西(也許除了他與愛麗絲的友誼)。

哈希時間鎖定合約(HTLC)

考慮到當今可靠的配置選項,上述系統沒有太多可提供的功能。當我們引入一種強制執行 Alice 和 Bob 之間“契約”的機制時,事情會變得更加有趣。如果一方不遵守規則,另一方仍然有辦法從通道中提取資金。

這種機制就是哈希時間鎖合約(HTLC)。這個術語可能很可怕,但它實際上是一個非常容易理解的概念。它結合了其他兩種技術(哈希鎖和時間鎖)來糾正支付渠道中的任何不合作行爲。

哈希鎖是交易上的一個條件,規定只有證明您瞭解某個祕密,您才能花費資金。發送方對一組數據進行哈希處理,並將該哈希值包含在接收方的交易中。接收者只有提供與哈希相對應的原始數據(祕密)才能夠花費資金。獲取此數據的唯一方法是從發送者處接收它。

時間鎖是一種阻止您在特定時間之前支出資金的條件。確定具體時間或區塊高度。

HTLC 是通過組合哈希鎖和時間鎖創建的。在實踐中,HTLC 可用於創建有條件付款——接收者必須在設定的截止日期之前提供祕密,否則發送者可以收回資金。通過示例來解釋下一部分可能會更容易,所以讓我們回到愛麗絲和鮑勃的示例。

打開和關閉通道

在愛麗絲和鮑勃的示例中,他們創建了爲共享多重簽名地址提供資金的交易。但這些交易還沒有在區塊鏈上公佈!不過,在此之前,我們還需要做一件事。

Três moedas de Bob e três moedas de Alice.

鮑勃的三枚硬幣和愛麗絲的三枚硬幣。

請記住,轉移這些多重簽名硬幣的唯一方法是 Alice 和 Bob 共同簽署交易。如果愛麗絲想將所有六個硬幣發送到外部地址,她需要得到鮑勃的批准。首先,她將創建一個交易(六個比特幣到該地址),然後添加她自己的簽名。

她可以嘗試立即傳輸交易,但這將是無效的,因爲鮑勃沒有包含他的簽名。 Alice必須先將不完整的交易交給他。 Bob 添加簽名後,交易就生效了。

我們還沒有建立一個機制來確保每個人都誠實行事。正如我們之前所說,如果您的交易對手拒絕合作,您的資金將被有效凍結。讓我們詳細瞭解一下避免這種情況的機制。有不同的活動部件,所以讓我們放輕鬆。

每一方都需要創建一個祕密——我們將這些祕密稱爲“As”和“Bs”。如果愛麗絲和鮑勃泄露了它們,那將是可怕的祕密,所以他們暫時將它們隱藏起來。該對將生成各自的祕密哈希值 – h(As) 和 h(Bs)。因此,他們不是共享祕密,而是彼此共享這些哈希值。

Alice e Bob compartilham os hashes de seus segredos um com o outro.

愛麗絲和鮑勃互相分享他們的祕密的哈希值。

Alice 和 Bob 在將他們的第一個交易發佈到多重簽名地址之前還必須創建一組承諾交易。這樣,如果對方決定凍結資金,雙方都將得到保證。

如果您想到像我們之前提到的迷你分類賬這樣的通道,那麼承諾交易就是對分類賬進行的更新。每當您創建一對新的承諾交易時,您都在重新平衡兩個參與者之間的資金。

Alice 的交易將有兩個輸出 - 一個用於支付她擁有的地址,另一個則鎖定在新的多重簽名地址中。她簽署了交易並將其傳遞給鮑勃。

Transação de Alice com duas saídas (outputs) – uma para seu próprio endereço e outra para um novo multisig. Ela ainda precisa da assinatura de Bob para validar a transação.

Alice 交易有兩個輸出——一個輸出到她自己的地址,另一個輸出到一個新的多重簽名。她仍然需要鮑勃的簽名來驗證交易。

鮑勃也做了同樣的事情——一個商店向自己付款,另一個向另一個多重簽名地址付款。他簽署交易並將其傳遞給愛麗絲。

Temos duas transações incompletas que são muito semelhantes.

我們有兩筆非常相似的不完整交易。

通常,Alice 可以爲 Bob 的交易添加簽名以使其有效。但是,您會注意到這些資金被用於我們尚未資助的 2-of-2 多重簽名方案。這就像試圖從壞帳中清除一張支票。因此,這些部分簽名的交易只能在多重簽名工作時才能使用。 

新的多重簽名地址(3 個 BTC 輸出的目的地)具有一些特殊的屬性。讓我們看一下 Alice 簽名併發送給 Bob 的不完整交易。多重簽名輸出可以在以下條件下使用:

  1. 雙方可以合作簽署交易。

  2. Bob 可以在一段時間後(由於時間鎖)自行花費輸出值。

  3. 如果愛麗絲知道鮑勃的祕密 B,她就可以花這筆錢。

關於鮑勃發送給愛麗絲的交易:

  1. 雙方可以合作簽署交易。

  2. 一段時間後,愛麗絲可以自己花掉這筆錢。

  3. 如果 Bob 知道 Alice 的祕密 A,他就可以花費這筆金額。

請記住,雙方都不知道對方的祕密,因此第三個條件尚不可能。另一個重要的注意事項是,如果您簽署交易,您的交易對手可以立即花費該金額,因爲輸出沒有特殊條件。您可以等待時間鎖到期自行花掉資金,也可以配合對方立即花掉資金。

好的!您現在可以將交易發佈到原始的 2-of-2 多重簽名地址。這樣做最終是安全的,因爲如果對方放棄該通道,您可以收回資金。

一旦交易得到確認,通道就會啓動並運行。第一對交易向我們展示了迷你賬本的當前狀態。目前,他將向 Bob 支付 3 BTC,向 Alice 支付 3 BTC。

當愛麗絲想要向鮑勃進行新的付款時,他們會創建兩個新交易來替換第一組交易。過程是相同的——交易將被部分簽名。然而,首先,愛麗絲和鮑勃丟棄他們的舊祕密並使用新的哈希值進行下一輪交易。

Se Alice quisesse pagar 1 BTC para Bob, por exemplo, as duas novas transações creditariam 2 BTC para Alice e 4 BTC para Bob. Desta forma, o saldo estaria atualizado.

 例如,如果 Alice 想向 Bob 支付 1 BTC,則這兩筆新交易將向 Alice 記入 2 BTC,向 Bob 記入 4 BTC。這樣,餘額就會更新。

任何一方都可以隨時簽署並廣播最近的交易之一,以在區塊鏈上“解決”該交易。但這樣做的一方需要等到時間鎖到期,而另一方可以立即支出。請記住,如果鮑勃簽署並傳輸愛麗絲的交易,她將獲得不涉及任何條件的輸出。

雙方可以同意共同關閉通道(合作關閉)。這可能是在區塊鏈上恢復資金最簡單、最快的方法。然而,即使一方拒絕合作,另一方仍然可以通過等待時間鎖來收回資金。

閃電網絡如何防止作弊?

也許您已經在此過程中識別出攻擊媒介。如果 Bob 目前的餘額爲 1 BTC,那麼是什麼阻止他傳輸餘額較大時的舊交易?他已經有了Alice部分簽名的交易,他只需要添加他的簽名並傳輸它,對吧?

沒有什麼可以阻止他這樣做——除了他可能會失去整個平衡。假設他廣播了一筆舊交易,該交易向 Alice 支付一枚硬幣,並向我們之前提到的多重簽名地址支付五枚硬幣。

愛麗絲立即收到了她的硬幣。另一方面,Bob 必須等到時間鎖到期才能使用多重簽名地址值。您還記得我們提到的另一個條件,即允許愛麗絲立即花費相同的資金嗎?爲此,她需要一個她當時不知道的祕密。但現在她有了這個信息——第二輪交易一創建,鮑勃就透露了他的祕密。

當鮑勃坐在那裏,在等待時間鎖到期時無法做任何事情時,愛麗絲可以轉移資金。這種“懲罰”機制使得參與者不太可能試圖作弊,因爲交易對手將可以獲得他們的代幣。

交易路由

我們之前討論過這一點——連接通道是可能的。如果不可能,閃電網絡對於支付就不會那麼有用。您是否會在咖啡店的渠道中鎖定 500 美元,只是爲了在接下來的幾個月裏獲得每日劑量的咖啡?

你不需要這樣做。如果 Alice 打開了與 Bob 的通道,並且 Bob 已經與 Carol 建立了通道,則 Bob 可以通過他們兩個路由付款。這種機制也適用於多個“跳躍”,這意味着愛麗絲可以有效地向連接到這些“路線”之一的任何人付款。

Nesse cenário, Alice pode utilizar múltiplas rotas para chegar até Frank. Na prática, ela sempre vai usar a mais fácil.

在這種情況下,Alice 可以使用多條路線到達 Frank。在實踐中,她總是會使用最簡單的一種。

中介機構可能會爲其路由角色收取少量費用(儘管這不是義務)。閃電網絡仍然非常新,因此費用市場尚未實現。許多人期望看到基於所提供的流動性的利率。

通常在區塊鏈上,您的費用僅基於您的交易在區塊中佔用的空間——交易的價值並不重要——支付 1 美元或 10,000,000 美元的費用是相同的。另一方面,在閃電網絡中不存在區塊空間的問題。 

相反,有本地平衡和遠程平衡的概念。本地餘額是您可以“推送”到通道另一端的金額,而遠程餘額是您的交易對手可以發送給您的金額。

再舉一個例子。我們看一下上面提到的其中一條路線:Alice <> Carol <> Frank。

Saldo dos usuários antes e depois de uma transferência de 0,3 BTC de Alice para Frank.

從 Alice 向 Frank 轉賬 0.3 BTC 之前和之後的用戶餘額。

Alice <> Carol 和 Carol <> Frank 路線的總容量均爲 1 BTC。 Alice 的本地餘額爲 0.7 BTC。如果他們現在合併區塊鏈上的餘額,她將收到 0.7 BTC,卡羅爾將收到遠程餘額(即 0.3 BTC)。

如果 Alice 想發送 0.3 BTC 給 Frank,她會“推送” 0.3 BTC 到 Carol 的通道一側。然後,Carol 從她的本地餘額中將 0.3 BTC 發送到她與 Frank 的頻道。結果,卡羅爾的餘額保持不變:愛麗絲+0.3 BTC,弗蘭克-0.3 BTC。

卡羅爾在充當弗蘭克和愛麗絲之間的聯繫方面沒有任何損失,但她在靈活性方面有所損失。請注意,她現在可以在 Alice 的頻道上花費 0.6 BTC,但在 Frank 的頻道上只能花費 0.1 BTC。

想象一下,愛麗絲僅連接到卡羅爾,而弗蘭克連接到更廣泛的網絡。此前,Carol 總共可以通過 Frank 向其他人發送 0.4 BTC,但現在她只能發送 0.1 BTC,因爲這是她在通道中的剩餘金額。

在這種情況下,愛麗絲正在消耗卡羅爾的流動性。如果沒有任何類型的激勵,卡羅爾可能不想要這個不太有利的職位。因此,每轉賬 0.01 BTC,它可以簡單地收取 10 聰的費用。這樣,卡羅爾在“更強”的路線上犧牲的當地餘額價值越大,她獲得的利潤就越多。

如前所述,不需要收取費用。一些用戶可能並不擔心流動性減少。其他人可能只是直接與接收者打開渠道。

閃電網絡的侷限性

如果閃電網絡被證明可以解決所有比特幣可擴展性問題,那就太棒了。不幸的是,它有其自身的缺點和侷限性。 

可用性

對於初學者來說,比特幣並不是最直觀的系統——地址、費用和其他方面一開始可能會令人困惑。此外,一旦設置了閃電網絡用戶,用戶必須在付款之前打開通道。對於對入站/出站功能等概念知之甚少的新手來說,這可能是一個耗時且複雜的過程。

也就是說,我們正在不斷進行改進,以減少進入壁壘併爲用戶提供更簡化的體驗。

流動性

對閃電網絡最大的批評之一是其進行交易的能力受到限制。花費的金額不可能超過通道中鎖定的金額。如果您用完所有資金直到遠程餘額代表通道的所有資金,則您將需要關閉通道。或者,您可以等到有人付錢給您,但這不是理想的選擇。

路線也可能受到通道總容量的限制。想想前面的例子:愛麗絲<>卡羅爾<>弗蘭克。如果Alice和Carol的通道容量爲5 BTC,但Carol和Frank的通道容量只有1 BTC,那麼Alice將永遠無法發送超過1 BTC。即便如此,爲了使交易有效,所有餘額都需要在 Carol <> Frank 頻道中位於 Carol 這邊。這可能會極大地限制可以通過 LN 通道發送的資金量,從而對可用性產生連鎖反應。

集中樞紐

由於上一節提到的問題,人們擔心網絡將促進巨型“樞紐”的創建。換句話說,大型組織/實體的中心,聯繫緊密且具有大量流動性。在這種情況下,任何大額付款都需要通過這些實體進行。

顯然,這不會是一個有趣的情況。這會削弱系統,因爲如果其中一些實體離線或出現問題,對等點之間的絕大多數連接都會中斷。由於交易僅通過幾個點進行,因此審查的風險也更大。

閃電網絡的現狀

目前,2024年3月,閃電網絡運行良好。該網絡擁有超過13,000個在線節點、52,000個活躍通道和超過4,570 BTC的容量。

Distribuição global de nodes da Lightning Network. Fonte: explorer.acinq.co

閃電網絡節點的全球分佈。

有幾種不同的節點實現——Blockstream 的 c-lightning、Lightning Labs 的 Lightning Network Daemon 和 ACINQ 的 Eclair 是最受歡迎的一些。許多公司爲技術水平較低的用戶提供即插即用節點。您唯一需要做的就是打開設備,僅此而已。您現在可以開始使用閃電網絡。

最後的考慮因素

自 2018 年主網推出以來,閃電網絡經歷了顯着的增長。在可用性方面仍然存在一些障礙需要克服,因爲目前操作閃電節點需要一定程度的技術熟練程度。但隨着我們看到的快速發展,進入門檻會越來越低。

進一步閱讀

  • 區塊鏈可擴展性 - 側鏈和支付渠道

  • 什麼是節點??

  • 什麼是智能合約?

免責聲明:此內容“按原樣”呈現給您,僅供參考和教育目的,不提供任何形式的保證。內容不應被視爲財務、法律或專業建議,也不旨在推薦購買任何特定產品或服務。您應該向專業顧問尋求自己的建議。對於第三方貢獻者提交的貢獻和文章,請注意,所表達的觀點僅代表各自作者的觀點,並不一定反映幣安學院的觀點。欲瞭解更多詳情,請在此處閱讀我們的免責聲明。數字資產價格可能會波動。您的投資價值可能會增加或減少,並且您可能無法收回投資金額。您對自己的投資決定承擔全部責任,幣安學院不對您可能的任何損失負責。本材料不應被視爲財務、法律或專業建議。欲瞭解更多信息,請參閱我們的使用條款和風險聲明。