作者:Justin McAfee,1KX研究分析师;翻译:0xxz@金色财经
在商业动机推动下,企业控制的社交媒体平台的出现,极大地削弱了人们对在线参与文化的最初希望。网络信息技术应该从根本上使文化生产民主化,但如今,这些平台主要出于利润驱动的目的限制和塑造在线参与——“点赞”并不是对某条内容表示感谢,而是一种货币化工具,商业驱动的算法。
基于去中心化和联邦协议的替代社交媒体平台提供了对在线社交最初概念的回归。数据由用户控制并在去中心化的数据库中传播,前端由社区驱动,自我限制是社区偏好的表达,算法由用户选择,开源精神推动创新。
在网络成为商业、娱乐和社交互动的中心之前,它主要是一种学术和军事工具。Tim Berners-Lee在制定第一个网络协议时秉持着平等主义的愿景——互联网的最初设计是一个去中心化的网络,信息可以在节点之间自由流动,没有任何单点控制或故障。
然而,随着网络的商业重要性不断增强,搜索引擎和社交媒体巨头等中心化平台成为了主导者。虽然这些实体提供了巨大的价值,但它们偏离了最初的去中心化精神,导致了我们当前的 web2 环境。
替代社交网络时间线的关键创新是联邦协议概念的出现。联邦网络是指多个独立服务器或“节点”协作形成单个社交网络的系统,而不是由单个组织控制所有服务器的中心化平台。
在联邦系统中,每台服务器都运行遵循共享协议的兼容软件,使它们能够相互通信。在一台服务器上注册的用户可以无缝地关注其他服务器上的用户、与其他服务器上的用户交互并共享内容,就像他们在同一平台上一样。这些协议的示例包括ActivityPub和OStatus,它们为Mastodon和PeerTube等联邦平台提供支持。
在联邦设置中,用户可以选择他们信任的服务器,可能会迁移到不同的服务器或设置自己的服务器,从而给予他们更多的自主权。术语“Fediverse”(“联邦”和“宇宙”的组合)用于描述这样的系统。Fediverse 始于GNU 社交及其前身(StatusNet和Laconica)等平台,但真正的转折点是ActivityPub协议的开发和广泛采用,该协议于 2018年被万维网联盟 (W3C) 作为推荐标准发布。
在web3中,一旦数据被移植到链上,联邦社交网络就是去中心化系统的默认状态。区块链充当存储内容的意见中立的后端服务器,前端对此内容建立索引并将其直接提供给用户。身份由已经管理用户钱包的公私密钥对处理,使他们能够轻松地验证他们生成的任何数据或内容。此外,使用 NFT 等链上原语可以将存储的内容捆绑在元数据中,并充当域名或去中心化标识符 (DID)。
与ActivityPub的工作原理类似,web3 协议寻求通过用户节点之间经过身份验证的关系来引导社交图谱。由于任何前端都可以索引并提供这些内容,因此前端层存在激烈的竞争,导致功能蓬勃发展。此外,由于数据是链上的,用户可以选择他们喜欢使用的算法,并且可以激励他们使用某些算法,重新获得数据的价值。这与更直接的内容货币化手段相结合,为创作者提供了更好的整体体验,尽管他们的内容推动了这些平台的需求,但他们在很大程度上被排除在货币化之外。
要真正理解去中心化社交媒体协议中的创新,有必要了解实现它们的技术细微差别。
值得注意的是,我们并未在此包含所有社交协议,而是选择一些最流行的进行比较:Matrix、Scuttlebutt、ActivityPub、Nostr、CyberConnect、Farcaster、Lens、AT Protocol。
在联邦和去中心化的社交图谱或网络协议的背景下,“名称空间”是指用户标识符或其他资源是唯一的域或领域。它是一种区分一个域/服务器与另一个域/服务器的资源或身份的方法,确保跨多个域集成或通信时不存在冲突或歧义。
去中心化社交协议中的身份和相关名称空间涵盖了从简单的密钥对(Nostr、Scuttlebutt)到指向 HTTPS URL 托管配置文件(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为例,一个用户地址保存一个ProfileNFT,并且单个地址可以保存多个ProfileNFT。每个 Profile NFT 都封装了用户活动的整个历史记录,包括帖子、mirrors、评论以及他们创建的其他类型的内容。此外,Profile NFT 有一个 FollowModule,它本质上是一组规则,用于管理不同帐户如何获取 Follow NFT。这些 Follow NFT 用于直接在链上记录账户和主要资料之间的联系。还有一些用户名可以存在,可以与配置文件分开创建,并且可以从一个配置文件链接到另一配置文件或取消链接。用户名存在于它们自己的名称空间中(例如lens/@alice)。
数据可以说是去中心化网络最重要的特征,因为数据的创建和标准化是这些系统的基础。这里管理数据的最常见技术是使用标准化格式,例如 JSON 和常见关系对象(例如“喜欢”、“关注”)。核心数据对象通常包括:
参与者和对象:定义的“参与者”(例如用户或组)和“对象”(例如帖子或消息)。
出版物:帖子或评论被封装为“出版物”,通常通过 URL 链接到外部内容。
仅可添加日志中的内容:每个条目(无论是发布还是更新)都是离散内容项的日志,按顺序添加和存储。
让我们深入研究几个示例,了解其如何使用特定协议进行工作。
ActivityPub利用ActivityStreams 2.0数据格式(一种基于 JSON 的结构)来表示各种社交互动,例如帖子或点赞。该协议有两个主要组件:客户端到服务器 (C2S) 和服务器到服务器 (S2S)。C2S 允许用户通过客户端应用程序与各自的服务器进行交互。相比之下,S2S 促进了服务器之间的通信,从而实现联邦协议的鲁棒性。
在ActivityPub中,实体被分类为“参与者”(通常是用户帐户或组)和“对象”(内容或操作,例如帖子或点赞)。当参与者对对象执行操作时,它会创建一个“活动”,例如“创建”、“关注”或“喜欢”。
Web3社交图谱采用了ActivityPub的许多核心思想,但将它们应用到链上。例如,Lens Protocol 引入了“出版物”,其中封装了各种用户生成的内容,例如帖子、mirrors、评论和其他形式的媒体。每个出版物都与一个 ContentURI 相关联,指向存储在去中心化协议(如 IPFS 或 Arweave)或中心化存储服务(如 AWS S3)上的特定内容。这种配置可确保用户的个人资料和所有相关出版物安全地存储在他们的个人钱包中,从而摆脱对中心化数据库的依赖。
此外,与Web2框架相比,Web3 提供了一种更直接的方法来将用户内容和影响力货币化。用户可以对Follow NFT 的铸造进行收费,也可以将Collect Modules 与其出版物集成 。后一个选项允许他们收取与其出版物的ContentURI 链接的 NFT 的铸造费用。除了这些功能之外,Lens Protocol还提供 GraphQL API,用于从前端接口中屏蔽区块链组件,从而提供比以前的去中心化社交网络尝试更加用户友好的体验。
最终,许多去中心化的社交网络协议创建了仅可添加的数据结构,并通过用户密钥进行身份验证。例如,在Cyber Connect上,每条以用户为中心的数据都表示为数据流,其中只有数据所有者才允许更新。对数据的每次更新都会以提交仅附可添加日志的形式附加到数据流,并且生成的数据结构成为称为 Merkle DAG 的哈希链接数据结构。数据类型包括内容、收藏、评论和订阅。
Scuttlebutt类似地使用仅可添加日志。每个用户都有自己的日志,其中每条新消息或操作在由用户身份(即关联的 Ed25519 密钥对)签名后都会附加到末尾。它还支持共享二进制数据,称为“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 中心的对等网络上存储和传播。
去中心化的社交协议有望彻底改变数字交互中的用户体验。在web3的推动下,以及作为针对人工智能生成内容的主动措施,公私密钥对的加速采用将有助于更广泛地理解和熟悉这种背景下的身份原语,以及 web2 社交媒体公司的持续审核和数据捕获将公开推动更多用户转向其他地方。我们预计这些协议的采用曲线会加速。
为了促进新颖应用程序的发展,协议开发人员和开源贡献者迫切需要超越目前基础设施层使用的基本数据类型和关系对象。虽然现有的原语充分封装了传统 web2 社交媒体的功能,但仍有巨大的扩展和创新潜力。这里讨论的大多数协议本质上都支持其系统内的可扩展性,为未来的开发和开源贡献提供了坚实的基础。
然而,强调互操作性的重要性至关重要。虽然前端开发人员能够独立增强功能,但如果增强功能不能与基于相同底层协议构建的其他应用程序互操作,那么这样做可能会损害系统的集体利益。确保各种应用程序之间的兼容性和无缝集成对于去中心化社交协议的长期成功和采用至关重要。
在数据存储领域,web3 社交协议中正在形成的共识倾向于使用混合方法。鉴于社交内容和参与度很高,将身份和主要内容等高价值资产分配给链上原语,同时将点赞和反应等低风险内容分配给链下解决方案是务实的。这种平衡的方法不仅保留了关键数据的完整性和安全性,而且还提供了让人想起传统社交媒体平台的用户体验。
去中心化网络有望改变人际沟通、信息共享和社区建设。通过优先考虑用户自主权、隐私和培养有机关系,这些网络正在为更加公平和以用户为中心的数字环境铺平道路。此外,这些网络的去中心化性质有助于实现信息和资源访问的民主化,从而减轻与中心化控制相关的风险。
来源:金色财经