比特幣雜誌 - 比特幣新聞、文章和專家見解主頁
Nostr Wallet Connect:比特幣應用程式協作層
NOSTR WALLET CONNECT:比特幣應用程式協作層
忍48 分鐘前
隨著比特幣軟體和使用比特幣的應用程式的複雜性不斷增加,對不同應用程式互動的簡單協調機制的需求也隨之增長。
展望比特幣採用和開發的未來,軟體互動的一個問題將成為開發人員必須解決的首要障礙:相容性。隨著該領域的應用程式和協定變得更加複雜和功能強大,以滿足實際用戶和用例的需求,這就出現了一個困境,從根本上來說只有兩個真正的答案:應用程式或錢包必須在內部整合滿足其目的要求所需的每個協定和功能,或者不同的應用程式必須能夠相互通訊。
這個問題出現的一個例子是將閃電整合到不同的應用程式和軟體工具中。閃電網路是實作起來非常複雜的協定棧,涉及許多子協議,規定如何協調和處理閃電通道狀態的更新。這涉及每個通道狀態的交易結構及其所執行的內容、為確保用戶資金安全而製定和簽署新交易的每個步驟的順序,以及觀察區塊鏈在以下情況下自動以適當方式做出反應的功能:無效狀態會提交到區塊鏈。
對於單一應用程式開發人員來說,直接整合到他們的專案中是非常複雜的。如果這需要太多的努力,那麼顯而易見的結論是依賴已經生產的軟體來處理實施閃電網路的問題,並簡單地建立您的應用程式來與外部軟體進行通訊。這導致了下一個問題:如果應用程式的用戶不使用特定的閃電網路實作或錢包怎麼辦?
即使透過外包應用程式的功能,開發團隊仍然沒有完全擺脫複雜性問題。雖然他們不必自己完全實現閃電網絡,但採取這種方式的開發人員現在必須處理為其應用程式用戶可能使用的任何閃電網絡錢包提供 API 支援。這就需要跟上多個閃電錢包、它們的 API、該錢包的內部功能如何運作以及它們支援哪些功能的任何更改或變更。如果不跟上特定錢包的任何變化,就會破壞該錢包用戶的應用程式。
需要存在一些標準化機制,以便該差距兩側的軟體能夠簡單地實現所有這些不同工具之間相互通信的一件事。這將允許每個應用程式開發人員和每個閃電錢包開發人員都可以簡單地整合和維護一個協議,使他們的應用程式能夠相互通訊。
Nostr Wallet Connect 是一種協議,試圖成為滿足這一需求的真正通用機制。當尋求將閃電支付嵌入 Nostr 時,所有這些因如何實現而產生的複雜性問題突然出現。
閃電和 NWC
Nostr 用戶端 Amethyst 和基於網路的閃電錢包 Alby 背後的團隊創建了 NWC,以解決 Nostr 用戶希望將閃電整合到他們的 Nostr 體驗中而無需使用特殊用途錢包的問題。該應用程式/協定基於 Nostr 的身份架構,其中透過 Nostr 發送的每個訊息(事件)均由加密金鑰對簽名,充當您在 Nostr 上的身份。這使得應用程式可以簡單地產生 Nostr 金鑰對,並由此擁有一個加密身份驗證機制,用於與外部比特幣錢包進行通信,以實現應用程式的功能。
[在此插入訊息]
使用金鑰對向閃電錢包註冊外部應用程序,應用程式現在可以 ping 您的錢包以發起付款。該規範目前支援支付BOLT 11 發票、進行keyend 支付(對節點的公鑰進行無發票支付)、同時支付多張發票、產生發票以向其他人付款,以及一些其他功能,以允許支付歷史記錄和來自外部應用程式的錢包餘額查詢。
所有這些都是透過Nostr 進行協調的,允許一種非常冗餘的通訊方式,而不依賴單一的集中式訊息傳遞機制,或者使用者需要依賴複雜的軟體(例如Tor 或其他協定)來促進應用程式和錢包軟體之間的網路連接或在其家庭網路上運行的基礎設施。 Nostr 還支援加密的直接訊息,這意味著錢包和應用程式之間的通訊完全私密,不會透露有關與用於通訊的 Nostr 中繼協調的付款的詳細資訊。
在 NWC 橋的錢包端,可以實施安全限制,以防止外部應用程式在用於與錢包通訊的 Nostr 金鑰被洩露的情況下不受限制地存取錢包資金。允許花費的金額以及付款頻率的限制可以在連接的錢包端進行配置。
NWC 的用途遠不止於將閃電網路簡單地整合到 Nostr 應用程式中。 Nostr 本身作為協議的整個設計理念是圍繞保持足夠簡單,以便任何開發人員都可以用最少的時間和資源輕鬆正確地實現整個協議。與 Nostr 無關的應用程式可以輕鬆整合 NWC 或類似協議,幾乎沒有開銷或複雜性,以解決如何將比特幣錢包與其應用程式連接的根本問題,而無需將其直接建置到應用程式中。
超越閃電
像 NWC 這樣的協議為錢包和應用程式開發人員提供巨大價值的潛力遠遠超出了將閃電錢包整合到特殊用途應用程式的範圍。除了尚未實現的一些令人興奮的根本性突破之外,與比特幣互動的整個長期方向是朝著多個用戶之間的互動協議發展。
多方幣池就是一個完美的例子。大多數具體的設計方案(例如方舟或超時樹)都是圍繞中央協調方或服務提供者構建的,這可以輕鬆地促進用戶錢包之間的訊息傳遞方式,但這會因單點故障而限制設計空間。如果一百個用戶在單一 UTXO 之上一起打包到一個幣池中,則安全模型基於每個用戶都有一個預簽署的路徑來單方面在鏈上提取他們的幣。如果協調員出現任何故障或失踪,可以行使該機制,以確保其資金不會丟失,但這是處理這種最壞情況的效率最低的方法。
如果使用者能夠找到一種在沒有服務提供者或協調員的情況下相互通信的機制,則可以透過使用更大的群體多重簽名以更有效率的方式將資金遷移到其他地方,從而實現更有效率的鏈上退出(因此更便宜)鏈上足跡。 NWC 和 Nostr 非常適合這種情況。
多方之間的協作多重簽名錢包也可以從這樣的協議中受益。與 PSBT 等標準相結合,簡單的 Nostr 通訊機制可以透過多重簽名支援以流暢且用戶友好的方式協調交易簽名,從而大大簡化不同錢包的複雜性。
離散日誌合約(DLC)是這種協議的另一個令人驚訝的用途。整個 DLC 方案依賴雙方能夠存取預言機簽名,以便在雙方不合作解決問題的情況下單方面正確地關閉合約。 Nostr 是預言機廣播這些簽名的完美機制,並允許簡單訂閱用戶錢包中的 Nostr 金鑰,以便在預言機廣播時自動追蹤和獲取簽名。
隨著時間的推移,越來越多的應用程式和協定建立在比特幣之上,滿足用戶之間以及不同應用程式之間的互動性要求,將迫切需要一種通用的通訊機制來促進這一點,而不依賴單點故障。
Nostr 是一個完美的底層協議,鑑於其令人難以置信的簡單性和大量繼電器的冗餘性,可以促進這一點。 NWC 是可行解決方案的完美範例。