去中心化社交协议分析比较

进阶Jan 07, 2024
本篇文章介绍了分散式社交协议,比较了传统社交内容平台与新兴的Web3项目在身份、数据共享、存储和商业模式等方面的差异。
去中心化社交协议分析比较

由商业动机驱动的企业控制的社交媒体平台的出现,显著侵蚀了在线参与文化的最初希望。网络信息技术应该从根本上实现文化生产的民主化,但如今,这些平台主要限制和塑造在线参与,以追求利润驱动的目的 - “点赞”不再是对内容的感激之情的表达,而是驱动商业动机的算法的货币化工具。

基于分散式和联邦协议构建的替代性社交媒体平台回归了在线社交的最初概念。数据由用户控制,并在分散式数据库中传播,前端由社区驱动,内容监管是社区偏好的表达,算法由用户选择,开源精神推动创新。

去中心化和替代性社交媒体的历史

在互联网成为商业、娱乐和社交互动的中心之前,它主要是一种学术和军事工具。蒂姆·伯纳斯-李(Tim Berners-Lee)在制定第一个网络协议时持有一种平等主义的愿景-互联网的最初设计是一个去中心化的网络,信息可以在节点之间自由流动,没有任何单一的控制点或故障。

然而,随着互联网在商业上的重要性不断增长,中心化的平台,如搜索引擎和社交媒体巨头,成为了主导力量。尽管这些实体提供了重要的价值,但它们偏离了最初的去中心化理念,导致了我们当前的 Web 2.0 环境。

在替代社交网络的时间线上,关键的创新是联邦协议的概念的出现。联邦网络是指多个独立的服务器或“节点”合作形成一个单一的社交网络的系统,而不是由一个组织控制所有服务器的集中式平台。

在联邦系统中,每个服务器运行兼容的软件,遵循共享的协议,使它们能够相互通信。在一个服务器上注册的用户可以无缝地关注、互动和共享内容,就像他们在同一个平台上一样。这些协议的例子包括ActivityPub和OStatus,它们驱动着Mastodon和PeerTube等联邦平台。

在联邦设置中,用户可以选择他们信任的服务器,可能迁移到不同的服务器或者建立自己的服务器,从而获得更多的自主权。术语“Fediverse”(联邦宇宙)用来描述这样的系统。Fediverse始于GNU social及其前身(StatusNet和Laconica)等平台,但真正的转折点是ActivityPub协议的开发和广泛采用。该协议于2018年被万维网联盟(W3C)发布为推荐标准。

在web3中,一旦数据被移至链上,联邦式社交网络成为去中心化系统的默认状态。区块链充当存储内容的无偏见后端服务器,前端通过索引该内容并直接向用户提供服务。身份由公私钥对管理,这些对已管理用户钱包,使其能够轻松验证所生成的任何数据或内容。此外,使用像NFT这样的链上原语可以将存储的内容捆绑在元数据中,并充当域名或去中心化标识符(DID)。

与ActivityPub的工作方式类似,web3协议通过用户节点之间的身份验证关系来引导社交图。由于任何前端都可以索引和提供此内容,前端层存在着超大竞争,导致功能过度开发的景象。此外,由于数据在链上,用户可以选择他们喜欢使用的算法,并可以获得使用某些算法的激励,从而重新获得其数据的价值。这与更直接的内容变现手段相结合,为创作者提供了更好的整体体验。然而尽管他们的内容是推动对这些平台的需求的主要因素,但他们大部分都缺乏变现方式。

协议比较

要真正理解去中心化社交媒体协议中的创新,有必要了解使其成为可能的技术细微差别。值得注意的是,我们在此处并未包含所有社交协议,而是选择了一些最为普遍的。

去中心化社交协议(来源:1k(x) )

身份/命名空间

在联邦和分散的社交图或网络协议的上下文中,”命名空间”指的是一个域或领域,其下的用户标识符或其他资源是唯一的。这是一种区分来自一个域/服务器的资源或身份与另一个域/服务器的方法,确保在多个域之间集成或通信时不存在冲突或歧义。

分散社交协议中的身份和关联的命名空间范围从简单的密钥对(Nostr,Scuttlebutt)到指向托管配置文件的HTTPS URL的URI(ActivityPub),再到使用链上原语(如NFT)的更复杂模型(最近还包括 ERC-6551 扩展,例如 Lens v2)。

Farcaster 是这些技术的一个很好的例子。Farcaster 账户代表网络上的一个独特实体。每个账户都有一个称为 Farcaster ID(”fid”)的唯一数字标识符。身份在链上使用一个名为 IdRegistry 的以太坊合约进行发放和管理。用户向 IdRegistry 发起交易以获取新的 fid。拥有 fid 的地址是用户的托管地址。IdRegistry 确保 fid 可以在地址之间转移,并且没有两个地址具有相同的 fid。Farcaster 还扩展了这个命名空间,以支持链上或链下发放的 ENS(Ethereum Name Service)名称。必须向网络提交签名的证明才能声明一个用户名。

另一方面,ActivityPub 通过唯一的 URI(通常是一个 HTTPS URL)来标识每个用户。这个 URI 指向用户的配置文件,并作为他们在 Fediverse 中的全局标识符。为了使这些 URI 更加用户友好,许多 ActivityPub 平台使用了一个称为 Webfinger 的系统。Webfinger 允许用户拥有类似 「@username_#_@_#_domain.com」的身份。

Lens和CyberConnect以NFT的形式管理用户配置文件。在Lens的情况下,用户地址持有一个ProfileNFT,并且一个地址可以持有多个ProfileNFT。每个Profile NFT封装了用户活动的完整历史,包括帖子、镜像、评论和其他类型的内容。此外,Profile NFT还具有FollowModule,它是一组规则,规定了不同账户如何获得Follow NFT。这些Follow NFT用于记录账户之间的连接以及与主配置文件的直接关系。还可以存在并且可以单独从配置文件中铸造的handles,并且可以将其链接和取消链接到另一个配置文件。handles存在于它们自己的命名空间中(例如lens/@alice)。

数据

数据可以说是分布式网络中最重要的特性,因为它的创建和标准化使得这些系统得以实现。在这里,管理数据的最常见技术是使用像JSON和常见关系对象(例如,赞、关注)这样的标准化格式。核心数据对象通常包括:

参与者和对象:定义了“参与者”(例如用户或群组)和“对象”(例如帖子或消息)。

发布:帖子或评论被封装为“发布”,通常通过URL与外部内容相关联。

追加日志中的内容:每个条目(无论是帖子还是更新)都是一个离散的内容项,按顺序添加和存储在追加日志中。

让我们通过几个具体协议的示例来深入了解这是如何工作的。

ActivityPub利用了ActivityStreams 2.0数据格式,这是一种基于JSON的结构,用于表示各种社交互动,如帖子或赞。该协议区分了两个主要组件:客户端到服务器(C2S)和服务器到服务器(S2S)。C2S允许用户通过客户端应用与其各自的服务器进行交互。相反,S2S促进了服务器之间的通信,实现了协议的强大联合特性。

在ActivityPub中,实体被分类为“参与者”(通常是用户帐户或群组)和“对象”(内容或动作,如帖子或赞)。当参与者对对象执行操作时,它会创建一个“活动”,例如“创建”、“关注”或“赞”。

Web3社交图谱继承了ActivityPub的许多核心思想,但是将它们应用于链上。例如,Lens Protocol引入了“Publications”,这些内容包括了用户生成的各种内容,如帖子、镜像、评论和其他形式的媒体。每个Publication都与一个ContentURI相关联,该URI指向存储在去中心化协议(如IPFS或Arweave)或集中式存储服务(如AWS S3)上的特定内容。这种配置确保用户的个人资料和所有相关的发布都安全地存储在他们的个人钱包中,摆脱了对集中式数据库的依赖。

此外,Web3相对于Web2框架,为用户内容和影响力的货币化提供了更简单的方法。用户可以收费用于Follow NFTs的铸造,或者可以将Collect Modules与他们的Publications集成。后一种选择允许他们收取与其发布的ContentURI链接的NFT铸造费用。除了这些功能,Lens Protocol还提供了一个GraphQL API,用于为前端界面屏蔽区块链组件,从而提供比以前的去中心化社交网络更用户友好的体验。

最终,许多去中心化社交网络协议都创建了只允许用户密钥验证的附加数据结构。例如,在CyberConnect上,每个用户相关的数据都表示为数据流,只有数据拥有者才能进行更新。数据的每次更新都以附加日志的形式追加到数据流中,并且结果数据结构成为一种称为Merkle DAG的哈希链接数据结构。数据类型包括内容、收藏、评论和订阅。

Scuttlebutt同样使用附加日志。每个用户都有自己的日志,在用户身份(即关联的Ed25519密钥对)签名后,每条新消息或动作都会附加到日志的末尾。它还支持共享二进制数据,称为“blob”。这些blob与附加日志分开存储,但是对这些blob的引用(哈希)可以包含在日志中。

对于Farcaster,消息是公共更新,例如发帖、关注某人或添加个人资料图片,并且这些消息被编码为protobuf格式,必须由账户的签名者进行哈希和签名。只要有足够的存储空间,用户就可以将消息发布到Hubs。Hubs在接受消息之前会检查每个消息签名者的有效性。

存储

早期的分散协议数据存储方法主要是离线的,尽管与在线共识有相似之处。例如,Scuttlebutt使用点对点的传播网络,将存储的责任放在用户的本地设备上。这种方法确保了数据主权,因为用户完全控制自己的信息。然而,这也意味着数据的可用性依赖于用户的设备在线或网络中其他节点拥有数据的副本。随着时间的推移,为了管理存储空间,一些Scuttlebutt客户端可能需要实施垃圾回收策略来清理旧的或不太相关的数据。

与这种点对点方法相反的是,服务器存储数据的方式,尽管与传统媒体平台相比存在冗余。以Matrix为例,多个主服务器存储房间历史记录的副本并彼此同步。当用户在房间中发送消息(或任何事件)时,他们的主服务器将该事件广播给其他参与的主服务器,然后这些主服务器将事件存储并转发给其连接的客户端。类似地,ActivityPub让网络中的每个实例(或服务器)存储其数据,通常在数据库中。数据库的选择(关系型、NoSQL等)取决于ActivityPub软件的具体实现。例如,Mastodon作为一种流行的ActivityPub平台,使用的是PostgreSQL数据库。

像Cyberconnect、Farcaster和Lens这样的协议已经采用了区块链来存储数据。使用链上存储可以确保数据不可变和可验证,为使用底层共识机制进行状态同步的分散应用程序提供了坚实的基础。然而,这种方法可能导致可扩展性挑战,因为每个数据片段都需要存储在链上,可能导致高交易费用和较慢的检索时间。

这导致许多Web3社交协议尝试采用混合方法,将链上存储用于不太频繁的操作(例如配置文件、订阅),将离线存储用于高频事件(例如点赞、转发、评论),或者定期将数据批量上传到链上,同时使用离线存储作为临时替代方案。

CyberConnect为了高效处理用户连接之间的频繁更新,使用了哈希链表在去中心化的数据存储中。在建立连接时,会创建一个“操作日志”。随后的状态变化,比如关注和取消关注的切换,会作为新节点添加到这个日志中。尽管这些更新最初存储在一个中央服务器上,但它们会定期批量上传到去中心化存储平台,比如Arweave或IPFS。为了快速检索数据,操作日志中的节点被集中存储。然而,用户可以通过遍历这个哈希链表来独立验证数据的完整性。尽管对于某些数据查询仍依赖于中央服务器,但CyberConnect的系统被设计为足够去中心化,同时也提供高性能。

Farcaster同样采用了混合方法:在链上合约中处理不频繁的操作,以确保一致性和去中心化的重要性。账户、用户名、存储和密钥的管理都使用了一系列的以太坊合约。在频繁操作方面,采用了离链系统,以保证性能。用户账户创建的消息会存储并在Farcaster枢纽的点对点网络中传播。

讨论

分散化的社交协议有望彻底改变数字互动的用户体验。公钥-私钥对的迅速采用,不仅受到Web3的推动,也是对人工智能生成内容的一种积极措施,将有助于更广泛地理解和熟悉身份基元在这个背景下的作用,并且Web2社交媒体公司持续的管理和数据收集将公开地推动更多用户寻找其他选择。我们预计这些协议的采用曲线将加速。

为了促进新型应用的发展,协议开发人员和开源贡献者有迫切的需要超越基础设施层当前使用的基本数据类型和关系对象。虽然现有的基元已经足够地封装了传统Web2社交媒体的功能,但是仍然存在巨大的扩展和创新潜力。这里讨论的大多数协议本质上支持系统内的可扩展性,为未来的发展和开源贡献提供了坚实的基础。

然而,强调互操作性的重要性是至关重要的。虽然前端开发人员能够独立地增加功能,但如果这些增强功能与建立在相同底层协议之上的其他应用程序不兼容,那么这些增强功能可能会削弱整个系统的共同效益。确保各种应用程序之间的兼容性和无缝集成对于分散化社交协议的长期成功和采用至关重要。

在数据存储领域,Web3社交协议中新兴的共识倾向于采用混合方法。考虑到社交内容和参与的大量数据,将身份和主要内容等高价值资产分配到链上基元,而将点赞和反应等低风险内容放到链下解决方案中是务实的。这种平衡的方法不仅保护了关键数据的完整性和安全性,还提供了类似传统社交媒体平台的用户体验。

声明:

  1. 本文转载自[mirror],著作权归属原作者[1kx],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
Empieza ahora
¡Regístrate y recibe un bono de
$100
!
Crea tu cuenta