Nostr Wallet Connect 協議簡介

作者:NWC Docs

來源:https://docs.nwc.dev/introduction/introduction-to-nwc

“Nostr Wallet Connect(NWC)” 協議提供了一種辦法,讓一個客戶端 app 可以通過一套標準化的協議來遠程訪問一個比特幣閃電錢包軟件。錢包軟件和 app 有此意願,是為了讓用戶能夠流暢地訪問自己的錢包賬戶、用於 app 中的簡單支付。

NWC:一套免費而且開放的協議

NWC 是一套免費而且開放的協議。這一點非常關鍵,因為它帶來了多種優勢:

  1. 任何人都可以使用 NWC。
  2. 實現基於 NWC 的支付不會陷入供應商鎖定。
  3. NWC 更加靈活,而且在現有 app 和新 app 中的集成選擇也更多。

採用 NWC 的 app 可以強化自身的易用性和創造性。最重要的是,這保證了你的 app 跟整個生態系統是可以互操作的,從而可以從網絡效應的增強中獲益。

NWC 建立在比特幣的閃電網絡之上

比特幣是一種去中心化的電子貨幣,支持點對點的支付,而且不需要依賴於銀行和中間商。閃電網絡則是比特幣之上的二層協議,支持即時、低手續費的支付,它讓交易在次級網絡中轉發(而不是在比特幣網絡中得到確認),同時繼承了比特幣的安全保障。兩者共同為一個全球的開放金融系統提供了一個強大的基礎。它們是天作之合,因此也是 NWC 的首選支付協議。

請注意,NWC 只決定支付內容如何在 app 和錢包軟件之間傳遞。NWC 可以支持任何支付網絡。實際上,也可以支持比特幣的鏈上交易和多種貨幣的支付。

為什麼它叫做 “Nostr Wallet Connect”?

如文章開頭所述,NWC 提供了讓 app 連接錢包軟件的一種方法,這也是它的名字的來源。“Nostr” 是 NWC 的支撐性技術之一。Nostr 自身是一種簡單、開放的協議,讓抗審查、去中心的消息流可以建立在公鑰密碼學和消息轉發服務器之上。它並不依賴於一箇中心化的服務器或者網關。NWC 使用 Nostr 協議的轉發技術和公鑰密碼學,來保護 app 和錢包軟件之間往來的下車。

作為一個啟用了 NWC 的錢包軟件的終端用戶,你不需要知道關於底層轉發技術的任何東西,甚至不需要持有你自己的 Nostr 密鑰。就像電子郵件服務商不會在用戶界面中展示 SMTP 協議,你的錢包軟件和連接它的 app 會處理信息交互。

工作流程(概述)

以某個 Nostr 消息轉發服務器(relay)為橋樑、建立會話之後,app 和錢包軟件就可以交互。Relay 提供了一種可靠且高效的辦法來連接閃電節點,無需使用洋蔥網絡或者暴露節點到公網(clearnet)中。

如果用戶希望執行一個操作(例如,支付閃電發票 pay_invoce),那麼交易會由 app 前段準備好、序列化和加密,然後發送給 relay。Relay 會轉發給錢包應用。錢包應用讀到來自 relay 的消息之後,解密交易並展示給錢包用戶,或者自動執行操作。在整個過程中,relay 只是協助通信,但所有的請求都是加密的,relay 無法讀取。

工作流程(逐步分解)

nwc-step

  1. 用戶使用自己的客戶端應用,掃描由錢包服務器生成的一個 QR 碼,他們會進入一個 nostr+walletconncet: 深鏈接(deeplink),或者手動配置連接的信息。這個建立連接的步驟只發生一次。
  2. 這個客戶端應用收取來自各種來源(比如 NWC 自身或者 LNURL)的發票。
  3. 客戶端應用通過一個 relay 向錢包服務器發送一個事件。事件的內容是一個 pay_invoice 請求。其中用到的私鑰來自前面所說的連接字符串。
  4. Relay 轉發 pay_invoice 請求給錢包服務器
  5. 錢包服務器驗證事件的作者公鑰,然後解密消息、發送支付。
  6. 錢包服務器給客戶端應用回覆一條具體的事件,內容要麼吃報錯消息,要麼是支付發票所得到的原像。

給應用開發者帶來的好處

  • 輕鬆快捷的實現

    使用清楚、說明詳盡的 API,幾分鐘就可以集成 NWC。可以專注於開發特性,而不是基礎設施。

  • 免費和開放

    NWC 是開源的,而且免費使用 —— 沒有許可費、供應商鎖定和隱性成本。

  • 無託管

    消除託管用戶資金的需要。讓錢包軟件來處理錢的事情,你的應用只是協調安全操作。

  • 靈活

    使用 NWC,既可以獲得完整的錢包使用體驗,也可以只使用一部分特性(比如發送和收取支付)。它的設計是模塊化的。

  • 互操作性

    可以連接到任何支持 NWC 的比特幣錢包軟件。一套協議,多種錢包軟件 —— 不需要定製化的集成。

  • 平臺獨立

    跨環境工作:移動 app、網頁後臺、命令行工具、桌面應用 —— NWC 不挑食。

  • 持續連接

    一旦連接建立,只要用戶的錢包軟件在線,你的應用就能連接它,無需用戶再配置。

給用戶帶來的好處

  • 便捷的應用內支付

    一口氣完成支付 —— 不需要掃描 QR 碼,不需要切換 app、不需要手動確認。

  • 更快上手

    只要錢包軟件支持 NWC,用戶就能即時連接 —— 不需要登錄、KYC 和啟動步驟。只要錢包裡有錢,就準備好支付了。

  • 單一錢包,便於管理

    用戶可以在多個應用中使用同一個錢包 —— 不需要為每一個應用單獨 “充值”。

NWC 功能

  • 發送支付

    發起單筆支付、批處理交易,甚至自動定期支付。

  • 收取支付

    實時顯示支付請求和收款請求。適合打賞、應用內付費、捐贈。

  • 錢包餘額

    在你的應用內查詢和顯示被連接的錢包的實時餘額。

  • 支付歷史

    列出入賬和出賬支付。

  • 支付驗證

    自動檢查支付的狀態 —— 待定、完成或失敗。

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論