解讀Nostr:抗審查的去中心化社交協議

作者:十四君

社交是明珠,是互聯網各賽道護城河最深的品類,這是因為他具有強大的網絡效應

把信息保存一億年左右的方法,他們強調,這是目前已知的唯一可行的方法,它就是——”羅輯把拐杖高舉過頭,白髮長須舞動著,看上去像分開紅海的摩西,莊嚴地喊道,“把字刻在石頭上!”

—by《三體》

背景

  • 信息如何流傳下去?有著前言中的那句振聾發聵的聲音:把字刻在石頭上!

  • 信息如何不被阻斷?那可以刻在更多的石頭上,越多越好。

  • 信息如何證明所有權?基於橢圓曲線那樣優美的函數,在數學理論上的無限與唯一對應。

這是被串公鑰刷屏一周,無論是在朋友圈還是推特Facebook,關鍵性事件就是Twitter 前首席執行官Jack Dorsey 發推稱,基於去中心化社交協議Nostr的社交產品Damus 和Amethyst 已分別在蘋果App Store 和谷歌Google Play Store 上線,同時網頁端snort.social 也正式開放,其中Damus短短數日用戶數已經突破72W。

雖然一句話裡涵蓋了很多產品的名詞,不過其實關係很清晰,Nostr本質是去中心化社交場景的信息傳輸協議,Damus、Amethyst、snort.social則是根據該協議開發的第三方應用。

為什麼會有Nostr的需求場景?

經歷了反壟斷之年的互聯網群眾們,即痛恨於中心化機構對數據的濫用與侵犯,又無力脫離優秀的應用體驗以及並無選擇性的市場,歸根究底在於社交產品背後是公司為機構在運營,是公司就有接受監管與審查的義務,他所有負責的對像是股東以及註冊地政府,本質上追求的是商業上的成功,而不是言論自由的理想。

而反壟斷的終局古往今來更多是屠龍勇士終成惡龍,既然中心機構做不到,也沒有立場去做,那麼對自由的嚮往便催生出使用代碼來保障自由的去中心化協議:Nostr

Nostr協議架構

其實Nostr非常簡潔明了,可以一言概況:

讓每個人都運行一個客戶端程序,要發布什麼信息時,用自己的私鑰對文本簽名,發送到多個中繼器上。想要獲取信息時,則向各個中繼器問詢。客戶端再對得到的信息,借助其公鑰驗證從而判斷真實性。

角色關係

協議中只有中繼器和客戶端兩種角色

  • relay,作為中繼器可以有任意多個,使命是接受存儲客戶端上報的信息,並依據客戶端請求返回本地查詢結果。

  • client,便是客戶端也可以有任意多個,存在用戶的設備中,要做的核心是簽名與驗證。

從這樣簡潔的角色關係可以看出,用戶客戶端並不與其他用戶客戶端產生交互關係,並非是p2p的形式,而中繼器之間也無需交互他們之間無需信息溝通,這也意味著不存在共識層面的問題。

綜合來講,屬於一種強客戶端,弱服務端(中繼)的結構,多個服務端可以互相替代,從而淡化其重要性,這也是抗審查的基礎,用戶之間對中繼有自主選擇的權利,從而能引發中繼器層面的競爭,更大容量、更快速度、更好網絡激勵以及對垃圾內容的篩選能力。

賬號體系

Nostr 中的身份由公鑰和私鑰組成。因此沒有密碼或唯一的用戶名(或者公鑰即為用戶名),任何人創建新的公私鑰對都是毫無成本的事情,本質上都是已經存在的關係。

不過與以往的去中心化社交產品顯著區分的是,他全程不上鍊,可以說與鏈本身毫無相關,只是應用了區塊鏈上最常規的公私鑰賬號體係而已。

我們已經可以從很多場景都見到公私鑰的作用了,對於能接受自控私鑰管理風險的用戶而言,是絕佳的賬號武器,前有EOA為底,後有MPC為優化,更有合約錢包作為目前賬戶抽象AA的載體。

可拓展閱讀:以太坊賬戶抽象萬字研報:拆解10 個相關EIP 提案與衝擊千萬級日活用戶瓶頸的七年之路

其次在廣大NFT玩家面前,也經常遇到各類白名單Mint,也是基於公私鑰簽名與解簽實現的

可拓展閱讀:當奈飛的NFT忘記了web2的業務安全

操作行為

Nostr的NIP是一個雷同於以太坊EIP提案的機制,而NIP-01 即說明了每個消息的內容。

咱們從用戶客戶端的視角出發,可以進行下列操作

  • 操作1、簽名發布信息:EVENT

用戶想要發布信息時,則是用自己本地客戶端存儲的私鑰,對一串內容content做簽名,最終生成如下的json類型數據

解讀Nostr:抗審查的去中心化社交協議

這裡的id其實是基於當前內容[pubkey,created_at,kind,tags,content]組合後用哈希計算得出的,因為有時間戳的參與,所以正常情況下id是不會重複的。

  • 操作2、訂閱目標事件:REQ

作為信息傳輸,有來就有回,指令REQ需要向中繼器發送一個隨機ID作為訂閱ID,以及一個過濾器信息。目前協議可支持的設定如下,

解讀Nostr:抗審查的去中心化社交協議

從篩選條件來看,基本等同於關注這個功能,既不需要對方許可也能拉取到對方發布的信息(事實上本質都是公開的),而過濾器也只是更好的定義,是誰在什麼時間段,發布的那一條

當然出於中繼器這樣的設計,有可能部分中繼器並沒有存儲目標用戶的信息,那麼用戶需要嘗試從不同的中繼器去拉取,一旦中繼器掛了,甚至全部相關聯的中繼器都掛了,那這塊信息也就損失了。

  • 操作3、結束訂閱:CLOSE

最後一種客戶端能對中繼器發起的信息便是close指令,即關閉訂閱,那客戶端便不會持續持續獲取到最新的事件信息了。

從技術角度看,此協議使用了訂閱ID的模式這意味著中繼器會建立起持續的websocket鏈接,一旦此中繼器收到被關注用戶的信息,就會主動向訂閱方的客戶端發起請求來同步,這種模式雖然對中繼器而言負載更高,但同時也能得到實時被關注數這樣的數據,是一種能激勵用戶發布更有價值信息的方式。

並且協議出現多個”e“、”p”,這類信息雖然並不是必選項,但他能讓各個中繼地址在客戶端之間裂變,傳播,是提升抗審查性的關鍵。

Nostr的困境與破局之道

通過上文對Nostr協議中角色關係、賬號體系、操作行為的梳理,我們已經可以基本理解這樣精簡而優雅的一套傳輸協議的運作原理了。

但是,相比大家同樣也冒出了和十四君一樣的疑問,就這麼簡單嗎?是啊,筆者梳理的過程就彷佛在做大一時候初學計算機網絡的編程課作業一樣,實現個局域網的聊天軟件。

Nostr的爆發本質上是哲學理念的成功。只定義了最小的必要元素,而放開了控制能力,任何開發者哪怕是大一二的計算機學生都可以去開發一個中繼器服務,低接入門檻帶來的是巨大的體驗競賽。

從文末的拓展鏈接中可見,截止發文已經出現228個github開源的實現案例,本次並且部分在探索商業化上也體現出十足的創意。

社交場景素來被認為是護城河最深的互聯網品類。其中很多的訴求是需要基於Nostr進一步優化後才能解決的。

  • 困境1、社交隱私問題

目前的Nostr 中繼器只是簡單JSON 數據的轉儲。客戶端通過過濾器獲取。這使得nostr 成為客戶端之間的通用數據共享平台,那對於有隱私信息傳遞需求的場景而言,如何解決呢?畢竟即使是推特這樣的社交廣場也會有私信的需求存在。

目前較優的解決方案是,DH算法(迪菲-赫爾曼密鑰交換),這套1976年問世的算法。它是第一個實用的在非保護信道中創建共享密鑰方法。只要得到共享密鑰,使用Nostr的雙方均可以發布加密後的信息,從而實現點對點的隱私通信。由於隱私常有閱後即焚的訴求,所以其中的服務器存儲成本還能進一步降低。

  • 困境2、抗DOS問題

會受到攻擊的是中繼器這一層,目前Nostr協議並不直接指導和確定如何讓中繼器抗擊DOS攻擊和垃圾信息,因此也是眾多中繼器實現的重點。

從付費出發,因為中繼有著極高的自主性,那麼他可以設置付費條件,即某些中繼服務只允許完成付款的交易才能發佈在上面,有了金融成本便是最好的垃圾信息過濾器。

從工作量證明出發,也可以提高單次發布信息的挖礦成本,雖然Nostr和區塊鏈基本無關,但是基於公私鑰以及簽名的賬戶體系,可以讓其在發布的事件中,附帶上要求,比如發布某條id(基於哈希計算的結果)要達成怎樣的難度(如前5位為0),這樣就是一種既持有信息,又帶有工作量證明的發布方式。

  • 困境3、高成本存儲與垃圾信息篩選問題

雖然中繼器中間並不需要共享任何信息,但是他們有著共同的訴求即符合用戶意願,提升使用體驗,那麼他們會很樂意共享一些黑名單,以及互相通信收集更多用戶發布的信息,讓自己的庫存越來越大。

對於付出成本的一方,必然有著利益收取的一方,因為網絡視頻圖片等資源的成本高,且無法看到輕鬆降低的能力,必然會出現的是基於收費模式的小網絡,最終Nostr是一個個數據孤島,即是可到達的也是需要付出成本的。

最後

雖然眼前Nostr爆火,但筆者依舊認為創建去中心化媒體平台的核心問題不是技術難題,而是社交困境。

社交是明珠,是互聯網各賽道護城河最深的品類,這是因為他具有強大的網絡效應,社交圖譜帶來的寡頭效應是特別明顯的,比如包括探探、陌陌等在內大多數社交應用的社交終點其實是微信,讓任何人都很難離開微信沉澱的社交關係。而網絡效應和壟斷優勢很大程度來源於封閉和許可,用戶構建起屬於自己的圈子後,用戶退出這些平台的代價十分高昂,因為不能帶走社交關係和圖譜。

而社交產品十分害怕的是失去聯繫,Nostr實現了抗審查的中繼器邏輯,卻也帶來了不確定性,消息從發布端到接收端有了一層割裂,3次握手4次揮手的http穩定連接建立條件,不可能由用戶手動實現。

社交的訴求中,多數用戶數據的掌控訴求恐怕會弱於用戶的內心需求,早些年QQ空間風靡一時,後來轉入移動互聯的時候,與微信朋友圈之間巨大的差異是點贊與評論兩大功能上,熟人可見與全員可見涇渭分明,並且後續的結果也有目共睹。

還有更多web2社交平台的優勢就不一一列舉了,目前基於Nostr實現的Damus等雖然名燥一時,但整體看充斥著各種bug,良好體驗之路還有很長一段路需要追趕。

Total
0
Shares
Related Posts