什麼樣的去中心化社交協議是有用的?

刘果 | Guo Liu
·
·
IPFS
·
過去十幾年中,人們已經嘗試過各種不同類型的協議和網絡結構,但什麼樣的協議對社交媒體是有用的?

去中心化社交媒體出現在比特幣之前,已經有十多年的歷史。十幾年中,社交媒體成為了人們獲取信息的主要方式。

去中心化社交媒體和協議一直在演變,但使用人數和影響力一直不及中心化社交媒體。一個重要原因是,它們大都由志願者開發和維護,沒有可持續的商業模式。直到區塊鏈技術成熟,去中心化商業模式才成為可能。

但在引入商業模式之前,需要有開放協議定義社交媒體本身,確定數據存儲、通訊方式和使用者之間的關係。過去十幾年中,人們已經嘗試過各種不同類型的協議和網絡結構。那麼,什麼樣的協議對社交媒體是有用的?


我們先來看去中心化社交媒體需要什麼。

去中心化社交媒體需要兼顧穩健性與可用性。前者是去中心化最大的優勢,讓系統在自然災害或者人為攻擊面前仍然保持暢通,只對少部分人和場景有用;後者是去中心化社交媒體常常欠缺的,但也是最多人在意的。

不管是中心化和去中心化社交媒體,另一個需要兼顧的,是言論自由和內容治理。只要另一個人接受,每個人都有權對另一個人說任何事情;同時,我們需要公共空間來傳播觀點、達成共識,此時又必須有內容好壞和言論邊界的標準。我們可以區分出言論(speech)和触達(reach)兩層機制:任何人對於自己的追踪者有言論的自由,但公共空間裡言論能否觸達他人,不同的社群有各自的規範。

能夠保障穩健性和言論自由的,是更加去中心化的網絡結構;而提升可用性、做好內容治理,常常需要一定程度中心化的服務器。我們可以通過將客戶端直接相連得到最去中心化的點對點網絡,也可以通過服務器之間的協議形成多中心的服務和治理。這兩層結構對於社交媒體都是有用的。

借用著名的“centralized vs decentralized vs distributed 示意圖”的話,去中心化社交媒體同時需要decentralized 和distributed 兩層結構。


點對點協議

點對點網絡是最去中心化和穩健的網絡結構,每個使用者通過自己的客戶端與其他用戶直接連接,全權控制自己的內容和軟件,甚至在沒有互聯網的情況下都能正常通訊。

設計良好的點對點協議還有許多其他有用的特性。一個是數據的自驗證(self-certifying) ,讓使用者從其他人那裡獲得數據時,不需要依賴第三方確定數據的真實性。一種常見的設計是,每個發布者擁有一對公私鑰,發布的內容通過私鑰簽署,內容接收者得以驗證發布者身份。

另一個有用的特性,是帶寬共享。因為點對點網絡中數據不需要通過特定的服務器傳遞,而是可以來自於任何客戶端。這在數據大、帶寬低的時候尤其有用,也是互聯網早期BitTorrent 下載、快播、迅雷等借助點對點技術的產品的優勢。

所以,一個支持自驗證的點對點傳輸協議適合作為去中心化社交網絡的基礎。它是用戶身份的一部分,也是確保言論自由的底層機制。

服務器協議

許多社交軟件中常用的功能,在純點對點網絡中難以實現。內容推薦、搜索、評論等需要聚合和索引,提供數據、接收通知等需要隨時在線,域名管理、社群治理、賬戶餘額等需要全局狀態,都需要服務器才能完成。

需要全局狀態的功能可以由區塊鍊等分佈式賬本來實現,其他功能則可以由用戶自行選擇的服務器來承擔。為了讓服務器無法綁定用戶、也讓不同軟件之間更容易配合,我們可以將服務器的通訊方式標準化。一種思路,是標準化服務器與客戶端之間的通訊,如Nostr;另一種思路,是標準化服務器與服務器之間的通訊,如ActivityPub、AT Protocol。

在這兩種思路之中,僅標準化服務器與客戶端之間的通訊時,服務器有中心化傾向,因為客戶端需要與同一個服務器相連才能通訊;僅標準化服務器與服務器之間的通訊時,客戶端可以通過不同的服務器通訊,同時只要有全局的id 系統,用戶也能夠方便地在不同的服務器之間遷移。


實現

點對點傳輸協議中,目前使用最廣泛的是IPFS。它有很高程度的模塊化,每個模塊的接口也設計得簡單易懂,並在開發者中達成了廣泛共識。另一個是Secure Scuttlebutt,通過社交關係決定數據存儲,設計精巧,有穩定使用的社交網絡,但還沒有IPFS 採用廣泛。

ActivityPub 是目前最流行的去中心化社交協議,用戶超過一千萬,包括著名的軟件套件“長毛象(Mastodon)“。 ActivityPub 同時包含了服務器與服務器之間的標準和服務器與客戶端之間的標準,但兩者也可以分開使用。 ActivityPub 的問題在於,用戶身份與服務器域名綁定,且數據也全部存儲在特定服務器中;這兩個問題恰好可以通過引入IPNS(IPFS 中的動態模塊)解決。

對於區塊鏈技術,目前最為普及的是以太坊虛擬機(EVM)相關的工具,以太坊本身也提供了最好的流動性。區塊鏈節點可以運行在服務器中,但大部分服務器只需要輕節點、不需要保存全量數據;同時,區塊鏈可以與點對點協議共享數據尋址和傳播的算法,提高網絡效率。目前的主流區塊鏈設計都可以滿足需求,不過區塊鏈技術演變迅速,什麼樣的鏈架構最適合輕節點、兼容點對點協議還是未知。

CC0 公眾領域貢獻宣告

喜歡我的作品嗎?別忘了給予支持與讚賞,讓我知道在創作的路上有你陪伴,一起延續這份熱忱!

logbook icon
刘果 | Guo Liu“To change something, build a new model that makes the existing model obsolete.”
  • 來自作者
  • 相關推薦
游记
2 篇作品
分布式信息网络
9 篇作品
纽约诸法门
3 篇作品