要點:

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

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

  • 它通過多重簽名地址和哈希時間鎖合約提供安全且可擴展的支付。

介紹

加密貨幣有一些非常獨特的屬性。它們不容易被黑客攻擊或禁用,任何人都可以使用它們在世界各地轉移價值,而無需第三方干預。

爲了保證這些功能的保留,有必要採取重大妥協。由於許多節點負責加密貨幣網絡的運行,因此帶寬是有限的。因此,對於旨在大規模採用的技術來說,區塊鏈網絡每秒可以處理的交易數量(TPS)相對較小。

爲了克服區塊鏈技術的侷限性,人們提出了許多可擴展性解決方案來增加網絡可以處理的交易數量。在本文中,我們將深入研究閃電網絡,這是比特幣協議的一種擴展。

什麼是閃電網絡?

閃電網絡是一個位於區塊鏈之上的網絡,用於促進快速的 P2P 交易。比特幣也不例外。其他加密貨幣也集成了該解決方案。

您可能想知道“在區塊鏈之上”是什麼意思。閃電網絡是所謂的鏈下或第二層解決方案。它允許人們進行交易,而無需在區塊鏈上記錄每筆交易。

閃電網絡與比特幣網絡是分開的——它有自己的節點和軟件,但它與主區塊鏈交互。要進入或離開閃電網絡,必須在區塊鏈中創建特殊交易。

您對第一筆交易實際上所做的是與另一個用戶創建一種智能合約。我們很快就會討論細節,但現在,想象一個爲您和另一個用戶存儲私人分類賬的智能合約。您可以將許多交易寫入此分類帳。它們僅對您和您的伴侶可見,但由於設置的具體情況,你們倆都無法欺騙任何人。

這個迷你註冊表稱爲通道。假設 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美元。 2021 年 4 月,比特幣交易的平均費用超過 60 美元。

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

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

總的來說,如果更多的用戶依賴閃電網絡等鏈下解決方案,區塊空間將得到更有效的利用。小額但頻繁的轉賬可以在支付通道中進行,而區塊空間則用於較大的交易和通道的打開/關閉。這將使該系統可供更廣泛的用戶羣使用,從而使其能夠長期擴展。

小額支付

您可以在一筆交易中發送的最小比特幣金額約爲 0.00000546 BTC。在撰寫本文時,這大約相當於 38 美分。雖然金額很小,但閃電網絡允許您突破限制,以可用的最小單位(0.00000001 BTC 或 1 聰)進行交易。

閃電網絡對於小額支付更具吸引力。常規交易費用使得向主區塊鏈發送少量金額變得不切實際。但是,在該頻道內,您可以免費發送一部分比特幣。

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

隱私

閃電網絡的第二個優點是它可以爲用戶提供高水平的隱私。各方無需報告其更廣泛的網絡渠道。雖然你可以查看區塊鏈並說這筆交易打開了一個通道,但你無法知道其中發生了什麼。如果會員決定將其頻道設爲私有,則只有他們知道其中發生了哪些交易。

如果 Alice 與 Bob 有一個通道,並且 Bob 有與 Carol 的通道,則 Alice 和 Carol 可以通過 Bob 相互發送付款。如果 Dan 與 Carol 連接,Alice 可以向他付款。您可以想象這如何擴展到一個龐大的互連支付渠道網絡。在這種情況下,您無法確定 Alice 在關閉通道後將資金髮送給了誰。

閃電網絡如何運作?

我們解釋了閃電網絡如何在最高級別使用節點之間的通道。讓我們從內部考慮一下系統的運行原理。

具有多重簽名的地址

多重簽名(或多重簽名)地址是涉及使用多個私鑰進行轉賬的地址。創建它時,您指定可以花費資金的私鑰數量以及簽署交易需要多少個私鑰。例如,“1 of 5”方案意味着五個密鑰可以創建有效簽名,並且只需要一個即可形成轉賬。方案 3 中的 2 意味着在三個可能的密鑰中,需要任意兩個來轉移資金。

爲了初始化閃電通道,參與者以 2-of-2 方案凍結資金,只有兩個私鑰可供簽名,並且都需要用於轉移代幣。讓我們回到我們的朋友愛麗絲和鮑勃。在接下來的幾個月裏,他們將相互進行大量付款,因此他們決定開放閃電網絡通道。

首先,他們兩人各自向一個共享的多重簽名地址貢獻 3 BTC。值得重申的是,未經愛麗絲同意,鮑勃不能從某個地址轉移資金,反之亦然。 

這相當於擁有一張紙,其中規定了各方的餘額。兩者的起始餘額均爲 3 BTC。如果愛麗絲想向鮑勃支付 1 BTC,爲什麼不只注意到愛麗絲現在擁有 2 BTC,鮑勃擁有 4 BTC?可以通過這種方式跟蹤餘額,直到他們決定提款爲止。

這是可能的,但是這裏有什麼問題呢?更重要的是,這種簡單不就是有人拒絕合作的藉口嗎?如果愛麗絲得到了 6 個比特幣,而鮑勃一無所獲,那麼鮑勃不會因拒絕轉移資金而失去任何東西(除了他與愛麗絲的友誼)。

哈希時間鎖定合約(HTLC)

與其他現代配置相比,上述系統很簡單並且不提供豐富的功能。當我們引入執行 Alice 和 Bob 之間“契約”的機制時,事情會變得更加有趣。如果其中一方不想遵守規則,這提供了從渠道退款的可能性。

這種機制稱爲哈希時間鎖定合約(或HTLC)。這個術語聽起來可能很複雜,但概念實際上非常簡單明瞭。它結合了另外兩種技術(哈希鎖和時間鎖)來消除支付渠道中發生衝突行爲的可能性。

哈希鎖是交易的一個條件,只有在您知道祕密的情況下才能使用資金。發送方對一段數據進行哈希處理,並將該哈希值包含在發送給接收方的交易中。接收者解鎖它們的唯一方法是提供與給定哈希匹配的原始數據(祕密)。提供此數據的唯一方法是從發送者處獲取它。

時間鎖定是一種不允許您在特定時間之前花費資金的條件。時間段指定爲實際時間或區塊高度。

HTLC 是通過組合哈希鎖和時間鎖創建的。在實踐中,HTLC 可用於創建有條件付款 - 接收者必須在特定時間之前提供祕密,否則發送者可以退回資金。下一部分可能最好用一個例子來解釋,所以讓我們回到愛麗絲和鮑勃。

打開和關閉通道

考慮一個例子:愛麗絲和鮑勃剛剛創建了爲多重簽名地址提供資金的交易。他們將在不久的將來使用這個地址,但到目前爲止這些交易還沒有在區塊鏈上發佈!首先還有一件事要做。

Три монети Боба та три монети Аліси.

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

請記住,從多重簽名錢包中取出這些代幣的唯一方法是 Alice 和 Bob 共同簽署交易。如果愛麗絲想將所有六個硬幣發送到外部地址,她將需要鮑勃的批准。首先,它形成一個交易(指定要發送到另一個地址的六個比特幣的數量)並添加自己的簽名。

Alice可以立即嘗試廣播該交易,但該交易將無效,因爲Bob尚未對其進行簽名。愛麗絲必須把未完成的事情交給他。一旦他簽字,交易就生效。

然而,在這種情況下,仍然沒有一個程序可以強制參與者誠實行事。正如我們之前提到的,如果您的交易對手拒絕合作,您的資金實際上就會被困。讓我們繼續討論防止這種情況發生的機制。爲此,有幾個驅動元件將成爲解決此類問題的方法。

爲了避免這種不利的情況,雙方都必須想出一個祕密,我們稱它們爲:A和Bs。如果愛麗絲和鮑勃透露它們,他們將失去資金,所以他們暫時保密。然後,該對生成相應祕密的哈希值:h(As) 和 h(Bs)。因此,他們不是共享祕密,而是交換哈希值。

Аліса та Боб обмінюються хешами своїх секретів.

愛麗絲和鮑勃交換他們的祕密的哈希值。

Alice 和 Bob 在將首次轉賬發佈到多重簽名地址之前還需要創建一組交易承諾。這涉及某些安全措施,以防有人決定將資金“扣爲人質”。

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

就愛麗絲而言,她將有兩個出口:第一個地址是她添加的個人地址,第二個地址與具有多重簽名的新地址綁定。她在後者上簽名並將其交給鮑勃。

Транзакція Аліси з двома виходами: один із депозитом на її власну адресу, а інший із депозитом на нову адресу з мультипідписом. Проте для останнього ще потрібний підпис Боба, щоб зробити операцію дійсною.

Alice 的交易有兩個輸出,一個是存款到她自己的地址,另一個是存款到一個新的多重簽名地址。然而,後者仍然需要 Bob 的簽名才能使交易有效。

鮑勃也做了同樣的事情:一個地址是他的個人地址,另一個地址是多重簽名的。他簽了字,然後交給了​​愛麗絲。

Ми маємо дві незавершені транзакції, які дуже схожі.

我們有兩筆非常相似的待處理交易。

Alice通常可以爲Bob的交易添加簽名以使其有效。但您可能會注意到,這些資金是從 2 中的 2 多重訂閱中支出的,尚未提供資金。這就像試圖花掉一張餘額爲零的支票。因此,這些部分簽名的交易只有在觸發多重簽名後才能使用。 

新的多重簽名地址(爲其分配 3 BTC 輸出)具有一些特定的屬性。讓我們看一下愛麗絲簽署並交給鮑勃的待處理交易。如果滿足以下條件,則可以激活基於多重簽名的退出:

  1. 雙方實施聯合簽名。

  2. Bob 在一定時間後(由於時間鎖定)自行進行轉賬。

  3. 如果愛麗絲得知鮑勃的祕密,她就可以花掉餘額:B.

對於交易,Bob 要求 Alice 實現以下操作:

  1. 雙方實施聯合簽名。

  2. 一段時間後,Alice 自行進行轉賬。

  3. 如果鮑勃得知愛麗絲的祕密,他就有機會花掉餘額:A.

請記住,雙方都不知道對方的祕密,因此第 3 點尚不可能。還應該注意的是,如果您簽署交易,您的交易對手可以立即花掉這筆錢,因爲他們的退出沒有特殊條件。您可以等到時間過去後自行使用資金,也可以與另一方合作全額使用資金。

完美!您現在可以使用多重簽名“2-2”方案將交易發佈到原始地址。在這個階段是安全的,因爲如果您的交易對手離開通道,您就可以獲得資金。

確認交易後,通道開始操作進行處理。第一對交易向我們展示了迷你賬本的當前狀態。此時,支出將按順序分配:3 BTC 給 Bob,3 BTC 給 Alice。

當愛麗絲想要向鮑勃進行新的轉賬時,這對夫婦將需要創建兩個新交易來替換第一組交易。做法還是一樣:協議只簽署了一半。然而,愛麗絲和鮑勃將不得不放棄他們的舊祕密併爲下一輪交易交換新的哈希值。

Наприклад, якщо Аліса хоче заплатити Бобу 1 BTC. Дві нові транзакції зараховують 2 BTC Алісі та 4 BTC Бобу. Таким чином баланс оновлюється.

例如,如果 Alice 想向 Bob 支付 1 BTC。兩筆新交易將 2 BTC 貸給 Alice,將 4 BTC 貸給 Bob。這樣,餘額就被更新了。

各方都可以隨時簽署並將最後的交易轉移給對方,以便“結算”,即將最終信息記錄在區塊鏈中。無論誰這樣做,都必須等待時間鎖定結束,而另一方可以在收到資金的那一刻立即花費資金。值得注意的是,如果鮑勃簽署交易並將其廣播給愛麗絲,她可以選擇退出,無需任何附加條件。

雙方可以同意共同關閉通道(合作關閉通道)。這可能是讓您的資金重新回到網絡的最簡單、最快的方法。然而,即使其中一方停止響應請求或拒絕合作,另一方仍然可以在時間鎖定到期後取回資金。

閃電網絡如何防止欺詐?

您可能已經確定了可能的攻擊媒介。如果 Bob 目前的餘額爲 1 BTC,那麼當他擁有更多硬幣時,什麼會阻止他廣播較舊的交易?它已經獲得了 Alice 的簽名,它需要做的就是添加您的簽名並將交易廣播到區塊鏈,對吧?

沒有人阻止他這樣做,除非他可能會失去整個平衡。假設他決定這樣做並廣播他的舊交易,這給了愛麗絲一枚硬幣,五枚硬幣轉到我們之前提到的多重簽名地址。

愛麗絲立即得到一枚硬幣。而Bob必須等到時間鎖到期才能花費多重簽名地址的餘額。還記得上面允許愛麗絲立即花費相同資金的條件嗎?她需要一個她當時沒有的祕密。從第二輪交易創建的那一刻起,她就可以這樣做,因爲鮑勃已經給了她這個祕密。

當鮑勃等待時間鎖定到期並且無法執行任何操作時,愛麗絲可以轉移這些資金。這種基於制裁的機制假設參與者不太可能試圖進行欺詐,原因很簡單,在這種情況下,另一方立即可以獲得他們的共享代幣。

付款路線

我們之前談到過這個主題:通道可以相互通信。否則,閃電網絡對於支付就不會那麼有用。畢竟,您不會在接下來的幾個月裏在咖啡店的渠道上花 500 美元來獲取每日劑量的咖啡因嗎?

你不必這樣做。如果愛麗絲與鮑勃打開了一個通道,並且他與卡羅爾也建立了一個通道,那麼鮑勃就能夠使用他們之間的連接發送付款。這種機制在多個“跳躍”中起作用,這意味着愛麗絲可以快速地將資金轉移給存在這種路徑的任何人。

У цьому сценарії Аліса може скористатися декількома маршрутами, щоб дістатися Френка. На практиці цей шлях завжди буде найкоротшим.

在這種情況下,愛麗絲可以採取多條路線到達弗蘭克。實際上,這條路徑總是最短的。

對於其路由角色,中介機構可能會收取少量費用(可選)。由於閃電網絡是一個比較新的概念,佣金市場尚未形成。許多人希望根據所提供的流動性收取費用。

在底層區塊鏈中,您的費用取決於交易在區塊中的位置。交易金額並不重要:從 1 美元到 10,000,000 美元的轉賬將收取相同的費用。相比之下,閃電網絡不存在區塊中的位置。 

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

讓我們考慮另一個例子。讓我們仔細看看上面的路徑之一:Alice <> Carol <> Frank。

Баланс користувачів до та після переказу 0,3 BTC від Аліси до Френка.

將 0.3 BTC 從 Alice 轉移到 Frank 之前和之後的用戶餘額。

Alice <> Carol 和 Carol <> Frank 的總容量爲 1 BTC。 Alice 的本地餘額爲 0.7 BTC。如果他們現在決定執行計算並在區塊鏈上顯示最新信息,Alice 將收到 0.7 BTC,Carol 將收到她的遠程餘額(即 0.3 BTC)。

如果 Alice 想發送 0.3 BTC 給 Frank,她就發送 0.3 BTC 給 Carol。然後 Carol 從她的本地餘額中提取 0.3 BTC 到 Frank 的通道中。結果,Carol 的餘額保持不變:Alice 的 +0.3 BTC 和 Frank 的 -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。即使這樣,整個平衡也必須在頻道的卡羅爾 <> 弗蘭克一邊才能發揮作用。這一缺點會嚴重限制通過閃電網絡通道的資金量,直接影響可用性。

集中樞紐

由於上一節提到的問題,有人擔心該網絡將促進大型“樞紐”的發展。這意味着密切相關、流動性強的組織的出現。任何大額付款都需要通過其中一些組織進行。

顯然,這不是最好的情況。這將削弱系統,因爲此類提供商退出自治模式將導致節點之間關係的嚴重破壞。由於交易經過多個點,審查風險也增加。

閃電網絡目前的發展階段

截至2024年3月,閃電網絡呈現出良好的發展勢頭。該網絡擁有 13,000 多個在線節點,52,000 多個活躍通道,流通中的 BTC 略多於 4,570 個。

Глобальне поширення нод Lightning Network. Джерело: explorer.acinq.co

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

節點有幾種不同的實現。其中最受歡迎的是:來自 Blockstream 的 c-lightning、來自 Lightning Labs 的 Lightning Network Daemon 和來自 ACINQ 的 Eclair。對於不傾向於使用技術含量高的方法的用戶,許多公司提供即插即用節點。在這種情況下,您唯一需要做的就是打開設備。之後,您就可以使用閃電網絡了。

結果

自2018年主網推出以來,閃電網絡取得了顯着的增長。在這個發展階段,可用性存在一些限制,例如,您需要一定的技術能力來操作閃電節點。但隨着技術的發展,我們將看到進入壁壘降低。

相關文章

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

  • 什麼是點頭?

  • 什麼是智能合約以及它們如何運作?

免責聲明:此內容“按原樣”提供給您,僅供一般信息和教育目的,不作任何陳述或保證。它不應被視爲財務、法律或其他專業建議,也無意推薦購買特定產品或服務。您應該尋求適當的專業顧問的建議。如果文章由第三方作者撰寫,請注意,所表達的觀點僅代表第三方作者的觀點,並不一定反映幣安學院的觀點。欲瞭解更多信息,請參閱我們的免責聲明。數字資產價格可能會波動。您的投資價值可能會上升也可能會下降,並且您可能無法收回您的投資金額。您對自己的投資決定承擔全部責任,幣安學院對您可能遭受的任何損失不承擔任何責任。欲瞭解更多信息,請參閱我們的使用條款和風險警告。