從身份、數據和存儲等維度對比主流 Web3 社交平台技術方案。
原文:A Comparative Analysis of Decentralized Social Protocols
作者:1kx
編譯:Luffy,Foresight News
封面:Photo by Tyler van der Hoeven on Unsplash
在商業動機的推動下,企業控制的社交媒體平台出現並極大削弱了人們對網路參與文化的最初希望。 網路資訊技術應該從根本上使文化生產民主化,但如今,這些利益驅動的平臺限制和塑造了網路行為——「點讚」並不是對內容表示感謝,而是一種商業化工具。
基於去中心化技術和聯合協議構建的替代性社交媒體平臺再現了網路社交的原始願景。 數據由使用者控制並記錄在去中心化資料庫,前端由社區驅動,審核是社區偏好的表達,演算法由用戶選擇。 這是一種開源精神推動創新。
去中心化和替代性社交媒體的歷史
在網路成為商業、娛樂和社交互動的中心之前,它主要是一種學術和軍事領域的工具。 蒂姆·伯納斯·李(Tim Berners-Lee)在制定第一個網路協定時秉持著平等主義的願景:互聯網的最初設計是一個去中心化的網路,資訊可以在節點之間自由傳播,沒有任何個體可以控制,也不存在單點故障。
然而,隨著網路的商業化的發展,搜尋引擎和社交媒體巨頭等中心化平臺成為了主導者。 雖然這些實體提供了巨大的價值,但它們偏離了最初的去中心化精神,導致了我們當前的 Web2 環境。
替代性社交網路發展中的關鍵創新是聯合協定概念的出現。 聯合網路是指多個獨立伺服器或「節點」組成的系統,它們合作形成一個社交網路,這有別於一個組織控制所有伺服器的中心化平臺。
在聯合網路系統中,每台伺服器都運行遵循共用協議的軟體,這使它們能夠相互通信。 在一台伺服器上註冊的使用者可以無縫地關注其他伺服器上的使用者、與其他伺服器上的使用者交互並共用內容,就像他們在同一平臺上一樣。 聯合協定的例子包括 ActivityPub 和 OStatus,它們為 Mastodon 和 PeerTube 等聯合平臺提供支援。
在聯合系統的設置中,使用者可以選擇他們信任的伺服器,他們可能會遷移到不同的伺服器或設置自己的伺服器,他們被賦予了更多自主權。 術語「Fediverse」(「聯邦」和「宇宙」的合成詞)被用於描述這樣的系統。 Fediverse 始於 GNU Social 平臺及其前身(Statusnet 和 Laconica),但真正的轉捩點是 ActivityPub 協定的開發和廣泛採用,該協定在 2018 年被萬維網聯盟(W3C)作為推薦標準發佈。
在 Web3,一旦數據被移植到鏈上,聯合社交網路就是去中心化系統的默認狀態。 區塊鏈充當存儲內容的後端伺服器,前端對此內容建立索引並將其直接提供給使用者。 身份與管理使用者錢包的公私密鑰對綁定,用戶能夠輕鬆地驗證他們生成的任何數據或內容。 此外,使用 NFT 等鏈上原語可以將存儲的內容捆綁在元數據中,並充當功能變數名稱或去中心化身份(DID)。
與 ActivityPub 的工作原理類似,Web3 協定尋求通過使用者節點之間經過身份驗證的關係來引導社交圖譜。 由於任何前端都可以索引並提供這些內容,因此前端層存在激烈的競爭,新功能蓬勃發展。 此外,由於數據存儲在鏈上,使用者可以選擇他們喜歡的演算法,並且可以激勵他們使用某些演算法重新獲得數據的價值。 這與更直接的內容貨幣化手段相結合,為在很大程度上被排除在貨幣化之外的創作者提供了更好的整體體驗,儘管他們的內容推動了對這些平臺的需求。
協議對比
要真正理解去中心化社交媒體協議的創新,有必要瞭解實現它們的技術。 值得注意的是,我們並未在此包含所有的社交協定,而是選擇一些最流行的社交協定:
身份 / 命名空間
在聯合和去中心化社交圖譜或網路協定中,「命名空間」是指用戶標識碼或其他資源是唯一的域。 它是一種區分一個域 / 伺服器與另一個域 / 伺服器的資源或身份的方法,確保跨多個域集成或通信時不存在衝突和歧義。
不同去中心化社交協定的身份和關聯命名空間包括從簡單密鑰對(Nostr、Scuttlebutt)開始,到指向託管配置檔(ActivityPub)的 URI,再到使用 NFT 等鏈上原語(以及最近的 ERC-6551 擴展,例如 Lens V2)等更複雜的模型的所有範圍)。
Farcaster 是這些技術的一個很好的例子。 Farcaster 帳戶代表網路上的一個獨特實體。 每個帳戶都有一個唯一的數字標識符,稱為 Farcaster ID(fid)。 身份是使用稱為 IdRegistry 的乙太坊合約在鏈上管理的,使用者向 IdRegistry 發起交易以獲取新的 fid。 擁有 fid 的位址就是使用者的管理位址。 IdRegistry 確保 fid 可以在地址之間傳輸,並且不會有兩個位址具有相同的 fid。 Farcaster 還擴展了此命名空間以支援鏈上或鏈下發佈的 ENS 功能變數名稱 。 用戶必須向網路提交簽名證明才能申領使用者名。
另一方面,ActivityPub 通過唯一的 URI(通常是 HTTPS URL)來標識每個使用者。 該 URI 指向使用者的個人資料,並作為他們在 Fediverse 中的全域識別碼。 為了使這些 URI 更加使用者友好,許多 ActivityPub 平臺使用稱為 Webfinger 的系統。 Webfinger 允許用戶擁有類似「@username@domain.com」的身份標識。
Lens 和 CyberConnect 將使用者個人資料作為 NFT 進行管理。 以 Lens 為例,一個使用者位址保存一個 Profile NFT,並且單個位址可以保存多個 Profile NFT。 每個 Profile NFT 都封裝了用戶活動的整個歷史記錄。 此外,Profile NFT 有一個 FollowModule,它本質上是一組規則,用於管理不同帳戶如何獲取 Follow NFT。 這些 Follow NFT 直接在鏈上記錄帳戶和 profile 之間的聯繫。 還有一些句柄存在,可以與配置檔分開創建,並且可以從一個 profile 連結到另一 profile 或取消連結。 句柄存在於它們自己的命名空間中(例如 lens/@alice)。
數據
數據可以說是去中心化網路最重要的特徵,因為數據的創建和標準化是這些系統的基礎。 這裡管理數據的最常見技術是使用標準化格式,例如 JSON 和常見關係物件(例如喜歡、關注)。 核心資料物件通常包括:
- 主體 &物件:定義的「主體」(例如,使用者)和「物件」(例如帖子或消息)。
- 出版物:帖子或評論被封裝為「出版物」,通常通過 URL 連結到外部內容。
- 僅追加日誌中的內容:每個條目(無論是發佈還是更新)都是離散內容項的日誌,按順序添加和存儲。
讓我們深入研究幾個示例,瞭解特定協定如何進行工作。
ActivityPub 利用 ActivityStreams 2.0 數據格式(一種基於 JSON 的數據結構)來表示各種社交互動,例如帖子或點讚。 該協定包括兩個主要元件:用戶端到伺服器(C2S)和伺服器到伺服器(S2S)。 C2S 允許使用者透過用戶端應用程式與各自的伺服器進行交互。 相比之下,S2S 促進了伺服器之間的通信,從而實現了協定健壯的聯合特性。
在 ActivityPub,實體被分類為「主體」(通常是使用者帳戶或組)和「物件」(內容或操作,例如帖子或點讚)。 當主體對對象執行動作時,它會創建一個「活動」物件,例如「創建」、「關注」或「喜歡」。
Web3 社交圖譜借鑒了 ActivityPub 的許多核心思想,但是將它們應用到了區塊鏈上。 例如,Lens Protocol 引入了「出版物」,它封裝了各種使用者生成的內容,例如帖子、鏡像、評論和其他形式的媒體。 每個出版物都與一個 ContentURI 相關聯,指向存儲在去中心化協定(如 IPFS 或 Arweave)或中心化存儲服務(如 AWS S3)上的特定內容。 這種設計可確保使用者的個人資料和所有相關出版物安全地存儲在他們的個人錢包中,從而擺脫對中心化資料庫的依賴。
此外,與 Web2 架構相比,Web3 提供了一種更直接的方法來將用戶內容和影響力貨幣化。 用戶可以對 Follow NFT 的鑄造進行收費,也可以將 Collect Modules 與其出版物集成。 后一個選項允許他們收取與其出版物的 ContentURI 連結的 NFT 鑄造費用。 除了這些功能之外,Lens Protocol 還提供 GraphQL API,用於從前埠中遮罩區塊鏈元件,從而提供比以前的去中心化社交網路更加友好的用戶體驗。
最終,許多去中心化社交網路協議創建了只能添加的數據結構,並通過使用者密鑰進行身份驗證。 例如,在 CyberConnect 上,每條以使用者為中心的數據都表示為數據流,其中只有數據擁有者才允許更新。 對數據的每次更新都會以僅添加提交日誌的形式附加到數據流,並且生成的數據結構成為名為 Merkle DAG 的哈希鏈接數據結構。 數據類型包括內容、收藏、評論和訂閱。
Scuttlebutt 也使用了僅能添加的日誌數據機構。 每個使用者都有自己的日誌,其中每條新消息或操作在由使用者身份簽名後都會附加到末尾。 它還支援被稱為「blob」的二進位數據的共用。 這些數據可以是圖像、視頻或任何其他二進位內容。 Blob 與僅附加日誌分開存儲,但對這些 Blob 的引用(哈希)可以包含在日誌中。
對於 Farcaster,消息是公共更新,例如發帖、關注或添加個人資料圖片,這些消息被編碼為 protobuf,並且必須由帳戶簽名者進行哈希處理和簽名。 只要有足夠的存儲空間,使用者就可以向 Hub 發佈消息。 HUb 在接受每條消息之前會檢查其簽名者的有效性。
存儲
早期去中心化協議的數據存儲主要是鏈下。 例如,Scuttlebutt 使用點對點 gossip 網路,將數據存儲在使用者的本地設備上。 這種方法確保了數據主權,因為使用者可以完全控制自己的資訊。 然而,這也意味著數據可用性取決於使用者的設備是否在線或網路中的其他節點是否擁有數據副本。 隨著時間的推移,為了管理存儲空間,一些 Scuttlebutt 用戶端可能需要實施垃圾收集策略來刪除舊的或不太相關的數據。
這種點對點方法的替代方案是數據存儲伺服器的出現。 以 Matrix 為例,多個家庭伺服器存儲房間歷史記錄的副本並相互同步。 當使用者在房間中發送消息(或任何事件)時,他們的家庭伺服器會將該事件廣播到其他家庭伺服器,然後這些家庭伺服器會存儲該事件並將轉發到其連接的用戶端。 類似地,ActivityPub 讓網路中的每個實例(或伺服器)存儲其數據,通常存儲在資料庫中。 資料庫(關係型、NoSQL 等)的選擇取決於 ActivityPub 軟體的具體實現。 例如,流行的 ActivityPub 平臺 Mastodon 使用 PostgreSQL 資料庫。
Cyberconnect、Farcaster 和 Lens 等協定已採用區塊鏈進行存儲。 鏈上存儲確保了數據的不可變性和可驗證性,為使用底層共識機制同步狀態的去中心化應用程式提供了堅實的基礎。 然而,這種方法可能會帶來可擴充性挑戰,因為每條數據都需要存儲在鏈上,可能會導致高昂的交易費用和較慢的檢索時間。
這導致許多 Web3 社交協定嘗試混合方法,使用鏈上存儲執行低頻操作(例如個人資料、訂閱),使用鏈下存儲來執行高頻事件(例如點讚、轉發、評論)或將鏈下存儲用作臨時權宜之計,以一定時間間隔將數據批量上傳到鏈上。
CyberConnect 為了有效處理使用者連接之間的頻繁更新,在去中心化數據存儲中採用了哈希鏈表。 啟動連接時,「操作日誌」被創建。 後續狀態更改(例如在關注和取消關注之間切換)將作為新節點添加到此日誌中。 雖然這些更新最初存儲在中心化伺服器上,但它們會定期批量上傳到去中心化存儲平臺,例如 Arweave 或 IPFS。 為了實現快速檢索數據,操作日誌中的節點會中心化存儲。 但是,用戶可以通過流覽此哈希鏈接清單來獨立驗證數據完整性。 即使某些數據查詢依賴於中心化伺服器,CyberConnect 的系統也被設計為充分去中心化,同時還提供了高性能。
Farcaster 使用了類似的混合方法:鏈上合約用於對一致性和去中心化很重要的低頻操作。 帳戶、使用者名、存儲和密鑰使用一系列乙太坊合約進行管理。 鏈下系統用於依賴性能的高頻操作。 用戶帳戶創建的消息在 Farcaster hub 的點對點網路上存儲和傳播。
討論
去中心化社交協定有望徹底改變數位交互中的用戶體驗。 在 Web3 推動下,公私密鑰對的加速採用將有助於更廣泛地理解這種背景下的身份原語,並且 Web2 社交媒體公司的持續審核和數據捕獲將推動更多使用者轉向其他地方。 我們預計這些去中心化社交協議的採用曲線會加速。
為了促進創新應用程式的發展,協定開發人員和開源貢獻者迫切需要超越目前基礎設施層使用的基本數據類型和關係物件。 雖然現有的原語充分囊括了傳統 Web2 社交媒體的功能,但仍有巨大的擴展和創新潛力。 這裡討論的大多數協議本質上都支持系統內的可擴充性,為未來的開發和開源貢獻提供了堅實的基礎。
然而,互操作性也至關重要。 雖然前端開發人員能夠獨立增強功能,但如果增強得功能不能與基於相同底層協議構建的其他應用程式互操作,那麼這樣做可能會損害系統的整體利益。 確保各種應用程式之間的相容性和無縫集成對於去中心化社交協議的長期成功和採用至關重要。
在數據存儲領域,Web3 社交協定傾向於混合方法。 將身份和主要內容等高價值資產分配給鏈上原語,同時將點讚等低風險內容分配給鏈下解決方案,這種平衡的方法不僅保留了關鍵數據的完整性和安全性,而且還提供了接近傳統社交媒體平臺的用戶體驗。
去中心化網路有望改變人際溝通、資訊共用和社區建設。 通過優先考慮使用者自主權、隱私和培養有機關係,這些網路正在為更加公平和以使用者為中心的數字環境鋪平道路。 此外,這些網路的去中心化性質有助於實現資訊和資源訪問的民主化,從而減輕與中心化控制相關的風險。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。