在商業(yè)動(dòng)機(jī)的推動(dòng)下,企業(yè)控制的社交媒體平臺(tái)出現(xiàn)并極大削弱了人們對(duì)網(wǎng)絡(luò)參與文化的最初希望。網(wǎng)絡(luò)信息技術(shù)應(yīng)該從根本上使文化生產(chǎn)民主化,但如今,這些利益驅(qū)動(dòng)的平臺(tái)限制和塑造了網(wǎng)絡(luò)行為——「點(diǎn)贊」并不是對(duì)內(nèi)容表示感謝,而是一種商業(yè)化工具。
基于去中心化技術(shù)和聯(lián)合協(xié)議構(gòu)建的替代性社交媒體平臺(tái)再現(xiàn)了網(wǎng)絡(luò)社交的原始愿景。數(shù)據(jù)由用戶(hù)控制并記錄在去中心化數(shù)據(jù)庫(kù),前端由社區(qū)驅(qū)動(dòng),審核是社區(qū)偏好的表達(dá),算法由用戶(hù)選擇。這是一種開(kāi)源精神推動(dòng)創(chuàng)新。
去中心化和替代性社交媒體的歷史
在網(wǎng)絡(luò)成為商業(yè)、娛樂(lè)和社交互動(dòng)的中心之前,它主要是一種學(xué)術(shù)和軍事領(lǐng)域的工具。蒂姆·伯納斯·李(Tim Berners-Lee)在制定第一個(gè)網(wǎng)絡(luò)協(xié)議時(shí)秉持著平等主義的愿景:互聯(lián)網(wǎng)的最初設(shè)計(jì)是一個(gè)去中心化的網(wǎng)絡(luò),信息可以在節(jié)點(diǎn)之間自由傳播,沒(méi)有任何個(gè)體可以控制,也不存在單點(diǎn)故障。
然而,隨著網(wǎng)絡(luò)的商業(yè)化的發(fā)展,搜索引擎和社交媒體巨頭等中心化平臺(tái)成為了主導(dǎo)者。雖然這些實(shí)體提供了巨大的價(jià)值,但它們偏離了最初的去中心化精神,導(dǎo)致了我們當(dāng)前的 Web2 環(huán)境。
替代性社交網(wǎng)絡(luò)發(fā)展中的關(guān)鍵創(chuàng)新是聯(lián)合協(xié)議概念的出現(xiàn)。聯(lián)合網(wǎng)絡(luò)是指多個(gè)獨(dú)立服務(wù)器或「節(jié)點(diǎn)」組成的系統(tǒng),它們合作形成一個(gè)社交網(wǎng)絡(luò),這有別于一個(gè)組織控制所有服務(wù)器的中心化平臺(tái)。
在聯(lián)合網(wǎng)絡(luò)系統(tǒng)中,每臺(tái)服務(wù)器都運(yùn)行遵循共享協(xié)議的軟件,這使它們能夠相互通信。在一臺(tái)服務(wù)器上注冊(cè)的用戶(hù)可以無(wú)縫地關(guān)注其他服務(wù)器上的用戶(hù)、與其他服務(wù)器上的用戶(hù)交互并共享內(nèi)容,就像他們?cè)谕黄脚_(tái)上一樣。聯(lián)合協(xié)議的例子包括 ActivityPub 和 OStatus,它們?yōu)?Mastodon 和 PeerTube 等聯(lián)合平臺(tái)提供支持。
在聯(lián)合系統(tǒng)的設(shè)置中,用戶(hù)可以選擇他們信任的服務(wù)器,他們可能會(huì)遷移到不同的服務(wù)器或設(shè)置自己的服務(wù)器,他們被賦予了更多自主權(quán)。術(shù)語(yǔ)「Fediverse」(「聯(lián)邦」和「宇宙」的合成詞)被用于描述這樣的系統(tǒng)。 Fediverse 始于 GNU Social 平臺(tái)及其前身(Statusnet 和 Laconica),但真正的轉(zhuǎn)折點(diǎn)是 ActivityPub 協(xié)議的開(kāi)發(fā)和廣泛采用,該協(xié)議在 2018 年被萬(wàn)維網(wǎng)聯(lián)盟(W 3 C)作為推薦標(biāo)準(zhǔn)發(fā)布。
在 Web3,一旦數(shù)據(jù)被移植到鏈上,聯(lián)合社交網(wǎng)絡(luò)就是去中心化系統(tǒng)的默認(rèn)狀態(tài)。區(qū)塊鏈充當(dāng)存儲(chǔ)內(nèi)容的后端服務(wù)器,前端對(duì)此內(nèi)容建立索引并將其直接提供給用戶(hù)。身份與管理用戶(hù)錢(qián)包的公私密鑰對(duì)綁定,用戶(hù)能夠輕松地驗(yàn)證他們生成的任何數(shù)據(jù)或內(nèi)容。此外,使用 NFT 等鏈上原語(yǔ)可以將存儲(chǔ)的內(nèi)容捆綁在元數(shù)據(jù)中,并充當(dāng)域名或去中心化身份 (DID)。
與 ActivityPub 的工作原理類(lèi)似,Web3 協(xié)議尋求通過(guò)用戶(hù)節(jié)點(diǎn)之間經(jīng)過(guò)身份驗(yàn)證的關(guān)系來(lái)引導(dǎo)社交圖譜。由于任何前端都可以索引并提供這些內(nèi)容,因此前端層存在激烈的競(jìng)爭(zhēng),新功能蓬勃發(fā)展。此外,由于數(shù)據(jù)存儲(chǔ)在鏈上,用戶(hù)可以選擇他們喜歡的算法,并且可以激勵(lì)他們使用某些算法重新獲得數(shù)據(jù)的價(jià)值。這與更直接的內(nèi)容貨幣化手段相結(jié)合,為在很大程度上被排除在貨幣化之外的創(chuàng)作者提供了更好的整體體驗(yàn),盡管他們的內(nèi)容推動(dòng)了對(duì)這些平臺(tái)的需求。
協(xié)議對(duì)比
要真正理解去中心化社交媒體協(xié)議的創(chuàng)新,有必要了解實(shí)現(xiàn)它們的技術(shù)。值得注意的是,我們并未在此包含所有的社交協(xié)議,而是選擇一些最流行的社交協(xié)議:
身份 / 命名空間
在聯(lián)合和去中心化社交圖譜或網(wǎng)絡(luò)協(xié)議中,「命名空間」是指用戶(hù)標(biāo)識(shí)符或其他資源是唯一的域。它是一種區(qū)分一個(gè)域 / 服務(wù)器與另一個(gè)域 / 服務(wù)器的資源或身份的方法,確??缍鄠€(gè)域集成或通信時(shí)不存在沖突和歧義。
不同去中心化社交協(xié)議的身份和關(guān)聯(lián)命名空間包括從簡(jiǎn)單密鑰對(duì)( Nostr 、Scuttlebutt )開(kāi)始,到指向托管配置文件(ActivityPub) 的 URI,再到使用 NFT 等鏈上原語(yǔ)(以及最近的 ERC-6551 擴(kuò)展,例如 Lens V2)等更復(fù)雜的模型的所有范圍 )。
Farcaster 是這些技術(shù)的一個(gè)很好的例子。 Farcaster 帳戶(hù)代表網(wǎng)絡(luò)上的一個(gè)獨(dú)特實(shí)體。每個(gè)帳戶(hù)都有一個(gè)唯一的數(shù)字標(biāo)識(shí)符,稱(chēng)為 Farcaster ID(fid)。身份是使用稱(chēng)為 IdRegistry 的以太坊合約在鏈上管理的,用戶(hù)向 IdRegistry 發(fā)起交易以獲取新的 fid。擁有 fid 的地址就是用戶(hù)的管理地址。 IdRegistry 確保 fid 可以在地址之間傳輸,并且不會(huì)有兩個(gè)地址具有相同的 fid。 Farcaster 還擴(kuò)展了此命名空間以支持鏈上或鏈下發(fā)布的 ENS 域名 。用戶(hù)必須向網(wǎng)絡(luò)提交簽名證明才能申領(lǐng)用戶(hù)名。
另一方面,ActivityPub 通過(guò)唯一的 URI(通常是 HTTPS URL)來(lái)標(biāo)識(shí)每個(gè)用戶(hù)。該 URI 指向用戶(hù)的個(gè)人資料,并作為他們?cè)?Fediverse 中的全局標(biāo)識(shí)符。為了使這些 URI 更加用戶(hù)友好,許多 ActivityPub 平臺(tái)使用稱(chēng)為 Webfinger 的系統(tǒng)。 Webfinger 允許用戶(hù)擁有類(lèi)似「@username@domain.com」的身份標(biāo)識(shí)。
Lens 和 CyberConnect 將用戶(hù)個(gè)人資料作為 NFT 進(jìn)行管理。以 Lens 為例,一個(gè)用戶(hù)地址保存一個(gè) Profile NFT,并且單個(gè)地址可以保存多個(gè) Profile NFT。每個(gè) Profile NFT 都封裝了用戶(hù)活動(dòng)的整個(gè)歷史記錄。此外,Profile NFT 有一個(gè) FollowModule,它本質(zhì)上是一組規(guī)則,用于管理不同帳戶(hù)如何獲取 Follow NFT。這些 Follow NFT 直接在鏈上記錄賬戶(hù)和 profile 之間的聯(lián)系。還有一些句柄存在,可以與配置文件分開(kāi)創(chuàng)建,并且可以從一個(gè) profile 鏈接到另一 profile 或取消鏈接。句柄存在于它們自己的命名空間中(例如 lens/@alice)。
數(shù)據(jù)
數(shù)據(jù)可以說(shuō)是去中心化網(wǎng)絡(luò)最重要的特征,因?yàn)閿?shù)據(jù)的創(chuàng)建和標(biāo)準(zhǔn)化是這些系統(tǒng)的基礎(chǔ)。這里管理數(shù)據(jù)的最常見(jiàn)技術(shù)是使用標(biāo)準(zhǔn)化格式,例如 JSON 和常見(jiàn)關(guān)系對(duì)象(例如喜歡、關(guān)注)。核心數(shù)據(jù)對(duì)象通常包括:
主體 &對(duì)象:定義的「主體」 ( 例如,用戶(hù) ) 和「對(duì)象」(例如帖子或消息)。
出版物:帖子或評(píng)論被封裝為「出版物」,通常通過(guò) URL 鏈接到外部?jī)?nèi)容。
僅追加日志中的內(nèi)容:每個(gè)條目(無(wú)論是發(fā)布還是更新)都是離散內(nèi)容項(xiàng)的日志,按順序添加和存儲(chǔ)。
讓我們深入研究幾個(gè)示例,了解特定協(xié)議如何進(jìn)行工作。
ActivityPub 利用 ActivityStreams 2.0 數(shù)據(jù)格式(一種基于 JSON 的數(shù)據(jù)結(jié)構(gòu))來(lái)表示各種社交互動(dòng),例如帖子或點(diǎn)贊。該協(xié)議包括兩個(gè)主要組件:客戶(hù)端到服務(wù)器 (C 2 S) 和服務(wù)器到服務(wù)器 (S 2 S)。 C 2 S 允許用戶(hù)通過(guò)客戶(hù)端應(yīng)用程序與各自的服務(wù)器進(jìn)行交互。相比之下,S 2 S 促進(jìn)了服務(wù)器之間的通信,從而實(shí)現(xiàn)了協(xié)議健壯的聯(lián)合特性。
在 ActivityPub,實(shí)體被分類(lèi)為「主體」( 通常是用戶(hù)帳戶(hù)或組 ) 和「對(duì)象」(內(nèi)容或操作,例如帖子或點(diǎn)贊)。當(dāng)主體對(duì)對(duì)象執(zhí)行動(dòng)作時(shí),它會(huì)創(chuàng)建一個(gè)「活動(dòng)」對(duì)象,例如「創(chuàng)建」、「關(guān)注」或「喜歡」。
Web3 社交圖譜借鑒了 ActivityPub 的許多核心思想,但是將它們應(yīng)用到了區(qū)塊鏈上。例如, Lens Protocol 引入了「出版物」,它封裝了各種用戶(hù)生成的內(nèi)容,例如帖子、鏡像、評(píng)論和其他形式的媒體。每個(gè)出版物都與一個(gè) ContentURI 相關(guān)聯(lián),指向存儲(chǔ)在去中心化協(xié)議(如 IPFS 或 Arweave )或中心化存儲(chǔ)服務(wù)(如 AWS S 3)上的特定內(nèi)容。這種設(shè)計(jì)可確保用戶(hù)的個(gè)人資料和所有相關(guān)出版物安全地存儲(chǔ)在他們的個(gè)人錢(qián)包中,從而擺脫對(duì)中心化數(shù)據(jù)庫(kù)的依賴(lài)。
此外,與 Web2 架構(gòu)相比,Web3 提供了一種更直接的方法來(lái)將用戶(hù)內(nèi)容和影響力貨幣化。用戶(hù)可以對(duì) Follow NFT 的鑄造進(jìn)行收費(fèi),也可以將 Collect Modules 與其出版物集成。后一個(gè)選項(xiàng)允許他們收取與其出版物的 ContentURI 鏈接的 NFT 鑄造費(fèi)用。除了這些功能之外,Lens Protocol 還提供 GraphQL API,用于從前端接口中屏蔽區(qū)塊鏈組件,從而提供比以前的去中心化社交網(wǎng)絡(luò)更加友好的用戶(hù)體驗(yàn)。
最終,許多去中心化社交網(wǎng)絡(luò)協(xié)議創(chuàng)建了只能添加的數(shù)據(jù)結(jié)構(gòu),并通過(guò)用戶(hù)密鑰進(jìn)行身份驗(yàn)證。例如,在 CyberConnect 上,每條以用戶(hù)為中心的數(shù)據(jù)都表示為數(shù)據(jù)流,其中只有數(shù)據(jù)所有者才允許更新。對(duì)數(shù)據(jù)的每次更新都會(huì)以?xún)H添加提交日志的形式附加到數(shù)據(jù)流,并且生成的數(shù)據(jù)結(jié)構(gòu)成為名為 Merkle DAG 的哈希鏈接數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)類(lèi)型包括內(nèi)容、收藏、評(píng)論和訂閱。
Scuttlebutt 也使用了僅能添加的日志數(shù)據(jù)機(jī)構(gòu)。每個(gè)用戶(hù)都有自己的日志,其中每條新消息或操作在由用戶(hù)身份簽名后都會(huì)附加到末尾。它還支持被稱(chēng)為「blob」的二進(jìn)制數(shù)據(jù)的共享。這些數(shù)據(jù)可以是圖像、視頻或任何其他二進(jìn)制內(nèi)容。 Blob 與僅附加日志分開(kāi)存儲(chǔ),但對(duì)這些 Blob 的引用(哈希)可以包含在日志中。
對(duì)于 Farcaster,消息是公共更新,例如發(fā)帖、關(guān)注或添加個(gè)人資料圖片,這些消息被編碼為 protobuf,并且必須由帳戶(hù)簽名者進(jìn)行哈希處理和簽名。只要有足夠的存儲(chǔ)空間,用戶(hù)就可以向 Hub 發(fā)布消息。HUb 在接受每條消息之前會(huì)檢查其簽名者的有效性。
存儲(chǔ)
早期去中心化協(xié)議的數(shù)據(jù)存儲(chǔ)主要是鏈下。例如,Scuttlebutt 使用點(diǎn)對(duì)點(diǎn) gossip 網(wǎng)絡(luò),將數(shù)據(jù)存儲(chǔ)在用戶(hù)的本地設(shè)備上。這種方法確保了數(shù)據(jù)主權(quán),因?yàn)橛脩?hù)可以完全控制自己的信息。然而,這也意味著數(shù)據(jù)可用性取決于用戶(hù)的設(shè)備是否在線(xiàn)或網(wǎng)絡(luò)中的其他節(jié)點(diǎn)是否擁有數(shù)據(jù)副本。隨著時(shí)間的推移,為了管理存儲(chǔ)空間,一些 Scuttlebutt 客戶(hù)端可能需要實(shí)施垃圾收集策略來(lái)刪除舊的或不太相關(guān)的數(shù)據(jù)。
這種點(diǎn)對(duì)點(diǎn)方法的替代方案是數(shù)據(jù)存儲(chǔ)服務(wù)器的出現(xiàn)。以 Matrix 為例,多個(gè)家庭服務(wù)器存儲(chǔ)房間歷史記錄的副本并相互同步。當(dāng)用戶(hù)在房間中發(fā)送消息(或任何事件)時(shí),他們的家庭服務(wù)器會(huì)將該事件廣播到其他家庭服務(wù)器,然后這些家庭服務(wù)器會(huì)存儲(chǔ)該事件并將轉(zhuǎn)發(fā)到其連接的客戶(hù)端。類(lèi)似地,ActivityPub 讓網(wǎng)絡(luò)中的每個(gè)實(shí)例(或服務(wù)器)存儲(chǔ)其數(shù)據(jù),通常存儲(chǔ)在數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)(關(guān)系型、NoSQL 等)的選擇取決于 ActivityPub 軟件的具體實(shí)現(xiàn)。例如,流行的 ActivityPub 平臺(tái) Mastodon 使用 PostgreSQL 數(shù)據(jù)庫(kù)。
Cyberconnect、Farcaster 和 Lens 等協(xié)議已采用區(qū)塊鏈進(jìn)行存儲(chǔ)。鏈上存儲(chǔ)確保了數(shù)據(jù)的不可變性和可驗(yàn)證性,為使用底層共識(shí)機(jī)制同步狀態(tài)的去中心化應(yīng)用程序提供了堅(jiān)實(shí)的基礎(chǔ)。然而,這種方法可能會(huì)帶來(lái)可擴(kuò)展性挑戰(zhàn),因?yàn)槊織l數(shù)據(jù)都需要存儲(chǔ)在鏈上,可能會(huì)導(dǎo)致高昂的交易費(fèi)用和較慢的檢索時(shí)間。
這導(dǎo)致許多 Web3 社交協(xié)議嘗試混合方法,使用鏈上存儲(chǔ)執(zhí)行低頻操作(例如個(gè)人資料、訂閱),使用鏈下存儲(chǔ)來(lái)執(zhí)行高頻事件(例如點(diǎn)贊、轉(zhuǎn)發(fā)、評(píng)論)或?qū)㈡溝麓鎯?chǔ)用作臨時(shí)權(quán)宜之計(jì),以一定時(shí)間間隔將數(shù)據(jù)批量上傳到鏈上。
CyberConnect 為了有效處理用戶(hù)連接之間的頻繁更新,在去中心化數(shù)據(jù)存儲(chǔ)中采用了哈希鏈表。啟動(dòng)連接時(shí),「操作日志」被創(chuàng)建。后續(xù)狀態(tài)更改(例如在關(guān)注和取消關(guān)注之間切換)將作為新節(jié)點(diǎn)添加到此日志中。雖然這些更新最初存儲(chǔ)在中心化服務(wù)器上,但它們會(huì)定期批量上傳到去中心化存儲(chǔ)平臺(tái),例如 Arweave 或 IPFS。為了實(shí)現(xiàn)快速檢索數(shù)據(jù),操作日志中的節(jié)點(diǎn)會(huì)中心化存儲(chǔ)。但是,用戶(hù)可以通過(guò)瀏覽此哈希鏈接列表來(lái)獨(dú)立驗(yàn)證數(shù)據(jù)完整性。即使某些數(shù)據(jù)查詢(xún)依賴(lài)于中心化服務(wù)器,CyberConnect 的系統(tǒng)也被設(shè)計(jì)為充分去中心化,同時(shí)還提供了高性能。
Farcaster 使用了類(lèi)似的混合方法:鏈上合約用于對(duì)一致性和去中心化很重要的低頻操作。帳戶(hù)、用戶(hù)名、存儲(chǔ)和密鑰使用一系列以太坊合約進(jìn)行管理。鏈下系統(tǒng)用于依賴(lài)性能的高頻操作。用戶(hù)帳戶(hù)創(chuàng)建的消息在 Farcaster hub 的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)上存儲(chǔ)和傳播。
討論
去中心化社交協(xié)議有望徹底改變數(shù)字交互中的用戶(hù)體驗(yàn)。在 Web3 推動(dòng)下,公私密鑰對(duì)的加速采用將有助于更廣泛地理解這種背景下的身份原語(yǔ),并且 Web2 社交媒體公司的持續(xù)審核和數(shù)據(jù)捕獲將推動(dòng)更多用戶(hù)轉(zhuǎn)向其他地方。我們預(yù)計(jì)這些去中心化社交協(xié)議的采用曲線(xiàn)會(huì)加速。
為了促進(jìn)創(chuàng)新應(yīng)用程序的發(fā)展,協(xié)議開(kāi)發(fā)人員和開(kāi)源貢獻(xiàn)者迫切需要超越目前基礎(chǔ)設(shè)施層使用的基本數(shù)據(jù)類(lèi)型和關(guān)系對(duì)象。雖然現(xiàn)有的原語(yǔ)充分囊括了傳統(tǒng) Web2 社交媒體的功能,但仍有巨大的擴(kuò)展和創(chuàng)新潛力。這里討論的大多數(shù)協(xié)議本質(zhì)上都支持系統(tǒng)內(nèi)的可擴(kuò)展性,為未來(lái)的開(kāi)發(fā)和開(kāi)源貢獻(xiàn)提供了堅(jiān)實(shí)的基礎(chǔ)。
然而,互操作性也至關(guān)重要。雖然前端開(kāi)發(fā)人員能夠獨(dú)立增強(qiáng)功能,但如果增強(qiáng)得功能不能與基于相同底層協(xié)議構(gòu)建的其他應(yīng)用程序互操作,那么這樣做可能會(huì)損害系統(tǒng)的整體利益。確保各種應(yīng)用程序之間的兼容性和無(wú)縫集成對(duì)于去中心化社交協(xié)議的長(zhǎng)期成功和采用至關(guān)重要。
在數(shù)據(jù)存儲(chǔ)領(lǐng)域,Web3 社交協(xié)議傾向于混合方法。將身份和主要內(nèi)容等高價(jià)值資產(chǎn)分配給鏈上原語(yǔ),同時(shí)將點(diǎn)贊等低風(fēng)險(xiǎn)內(nèi)容分配給鏈下解決方案,這種平衡的方法不僅保留了關(guān)鍵數(shù)據(jù)的完整性和安全性,而且還提供了接近傳統(tǒng)社交媒體平臺(tái)的用戶(hù)體驗(yàn)。
去中心化網(wǎng)絡(luò)有望改變?nèi)穗H溝通、信息共享和社區(qū)建設(shè)。通過(guò)優(yōu)先考慮用戶(hù)自主權(quán)、隱私和培養(yǎng)有機(jī)關(guān)系,這些網(wǎng)絡(luò)正在為更加公平和以用戶(hù)為中心的數(shù)字環(huán)境鋪平道路。此外,這些網(wǎng)絡(luò)的去中心化性質(zhì)有助于實(shí)現(xiàn)信息和資源訪(fǎng)問(wèn)的民主化,從而減輕與中心化控制相關(guān)的風(fēng)險(xiǎn)。