
為什麼 Nostr 很重要:免於被服務器統治的自由
TechFlow Selected深潮精選

為什麼 Nostr 很重要:免於被服務器統治的自由
服務器(Relay)的權力被削弱,客戶端的權利被放大。
感謝 Nostr 讓我們有這樣一個機會聚在一起,分享一些關於社交網絡的想法。我是 Nostr 客戶端 flycat.club 的作者 Digi Monkey。flycat 是一個 Nostr 客戶端,提供 Relay Group Switching/長文+短文信息流/Community/JoyId登陸/Metamask登陸/等功能。
今天想聊聊我眼中的 Nostr,以及為什麼它對於賽博空間來說是重要的。
回到1996
我想先分享一段話:
We will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before.
有些朋友可能知道這句話的出處,它摘錄於《賽博空間獨立宣言》的結尾,是一個名叫約翰巴洛的人在1996年2月8日發表在互聯網上的一篇文章。96年大家可以想象網絡還是一個非常新鮮的東西,作為參考,網景瀏覽器是94年的時候發佈的,所以這個時候網絡,或者說賽博空間,這樣一個概念應該說對當時的人們而言還很模糊,但是我們能看到剛才那篇宣言,其實用了一種很篤定的語氣,描繪了一個非常理想化的烏托邦式的關於互聯網社區的願景。
在賽博空間獨立宣言這篇文章裡,它主張了兩條基本的思想:
1、網絡空間和肉身是二元的,彼此完全獨立。網絡空間裡沒有國界/沒有歧視/無物質。
2、網絡空間不需要依賴現實世界的治理,不受約束於強制性的法律,而是通過不成文的“法典”(代碼/道德/倫理/利己的理念/共同福利)來形成秩序和自己的 social norms。
今天我們聊更多的是廣義上的社交網絡(social network),就是指的這樣一個賽博空間,一塊新的數字大陸,整個互聯網線上的生活,一個大的社區,人們可以在其中交換信息和服務。
這跟宣言裡談論的是同一個東西。我們可以細細讀下原文,看看人們當時怎麼期待這樣一個新事物。以下是一些原文的摘錄:
網絡世界由信息傳輸、關係互動和思想本身組成……..我們的世界既無所不在,又虛無飄渺,但它絕不是實體所存的世界。
我們正在創造一個世界:在那裡,所有的人都可加入,不存在因種族、經濟實力、武力或出生地點生產的特權或偏見。
我們正在創造一個世界,在那裡,任何人,在任何地方,都可以表達他們的信仰而不用害怕被強迫保持沉默或順從,不論這種信仰是多麼的奇特。
你們關於財產、表達、身份、遷徙的法律概念及其情境對我們均不適用。所有的這些概念都基於物質實體,而我們這裡並不存在物質實體。
我們的成員沒有軀體,因此,與你們不同,我們不能通過物質強制來獲得秩序。我們相信,我們的治理將生成於倫理、開明的利己以及共同福利。我們內部的文化世界所共同認可的惟一法律就是“黃金規則”(己所不欲,勿施於人)。我們希望能夠在此基礎上構建我們獨特的解決辦法。
可以看到,那時候的想象,是非常理想化的。它對治理的設想,也比較模糊。跟今天的網絡世界,已經成為我們日常的、現實的網絡世界(互聯網)相比,是非常不同的,已經分叉了。甚至有很多 web3/blockchain 的社區會說,互聯網走了一段彎路,背離了原本的初心。
今天的賽博世界
我們上面提到的《獨立宣言》裡的兩條基本思想,現在的互聯網都違背了:
1、今天互聯網之所以這麼強大,很大原因是它和現實縫合了在一起,不是彼此獨立的二元關係。例如許多 o2o 服務,外賣、打車、住宿等等,從頭到腳全面包圍了人們的生活。網絡已經入侵了現實,甚至反過來指導現實生活了。而在早期,網絡更像是一塊純粹的思想的新大陸。大家很樂觀的認為,可以單獨為人類的思想創造一個自由的家園。
2、這個家園不受現實法律和國家政府的管理,是純自治的。今天這一點也被推翻了。今天各個國家都在積極管理網絡,出臺各種各樣的電信法律,主要是遵循屬地管理的原則:一項互聯網服務,它所屬的主體、服務器的所在地、數據存儲的所在地,這些地方在哪,哪裡的政府和當地法律法規,就會相對應地,對在這些土地上託管的互聯網服務進行監管。
這裡我們不談這兩點基本觀念的被推翻,究竟是對是錯。不談是不是《賽博空間獨立宣言》提倡的就一定是對的。我們只說理想中的,跟現實實際發生的,這二者存在了比較大的落差,發生了變化。
我感興趣的問題是,這個變化是怎樣發生的?
1、主流旋律視角來看,是一種賽博朋克的發生,大公司/政府/技術本身的發展,脫韁於人們的控制,創造了“高科技、低生活”(high tech,low life)的現實。
-
例子1,外賣小哥就是科幻小說裡的賞金獵人,被某個系統僱傭,在算法的管理下生存,有很多人想要逃出去,但更多時候需要依賴它。
-
例子2,純粹精神層面上的生活,更貼近社交網絡上的這部分,今天人們在 twitter 上的生活也是如此。你在 twitter 上是沒有最基本的權利的,就是賬號的所有權,用戶只有暫時的使用權,更不用說自由說話的權利,這些都掌握在馬斯克和 twitter 這家公司手裡。
2、另一個視角,我們從機器和人的視角來看,我認為這一場變化也是人和機器之間的權力戰爭。
a civilization war between machines and humans
這裡的機器,更多指的是服務器。網絡上的一項服務,尤其是平臺型的產品,通常會由服務器和客戶端兩部分組成,服務器掌握在私人企業或者開發者手裡,需要通過授權的 API 才能訪問,客戶端則是用戶在本地使用的軟件,不管是通過瀏覽器訪問 web 還是手機裡的一個 app。用戶使用客戶端,通過授權去向服務器訪問,讀寫一些數據,進行某些計算,消費一項服務。
服務器在這個流程裡佔據了最大的權力:
-
ID (名字/身份/賬號,“我是誰,怎麼證明我是我” ,以及一個副產品:關係鏈
身份 ID 是你向服務器請求註冊的,請求它給你一個名分。它願意給你就給你,不願意給你,也可以把你的身份給另一個人。比如微博的用戶名是不可以重複的,那好的名字給誰呢?服務器說了算。同時因為服務器可以決定“你是誰”,你的朋友是誰,也就是所謂的社交關係鏈,常常作為身份ID的一種副產品,也是被服務器所控制的。最典型的例子就是微信。通訊錄是微信最寶貴的資產。
-
數據(生產資料 — 數據放在哪/誰有權利接管/是否可以偽造數據/所有權/使用權屬於誰
雖然大部分數據是用戶生產的,但是數據是存在服務器上的,而且誰生產的數據/是否可以偽造數據,這個關係和保證也是服務器背書的,大部分情況下你對你自己生產的數據只有使用權,所有權是歸平臺的。
-
交易 (生產關係 — 誰可以提供服務/消費服務,遵守什麼樣的交易規則/是否需要抽成
規則是寫在服務器裡面的,服務器可以隨時更改規則,因為服務器同時擁有了數據,而規則的修改往往涉及到數據的使用/獲取需要進行調整,它想怎麼改就可以怎麼改。
我們可以看到,服務器對用戶提供服務的這個過程,很像是一個國家對人的管理。
你在 twitter 上註冊賬號,相當於你在公安局做了一次戶口登記,公安局發給你一串身份證號,你的 ID,然後身份證是你證明自己的通行證,有了身份你才可以在這個國家租房子住、生產、消費。整個過程同時還會伴有法律、道德這樣的社會規則對你的行為進行約束。
在 twitter 上也有“用戶使用條款”這樣類似的東西,類比現實世界裡,就相當於是法律。如果你的賬號有某些行為不被允許,twitter 就會收回你的賬號。但是線上這套東西,跟線下的法律比,實在糟糕很多。國家公民還有權利去參與法律的制定、也有司法/律師這樣的制度賦予公民辯論的空間,保證程序正義,但是線上是完全沒有的,twitter 完全是自己說了算。
所以我們需要意識到,在賽博空間裡的,人的基本權利,所謂“人權”,其實是比現實世界還要欠缺的。如果現實世界中,人們已經是現代文明、步入了主權國家的階段,那麼在賽博空間裡,我們大概還處於奴隸制或者封建制的時代。服務器就是那裡面的王,君主和皇帝。
Nostr在這個變化裡屬於什麼角色
Nostr 有非常特別的定位。我喜歡用這樣一個圖譜來看待它的定位,從左至右是“中心化”和“去中心化”的兩個極端,Nostr 大概處於中間更靠右邊一點的位置:
注意,在這個圖譜裡面,我們其實是在描述和談論賽博空間裡提供服務的不同的類型,屬於一種做事情的方法,或者說技術架構上的選擇,跟線下的政治身份是沒有關係的。左翼和右翼只是一種比喻。
Right Wings(centralization)
中心化的極端上,大部分使用的就是我們上面說的服務器權力最大化的模式。我們可以給他們打個標籤,叫右翼,保守派。他們有以下組成部分:
-
商業公司(主流力量,大公司/創業公司)
-
個人/小群體(geek self-hosting / indie developer)
-
政府(政府門戶/社會機構提供的服務/政務的線上化)
Right Wings builds a lot of servers, and lots of machines, and we live under the rule of those machines.
值得注意的是,右翼這裡面也有一些比較美好的獨立開發者,他們往往以手工業的形式,提供一些比較獨特的軟件和服務。但是仍然是採用服務器權力最大化的模式,即開發者一個人說了算。
再舉一個例子,https://tilde.town/,這是一個在 Linux 服務器上搭建的社區,發起人提供服務器的資源,你可以向社區申請入駐,得到訪問這臺公共服務器的 ssh 憑證,從而接入服務器,在上面寫東西、畫畫、make things,整個社區都能互相分享居民們的創造。
這個社區是典型的人治,入駐申請是發起人手動確認的,如果你行為不好,他也可以直接把你踢出去。這個社區現在的人口接近 1000 個人,是非常小且美好的社區,不過它仍然是我們上面說的那種模式。
所以很多時候右翼這種做法,也是合理的。只要社區的居民本身同意服務器的統治,社區發展不受阻礙,那麼也不一定需要把這種中心化的模式全部替代成去中心化的。中心化服務有它合理存在的一面。這也是為什麼我不同意“區塊鏈吃掉一切“的觀點。
Left Wings(decentralization)
左翼指的是去中心化這個極端上的做法。他們包括以下幾種形式:
-
p2p network(志願節點,Bittorrent/Tor/SSB)
-
blockchain(代碼為強制性的準則,需要激勵&共識)
-
自由軟件(不提供服務,開源/捐助)
Left Wings actually wants everybody to run their little homebrew machines, and unit all the devices from people under one global cyber law. That is the code of the law, the so-called consensus layer in the blockchain network.
左翼激進派也是當前比較重要的一股力量。以區塊鏈為例,左翼是怎麼做的呢?基本上它們是希望打造一個公平的、所有人都參與進來的系統,這套系統的規則很嚴密,比如比特幣總量就是2100萬個,每挖出一個都需要經過挖坑計算,任何節點都需要遵守同一套代碼的規則。
而這套代碼的規則怎麼修改和升級,又有關於這套規則的修改的規則,比如有的區塊鏈是使用 DAO 來投票,決定一項提議是否能被納入共識中,成為新的規則。當然比特幣可能更多是使用鏈下治理的方式,每次系統升級可能主要取決於礦工節點的採納和支持。
所以區塊鏈其實也是在創造一整套非常理想化的系統,這個系統像是古希臘那種全民參與政治生活的非常細緻的系統。與之對比,Nostr 並沒有這樣的雄心壯志,它更多是以一種鬆散的形式,只規定核心的幾條規則,其他的你們愛怎麼樣怎麼樣,可能更貼近於現代自由主義,個人生活和政治生活之間有一條明確的線,在這條線之外的,法律完全不需要進行干涉,也無權進行干涉。
我們可以更仔細地看看 Nostr 的區別在哪裡。
Nostr:更務實的中庸之道
Nostr 的協議是極簡的,定位是特別的,它不靠左,也不靠右,選擇了一個比較中庸的站位。我們同樣從 ID(身份)、數據(生產資料)、交易(生產關係)這三方面進行對比。
-
ID(身份):只是一對公私鑰,用戶自己掌控。服務器無法剝奪用戶的身份,它無法讓“我不是我”,只有“我”能證明“我是我”。
-
數據(生產資料):Nostr 定義了數據的格式 (一個非常簡單的 JSON)和傳播(服務器與客戶端之間的通信標準)
-
數據的格式:需要遵守同一個標準,其中最重要的規定是發出的任何消息必須要簽名。
-
數據的傳播:hardcode 使用 websocket 來進行服務器/客戶端的通信,定義了基本的通信格式。why hardcode?更利於 boostrap,務實做法。
-
交易(生產關係):可以嵌入比特幣閃電網絡,提供原生數字貨幣的支付能力,但只是一個可選項(非常重要),除此之外沒有任何其他規定,法無禁止即可為。
服務器在 Nostr 生態被稱作 Relay,用戶生產的數據只是暫時保管在 Relay 上,而且因為每個數據都有簽名,所以服務器無法偽造用戶數據,或者剝奪用戶生產了某個數據的關係。
數據的傳播依賴於向公共 Relay 發起請求獲取某一個用戶的數據,而一份數據可以存放在多個 Relay 上,一個用戶也可以向多個 Relay 請求獲取同一份數據。這樣的機制導致服務器(Relay)成為了一個用戶可以自由切換、自由選擇的服務商。它失去了定義身份、掌握數據所有權、制定交易規則的權力,只剩下暫時備份存儲數據的功能,更像一塊 API 聯網的硬盤,只能通過提供這部分服務來收取費用。服務器變成了更單純的一個角色。
結論:服務器(Relay)的權力被削弱,客戶端的權利被放大。
有人會擔心,這樣客戶端的權力又會不會太大?比如出現某個客戶端一家獨大的場面,鎖死了用戶,無法退出?答案是不會。因為服務器的權力已經被解構了,用戶切換客戶端的成本也同樣降低了很多,所以這部分是不太需要擔心的。
當然,有一種情況是,客戶端可能會打著“緩存/優化”的名義,引入了過多超出 Nostr 協議範圍內的客戶端定製化的服務,這種做法仍然是需要引起警示的。因為一旦這些所謂的優化太多了,那麼我們很容易又受限於某個特定客戶端的服務的統治,而不是遵循 Nostr 協議的標準,導致無法切換選擇其他的客戶端。這種情況就是生態被某個產品綁架了。
但就現在而言,因為切換客戶端幾乎沒有成本,更大的難題是客戶端的開發者如何提供有差異化(但仍然兼容於 Nostr 協議)的產品,甚至客戶端應該如何擁有商業模式,看起來比 Relay 的商業模式更難探索。但這部分屬於其他內容,暫且不表。
另一方面來說,我覺得 Nostr 的 relay-client 架構是更貼近現實中人類社會運作的模式。
- Relay as a free-cache or paid-long-term-storage
Relay 在 Nostr 的生態裡可以被視為一種免費緩存/付費長期存儲的服務(free to cache, pay to save)。很多剛加入 Nostr 的用戶會問一個問題,如果 Relay 下線了怎麼辦,我的數據是不是就丟了?答案是沒錯,你的數據確實就會丟了。但這可能不是一個問題。
Nostr 的社交網絡就像線下你去某家咖啡廳跟人交談一樣,免費的公共 Relay 只是免費幫你緩存一下你發出的數據,它是一種傳播的介質,就像咖啡館的這場對話,聲音是通過空氣傳播一樣,Relay 幫你把聲音傳出去,讓參與對話的其他人可以聽到你的消息。然後這場交談結束之後,大家各自回家,這些交談的信息也就一併消失在空氣了。
當然,如果你覺得自己說的話特別有價值,你也可以自己跑一個 Relay 把這些消息永久存儲下來,這就像有的人回家了會寫一下日記,記錄今天自己這場對話裡說了什麼一樣,只是大部分人可能並不會記日記。如果你特別重視自己的數據,也可以使用付費的 Relay,讓付費的服務器幫你保存數據。這就像在生活中你家裡東西太多了,出去租了一個倉庫放自己的東西一樣。
- Relay as a localized autonomous community
現在的社交網絡是全球化的,全球化會有全球化的問題。人腦其實無法處理全球化的信息,因為我們長期以來就生活在一個小村莊裡,鄰居可能就幾百人,當網絡給了你全球化的信息時,你的大腦很容易處理不過,所以你總是在刷 twitter 的時候感覺焦慮,看到打仗的新聞要關心,那邊貿易戰、技術卡脖子也要擔心。Relay 的模式有機會讓我們迴歸到一個個的小社區的模式。每個 Relay 就是一個社區,推行本地自治,切換 Relay 可以自由切換這些社區。
為什麼我感覺 Nostr 是務實的呢,也是這一點。我們其實是在後退一步,放棄 P2P 的追求,轉而去尋找“多中心化的、小規模社區自治”的社交網絡。為什麼放棄 P2P 呢?因為 P2P won't work(這是 faitjaf 的原話,我也很同意)。P2P 網絡出現了這麼久,我們沒有辦法讓它成為人人可用的社交網絡服務,它也確實不好用。所以我們轉而去追求多個 Relay、只是自由切換 Relay 的模式,顯然它更落地,至少已經可以跑起來了。
很多人的一個誤區是認為,Nostr 是去中心化的、沒有 censorship,其實每個 Relay 就是一箇中心,每個 Relay 選擇存放什麼樣的數據,就是在對數據進行一種審查。但這個審查我認為是可以接受的,因為 Relay 需要承擔現實對應的法律風險,Relay 背後有一個具體的人在運營,他在付出自己的成本去提供服務,他有權利選擇服務什麼樣的用戶、接受什麼樣的數據。我們不想要的,只是所有人被迫去服從一個統一的服務器的規則。Relay 可以自由切換,如果你不喜歡某個 Relay 的規則,那你完全可以切掉這個 Relay 去使用其他 Relay。
Nostr 生態與區塊鏈的區別
區塊鏈是一個非常昂貴且更加嚴格的系統。它的數據需要經過節點達成共識,得到最終一致性(eventual consistency)的保證。區塊鏈可以提供信任,比如開發者寫了一個智能合約放在鏈上,他能信任合約跑出來的結果和代碼裡寫的就是一樣的,對用戶來說,意味著比特幣這樣的系統,我能相信比特幣這條鏈,它記錄我有多少比特幣,這一整個賬本是可信的。但是這種信任是非常昂貴的,要付出很大的代價,每臺比特幣礦機在做 POW 挖礦的時候,就是在支付這樣的代價。
相反,Nostr 是很便宜的,因為它的系統很鬆散,我們在 Nostr 上只是保證了每一條發出去的消息都經過了賬戶的簽名,你能得到的只有“接收到的消息是不是真的來自某個公鑰”這樣一層非常薄的信任。除了這個信任之外,其他 Nostr 都不對你做保證,Relay 數據的可用性、消息順序的一致性,這些統統不管。
但是相對應帶來的好處是,Nostr 非常鬆散、非常靈活,很多協議不做規定的部分,就是一個生態自發生長、自由發展的空間。這樣的自由和靈活度意味著,Nostr 很容易連接其他系統,很容易成為 DID 這一層的標準,因為它足夠薄、足夠簡單。而且它不像其他區塊鏈系統那樣,自帶某一個系統的偏見(比如BTC社區不會接受ETH社區,ETH社區不會接受BTC社區)。
在做事情的方法上,Nostr 和區塊鏈有本質上的不同。區塊鏈系統往往需要事先有比較縝密的架構設計,規定好協議的邊邊角角,設想協議中各個生態角色的行為邏輯,設計好的經濟激勵機制來協調這些不同的生態角色,同時也需要設計一個協議升級的機制。而 Nostr 的做法是,只去制定幾條最重要的規則,其他的不管了,讓生態自己發展。比如Relay怎麼賺錢,這不是 Nostr 核心協議應該關心的問題,讓生態裡的人自己去折騰,最終可能切實能提供價值的 Relay 才能存活下來,找到真正行得通的商業模式。
總的來說,區塊鏈很棒,區塊鏈也許能解決整個人類社會 5% 的問題。5%非常珍貴的關鍵的問題,比如貨幣和金融。但是區塊鏈同時也很昂貴,你很難期盼它繼續去解決其他 95% 的問題。而且也並不是所有問題都需要使用區塊鏈這種重量級的信任。作為對比,Nostr 或許能解決其他 80% 的問題,這 80% 的問題可能只需要輕量級的信任,而最後剩餘的 15% 則繼續保持原有的中心化的、右翼派的做法就行了。
對我來說,Nostr 更有意思的是除了協議之外的部分,也就是“生態”。無論一個協議設計多麼精巧,如果沒有一群人圍繞著它做事,那麼這個協議永遠無法發展和進化。Nostr 最大的財富不是協議本身,而是圍繞協議聚集的這一群人。他們很多是 BTC maxi,但也有很多對區塊鏈不感冒的人。如果你去深入看 Nostr 生態的發展,你會驚訝於它展示出來的生命力與活力,而這種活力在我看來,正好跟當年 TCP/IP 那群人(IETF)制定標準的時候所遵循的原則形成了巧妙的共鳴:
We reject: kings, presidents and voting.
我們拒絕:國王、總統和投票。
We believe in: rough consensus and running code.
我們相信:大致的共識和運行的代碼。
That is, our credo is that we don't let a single individual dictate decisions (a king or president), nor should decisions be made by a vote, nor do we want decisions to be made in a vacuum without practical experience. Instead, we strive to make our decisions by the consent of all participants, though allowing for some dissent (rough consensus), and to have the actual products of engineering (running code) trump theoretical designs.
也就是說,我們的信條是,我們不讓一個人(國王或總統)主宰決策,也不應該通過投票做出決策,也不希望決策是在沒有實際經驗的真空中做出的。相反,我們努力在所有參與者的同意下做出決定,儘管允許一些異議(粗略的共識),並讓工程(運行代碼)的實際產品勝過理論設計。
在 Nostr 生態裡,有相似的一些特徵。
-
Organization structure: no official organization, light funding by people like Jack
-
NIPs: loosely join, everything is optional, openly debated, the founder is not afraid of being subjective
-
Developers ship fast: Everything happens publicly on the Nostr protocol(launch/discussion/feedback/debate)
most new things added in the Nostr protocol are done this way: firstly some clients/relays software developers introduce a new feature and then push the feature to public users, users give some feedback, and other developers notice that and start the discussion, some people writing NIPs, have debate on the NIP drafts, and then finally merge the NIPs ——this is true “rough consensus and running code” looks like.
總結
賽博空間最初的想象和現實發生了分叉。而技術的發展,不論是 P2P 還是區塊鏈的左翼力量,讓人們試圖重新審視最初對賽博空間的想象。這時候 Nostr 以一種務實中庸的定位,給出了不一樣的解題思路。本質上 Nostr 是一種退而求其次,因為 P2P/區塊鏈無論在技術的易用性上,還是技術成本上,對許多隻需要輕量級信任的場景而言,都過於笨重了。Nostr 有非常獨特的生態,追求粗略共識和可以運行的代碼,協議本身的極簡為生態的自由發展留下了更多空間,使它有可能成為一個連接萬物的原點。
這篇文章零零散散,談了很多零碎的看法。時間有限,許多話題無法展開,期待以後有機會深入聊聊 Nostr 面臨的挑戰和機遇。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














