前言:時隔一年多,推特創始人 Jack Dorsey 再次公布了其資助的去中心化社交協議標準 bluesky 主要進展,稱團隊自去年 2 月已與眾多去中心化社區人才交流想法,并公開了一份 61 頁的去中心化社交生態概述,介紹了生態現有的主要協議、應用和主題,
概述中 IPFS、Solid 協議對互聯網和區塊鏈從業者而言并不陌生,但 ActivityPub、Matrix、Ssb、Aether 這些協議相對而言就比較小眾,但它們是去中心化社交領域的關鍵協議,結構上可分為聯邦協議和點對點協議,
在本篇文章,社交平臺 Happening 創始人 Jay Graber 清晰地介紹了這兩類協議的特性、代表協議與優劣勢,以便不熟悉該領域的讀者入門了解。
撰文:Jay Graber,社交平臺 Happening 創始人
編譯:詹娟
社交網路去中心化的努力希望從結構上改變權力的平衡,讓用戶能夠便捷地更換服務,由自己控制自己的身份和數據。形容一個網路為「去中心化」,這只是根據它不是什么來定義它——它不依賴于一個公司運行的單一服務器集。至于它實際上是什么,可以有很多不同的樣子。
聯邦協議和點對點 (P2P) 協議是設計網路的不同方法,在結構上,可以賦予用戶權力。
亦可稱為中心式、聯邦式和點對點式
傳統的社交應用,如 Twitter、Facebook 和 Instagram,都是以客戶-服務器的模式運行,作為用戶,你所有的交互都要經過一家公司的服務器。在聯邦網路中,用戶仍然在與服務器進行交互,但任何人都可以運行一臺服務器,與網路中的其他服務器進行交互,從而給用戶提供了更多的供應商選擇,在 P2P 網路中,沒有客戶端和服務器的區別,每個用戶的設備都可以同時充當這兩種角色,使它們在功能上等同于對等端。
這篇文章將概述一些最流行的聯邦和點對點社交網路設計,我將深入探討 ActivityPub 和 ssb,并介紹它們的主要實現如何解決身份、審核和盈利等難題。簡單比較 Matrix 和 Aether 后,將能描述一些替代方法是如何運作的,
在每一節的最后,我將列出聯邦模型和 P2P 模型的主要優缺點。
基于區塊鏈的社交網路,則將在后續文章中討論,
聯邦協議
聯邦網路使得用戶能選擇一臺服務器注冊,這樣就可以訪問分布在許多不同服務器上的整個網路。這為用戶提供了更多應用、策略和社區文化方面的選擇,在互聯網上,所有人都使用的一種聯邦協議是電子郵件,Gmail 是一個很受歡迎的電子郵件應用,但是就算你使用別的供應商,你仍然可以與任何有電子郵件地址的人通信。
ActivityPub
ActivityPub 是一個聯邦協議,它通過特定的 API 定義了一組可互操作的社交網路交互。任何實現此協議的服務器都可以與網路的其他服務器通信。
Mastodon 建立在 ActivityPub 之上,是 Twitter 的一個流行的聯邦替代方案,擁有大約 220 萬用戶。
在 Mastodon 之前,像 GNU social 和 Diaspora 這樣的項目都嘗試過擴大聯邦社交網路的規模,但都失敗了,Mastodon 的成功很大程度上是因為它創造了一個看上去和用起來都很像 Twitter 的用戶界面,讓人感覺非常熟悉,這可以令那些心存不滿的用戶輕易在這里落腳。
Mastodon 上的主頁資訊流
身份
用戶在服務器 (「實例」) 上創建帳戶,但可以與其他實例上的用戶通信,可以互操作的整個實例群被稱為「Fediverse」,完整的用戶名是一個用戶的句柄加上該用戶所屬實例的名稱,例如: @[email protected]
帳戶憑據由用戶的實例管理,因此,如果用戶忘記了密碼,他們可以要求重置密碼,
審核
每個實例都設置自己的審核政策,可以通過管理員單方面的決定,也可以通過某種形式的集體投票,管理員可以禁止整個實例,切斷它們的可見性,如果一個實例被許多其他實例禁用,它的用戶仍然可以彼此交談,但他們將與其他 Fediverse 隔離。這種情況發生在 Gab.com 上,它建立了一個實例,
盈利
聯邦社交網路在維護方面需要托管和開發兩方面的成本投入。每個實例都由它自己的管理員和社區資助,Mastodon 的開發是通過主要開發者運營的 Patreon 資助的。目前,這個應用平臺每年能帶來 7 萬美元的收益,這能支持他全職從事 Mastodon 的工作,還能支付 mastodon.social 實例的托管費用和一個審核團隊,
另一個聯邦協議:Matrix
Matrix 是一種為哈拉而非社交網路設計的協議,但值得一提的是,它通過良好的用戶體驗實現了聯邦哈拉體驗,并在改進身份和調節方面做了有價值的工作。
該協議目前有大約 1,100 萬用戶,他們使用各種客戶端。它由 New Vector 公司開發,該公司在 2019 年籌集了 800 萬美元的 A 輪融資。
與大多數去中心化協議相比,Matrix 的身份解決方案更加靈活——用戶有一個 Matrix 用戶 ID,但也可以使用第三方 ID。Matrix 賬戶可鏈接到各種 ID,如電子郵件地址、社交賬戶和電話號碼,一個全局聯邦可信身份服務器集群用于驗證和復制這些映射。Matrix 團隊也在緊鑼密鼓地開發用于管理的工具,這里有詳細介紹,并計劃很快發布 P2P 實現,
聯邦協議的利弊
聯邦網路提供了一種熟悉的用戶體驗,因為用戶不必為他們的帳戶憑證承擔全部責任,并且可以按照他們習慣的方式與內容進行交互,用戶可以在同一個網路中選擇不同的服務,以更好地滿足他們的需求,而不必適應截然不同的做事方式,
然而,聯邦服務器也繼承了一些與中心化服務器相同的缺點,服務器依賴于管理員,而管理員通常是個人或組織,擁有的資源比大型社交媒體公司少。服務器管理員可能會濫用權力,或者因為跟不上成本而關閉服務,對于中心化服務器,有人可以要求阻止訪問或提供后門,而對于聯邦服務器也能采取同樣的做法,
根據實現的不同,用戶身份可能綁定到服務器,這意味著用戶在遷移時將失去連接和數據,隱私保護各不相同——Mastodon 目前并沒有對內容加密,因此所有的消息,包括私人消息,對服務器管理員來說都可能是可見的,
P2P 協議
P2P 協議使得用戶能直接相互通信,因為網路中的所有設備都是對等的,既可以請求數據,也可以響應請求,有些節點可能有特殊的作用,比如公共引導節點幫助新用戶連接到網路中,但是每個節點在功能上仍然是等同的。這種設計賦予了用戶最大的控制權,同時也給予其最多的責任,
Ssb
Ssb,即 secure-scuttlebutt,是一種為社交分享而設計的分布式流言協議。每個節點都有網路的部分視圖,因此很難統計出總用戶數,但根據一位開發者在 2019 年 11 月運行網路爬蟲得出的結果,ssb 上大約有 1.6 萬個節點,用戶分布在幾個不同的客戶端應用程式上,在桌面 (Patchwork) 和移動端 (Manyverse、Planetary) 上運行。
Patchwork,一個用于 ssb 的桌面客戶端
每個用戶都有一個公鑰 / 私鑰對,用于對帖子簽名,驗證其真實性。每一個帖子都被附加到最末端,在一個僅附加的日志中從最開始的帖子依次排序,因為每個帖子都與最后一個帖子相連,所以目前無法刪除或編輯帖子。當你關注一個用戶時,你將開始存儲和同步他們的帖子。當你使用 ssb 應用程式時,它會不斷地在后臺與其他節點共享數據。
身份
在 ssb 中,用戶是通過公鑰來識別的。我的公鑰是 :
@3QHXrXl762sf7P/Q1RMtscA7IRipfUFnE5tpie5McvE=.ed25519
用戶可以選擇一個人類可讀的昵稱與他們的密鑰相關聯,但是昵稱不是唯一的,因為沒有全局注冊表,其他人可以用我的昵稱 @arcalinea 來提到我,但別人也可以使用相同的名字,
密鑰管理是最大的挑戰之一,因為用戶免不了會丟失和遺忘他們的密碼,用戶對自己的身份擁有完全的控制權,這意味著如果他們丟失了密碼,他們就會永久地失去對他們帳戶的訪問權。密鑰目前也存儲在設備上,因此沒辦法跨多個設備登入一個賬戶——而這是社交網路用戶心目中的基本功能。
為了解決密鑰管理問題,在 ssb 生態系統中的 Dark Crystal 項目實施了社交密鑰恢復系統,它把鑰匙分成碎片存儲在可信的家人和朋友那里,通過他們能幫助重建丟失的鑰匙。
審核
在 ssb 協議層,有一個「亮旗」 (flag) 功能用于發送關于不良行為者的強烈負面信號,沒有全局審核,也沒有專門的版主,建立在 ssb 之上的應用程式允許用戶「屏蔽」和「忽略」,ssb 中的屏蔽比中心化網路中的屏蔽功能更強,因為這意味著被屏蔽的用戶的數據不再通過這些節點,如果有足夠多的人屏蔽一個或一組用戶,那么他們所在的那部分網路就會與其他部分隔絕,
盈利
P2P 網路的維護者無需支付托管費用,因為沒有服務器,而且隨著新用戶的加入網路容量自然會增長,開發者如果想要從事更多志愿工作,需要自己尋找資金。ssb 生態系統是通過各種資助、捐贈、來自兼職項目和咨詢的收入,以及一些已經籌集資金在 ssb 上構建應用程式的公司來支持的,
另一種 P2P 協議:Aether
Aether 是一個類似 Reddit 的 P2P 社交網路。它的數據結構是一個 DAG (有向無環圖) ,而不是一個僅有附加的日志;而且它會限制帖子的出現時間,你可以編輯和刪除帖子,在一段時間不活動后帖子會被自動刪除,而不像 ssb 會存儲每個帖子,
P2P 版本是通過自帶的 Aether Pro 版本的資金來支持的,它可以提供多設備登入——你可以從遠程后臺存儲和同步加密密鑰,每個子社區都有自己的版主,版主可以由社區選舉產生,也可以彈劾自己,
P2P 的利弊
P2P 網路讓用戶完全掌控自己的數據和身份,數據層在功能上與應用視圖分離,因此用戶可以在應用之間無縫切換,同時保留所有積累的帖子和連接,P2P 網路的容量會隨著需求而自然擴展,因為新用戶會向網路增加資源,而不僅僅是消耗。
P2P 網路具有最大限度的彈性和抗審查能力。由于 P2P 網路不需要服務器,只要網路上的兩臺設備之間有本地連接,即使互聯網的其他部分癱瘓,應用程式也可以繼續工作。賬戶都有加密密鑰對,所以私人消息很容易支持——ssb 提供端到端的加密私人消息,
然而,掌控的另一面是承擔責任,沒有一項服務可以幫助找回丟失或被盜的密碼。審核依賴于自下而上的手段,這些手段還沒有經過大規模測試,這使得這些網路跟中心化站點一樣,都會出現類似的濫用。在后臺存儲數據或運行流言協議的 P2P 功能會消耗用戶設備上不成比例的資源。P2P 網路沒有全局的「喜歡」或「分享」計數,有些不允許用戶編輯或刪除帖子。
這種做法可能令人驚訝,同時也說明了在 P2P 網路中復制用戶習以為常的功能和性能事實上深具挑戰性,更大的技術挑戰是,網路也是圍繞著客戶-服務器模型的假設而建立的,因此試圖成為完全 P2P 的網路必須進入非常底部的層,并處理 NAT 穿透等問題。
聯邦協議和 P2P 協議的一些缺點在未來可能會被克服。對關鍵領域的研究和開發,如密鑰管理、身份和審核,將有助于顯著提高可用性,一個障礙是當前的實現仍然缺乏資源——上面列出的所有項目都是通過捐贈、基金或風險資本籌集了一些資金,但沒有一個項目開發出可持續的商業模式。
另一個障礙是,去中心化協議的發展速度天生就比中心化應用要慢,因為更新協議和讓所有客戶都參與進來需要社區協調,像 W3C 這樣的標準機構往往是為了協調更新而出現的,否則隨著時間的推移,不同實現之間的不兼容會使網路分裂,
就目前的情況來看,中心化應用更容易構建,迭代更快,更容易盈利,但一個充滿激情的社區一直致力于去中心化的替代方案,因為這些技術架構可以改變用戶和平臺之間的關系,為用戶帶來了更多選擇,