這是由比特幣領域自學成才的教育家和麵向技術的比特幣播客主持人Shinobi 撰寫的一篇觀點社論。
閃電協議的工作原理是自動更新多個支付渠道的支付,以這樣一種方式,一切都一起確認或失敗——即,它跨多個躍點路由支付。任何基於路由的系統的一個組成部分是路由表,它是實際構建從A 點到B 點的路徑所需的所有信息的集合。沒有這些信息,您將無法真正在任何地方路由任何東西,因為您沒有知道如何將信息從它所在的地方獲取到你想要去的地方。 Lightning 顯然需要一個路由表,這是BOLT 7 中指定的gossip 協議完成的; 傳播和維護網絡上可用於路由支付的渠道記錄。
這個八卦協議是整個閃電協議棧的擴展問題之一。目前,它非常基礎,其工作方式與比特幣網絡上的交易傳播非常相似; 網絡上的節點收到八卦消息,然後根據有效性規則驗證消息,並將其傳遞給所有對等節點,以進一步在網絡中傳播。它是一種簡單的洪水填充協議,它假定有效消息最終將在整個網絡中傳播。
因此,人們擔心拒絕服務攻擊(垃圾郵件)最終會消耗大量處理資源和帶寬來處理。在比特幣主網絡的情況下,節點不會中繼無效交易,因此廣播會消耗節點帶寬和計算資源的東西需要您實際擁有比特幣來創建交易。在閃電網絡八卦協議的情況下,你需要證明你控制一個有效的UTXO 為一個頻道提供資金,以便中繼關於該頻道的八卦消息。這執行與主要比特幣網絡相同的垃圾郵件保護功能; 如果不實際控制比特幣,您就無法通過網絡發送垃圾郵件。
這讓我想到了gossip 協議的實際結構。這絕不是對協議的全面分解,而是對其進行深入了解,以查看提議的更改並評估提議與當前協議之間的權衡。 gossip 協議中目前有三個主要的消息。 channel_announcement 消息、node_announcement 消息和channel_update 消息。還有一個announcement_signatures 消息,但它僅用於與直接通道對等體一起用於對宣布通道的消息進行簽名,並沒有在全網廣泛傳播。我不會介紹請求數據的消息,因為它們與本文的重點無關。
channel_announcement 消息是向網絡宣布頻道然後向公眾宣布您的節點所需的第一件事。它是協作構建的,需要兩個渠道合作夥伴製作和播放。該消息包括向通道的資金交易支付到通道多重簽名地址的證明,然後它包括來自消息中兩個參與者的閃電節點身份密鑰的簽名。它聲明哪個多重簽名密鑰由哪個節點擁有,並包括來自為通道提供資金的鏈上UTXO 的每個多重簽名密鑰的簽名。這證明了通道中涉及的兩個節點都控制了鏈上多重簽名,然後證明了他們的閃電節點身份密鑰與之相關聯。
接下來是node_announcement 消息。如果一個節點在之前沒有為有效通道發送過channel_announcement 消息的情況下嘗試中繼此消息,則它會被忽略並且不會被中繼。節點在打開它們的第一個公共通道以允許其他節點連接到它們後自行中繼此消息。該消息包含來自消息上節點身份密鑰的簽名; 未來版本更新的一些功能位,可以訪問節點以打開通道的網絡地址,別名(暱稱)和其他一些信息位。
最後是channel_update 消息。該消息也由單個節點單方面製作和廣播。它包含通道將路由的最小值和最大值哈希時間鎖合約(HTLC); 運營商將通過該渠道收取的費用(基本費用和百分比費率); 以及它自己與前一跳之間所需的時間鎖差異的長度,以便它有時間找到在鏈上結算的交易,並在必要時為自己強制執行適當的結果。它也像所有其他消息一樣被簽名。
因此,現在的協議提供了所有必要的信息來查找您可以通過其進行支付的渠道,宣傳了解每個渠道將收取多少費用所需的信息,並提供拒絕服務保護機制來防止閃電網絡通過要求持有鏈上資金UTXO 的密鑰的簽名,整天被垃圾郵件發送不存在的渠道的無意義廣告。
但它有一個主要問題:完全缺乏隱私。為了在網絡上宣傳你的頻道,讓人們通過它進行支付,你必須將用於資助該頻道的確切UTXO 與你的閃電節點的身份密鑰相關聯。那麼我們能做些什麼來解決這個問題呢?
來自Blockstream 的Rusty Russell 提出了一個更新版本 2022 年2 月的gossip 協議。它將把核心協議從三個消息減少到兩個,從而大大提高隱私屬性。
實際上會發生的是完全刪除channel_announcement 消息並留下帶有node_announcement_v2 和channel_update_v2 消息的協議。不是對與通道關聯的每個單獨的UTXO 進行doxxing,並且首先需要channel_announcement,node_announcement_v2 可以最初完成並證明對未實際用於資助通道的UTXO 的控制。然後,節點運營商將被允許發布反映該數量倍數的通道(假設您有1 個證明可以控制的BTC,您現在可以發布10 個BTC 的路由容量),而無需對實際的通道UTXO 進行dox。
通過不要求每個通道將自己綁定到特定的鏈上UTXO,這將是對網絡的巨大隱私改進; 鏈分析公司將不再能夠輕鬆地跟踪每個公共節點運營商在渠道之間的鏈上資金。然後,channel_update_v2 消息將代替channel_announcement 和channel_update,在協議中實現相同的通用目的。
從長遠來看,基於洪水填充傳播的八卦協議的想法可能是不可擴展的。洪水填充是用於傳播信息的最低效的網絡設計之一,從長遠來看,這是一個必須優化並轉向另一個方向才能真正可擴展的支付網絡的問題,希望將是全球性的。沒有真正的解決方法。但是當前八卦協議的最大缺點之一是剝奪了路由節點運營商的隱私。如果不公開污染與您相關的通道UTXO 並使其易於在鏈上進行監視,您就無法成為路由節點。
鑑於除了支付的可擴展性之外,閃電網絡可以添加的最大潛在實用程序之一是支付的隱私,我們是否應該解決協議棧在履行這些隱私承諾方面存在的巨大缺陷?我認為我們應該這樣做,一個重要的開始方式是改善節點運營商的隱私,這些運營商實際上首先扮演著促進網絡支付的角色。
這是Shinobi 的客座帖子。表達的意見完全是他們自己的,不
必然反映BTC Inc 或 比特幣雜誌.