联邦宇宙是什么?Web3为何可以加速去中心化社交协议的发展?

2023-12-04分类:元宇宙 阅读(

去中心化社交是什么?从早期的联邦宇宙协议 ActivityPub 和 OStatus,到去年 Nostr 推出与今年的 Lens Protocol v2,去中心化社交网络协议如火如荼发展,这之间有什么差异?知名创投 1k(x) 认为基于 Web3 技术的社交协议,可能因为区块链技术的特性将可大幅提升去中心化社交产品的使用者体验。

去中心化社交产品发展

社群软件是一个很有趣的说明 Web2 企业如何向用户收取超额价值的例子。在金钱的利益推动之下,不论是 Facebook、X (Txitter) 或是 Snapchat,都借由掌握了越来越多的用户资料而赚取巨额利润,不过用户的价值也因此相对被剥夺,再来的发生故事大家都知道。


社群软件演变历史

因此,出现了许多尝试解决此问题的解决方案,从联邦宇宙到 Web3 去中心化社群协议,都在为提升用户权利而努力发展。

联邦宇宙介绍

早在 Web3 这个词汇出现之前,类似去中心化的概念已经在联邦宇宙 (fediverse) 中发酵。联邦宇宙是基于去中心化的替代社交媒体平台,目前知名的联邦宇宙应用产品包含 Mastodon、Misskey、PeerTube,通常拥有以下特色:

  • 资料由使用者控制并在分散式资料库中传递
  • 前端由社群维护
  • 审核则是社群间的共识
  • 演算法则由使用者自行选择
  • 开源

联邦网络是指由多个独立伺服器或「节点」协作形成社交网络的系统,而不是由单一组织控制所有伺服器的集中式平台,其实概念就跟现今的区块链是相同的。

联邦宇宙产品得以出现,都要归功于联邦协议 (federated protocol) 的逐渐成熟。在联邦系统中,每台伺服器都需运行相同的联邦协议例如 ActivityPub 和 OStatus,才能够相互通讯。在其中一台伺服器上注册的用户可以无缝地关注其他伺服器上的贴文、互动、分享内容,就像在同一平台操作一样。

使用者可以选择他们信任的伺服器,可以依照喜好与目的,随意带着社群资料迁移到不同的伺服器,甚至可以设定自己的伺服器,因此联邦宇宙的使用者通常拥有更高的自主权。

而上述联邦宇宙应用产品,例如 Mastodon,就是建构在联邦协议之上的应用才得以运行,概念类似于网页服务建构于 HTTP 之上,或是 Gmail 建构于 SMTP 等协议之上,联邦协议是社交网络运作的基础。

ActivityPub 协议让联邦宇宙应用得到更广泛采用,该协议于 2018 年成为 W3C 建议标准。

Web3 所建构的去中心化社交网络

在 web3 产业中,区块链与智能合约的底层设计,先天设计就是为了建构去中心化协议,因此出现了许多类似 ActivityPub 的协议,例如 Lens Protocol 或是 Farcaster,通常建构于区块链的去中心化社交协议有以下特征:

  • 资料都是记录在去中心化系统中,区块链顺势作为储存内容的后端伺服器。
  • 用户身分已经由使用者管理的钱包处理完成,用户能够轻松验证自己产生的任何内容或行动。
  • 使用 NFT 等链上资产可以将需要储存的内容记录在 metadata 中,也可以作为网域名称或去中心化身分 (DID)。

由于任何前端都可以索引并提供内容,因此前端层间存在激烈的竞争,促使功能蓬勃发展。另一方面,因为数据是存在于链上的,用户可以选择前端与演算法,也可考量前端页面给与什么优惠措施综合评估选用,用户掌握了自身数据与内容的价值。

去中心化社交协议比较

从联邦宇宙到基于区块链的 Web3 社群协议,这些去中心化社交协议有什么优劣?为什么后者有机会提升去中心化社交协议的使用者体验?1k(x) 提出一些重要的比较面向,以更正确地理解去中心化协议的发展,分别是:

  • 身份与命名空间
  • 资料格式与互动
  • 资料储存

Web3 协议与 ActivityPub 协议的运作原理类似,都是透过使用者之间的关系来建构社交图谱,不过因上述三点原因,将可能提升去中心化社交协议的使用者体验,搭配激励模型,有机会加速产业发展。

身份与命名空间

命名空间 (namespace) 是程式语言常见的概念,主要用途是可以区分一个变数或是类别名称的使用范围,避免名称相同所造成的编译冲突。

在联邦网络和去中心化网络协议中,命名空间的设定为使用者身份与识别码创造唯一性,目前各种去中心化社交应用有多种创造命名空间的方式:

  • 金钥对:Nostr、Scuttlebutt
  • 网址:ActivityPub
  • NFT:Lens v2 (ERC-6551)、CyberConnect
  • 智能合约管理:Farcaster

金钥对

以去年发布的 Nostr 为例,用户利用加密的方式直接创建帐号,优点是可以快速建立帐号且安全性高,但缺点如同现阶段大多数加密钱包,无法更改地址除非更换钱包、私钥保管安全问题等,其中由于所有社群纪录都与私钥绑定,因此对于用户更换帐号将造成一定程度的困扰。

网址

ActivityPub 透过唯一的 URI 识别使用者。该 URI 指向用户的个人资料,作为在联邦宇宙命名空间中的全域识别码,为了提升使用者体验,许多基于 ActivityPub 协议的社交平台通常会使用 Webfinger 系统,允许使用者拥有类似「@username@domain.com」格式的识别码,方便用户理解。

NFT

Lens Protocol 和 CyberConnect 则是将用户档案以 NFT 进行管理。以 Lens的设计来说,一个使用者地址可以保存多个用户档案 NFT,代表一个地址可以有多帐号且转移方便。每个用户档案 NFT 封装了用户活动的完整历史记录,包括贴文、转发、留言以及其他类型的内容。


Lens 用户档案 NFT 记录所有用户行动与资料 (资料来源)

另外,Lens 的个人档案 NFT 支援特殊模组 — FollowModule,根据规则管理粉丝取得 Follow NFT,Follow NFT 用于直接在链上记录与其他用户的联系关系与纪录。

Lens 除了用户档案 NFT,还有头衔机制,可以让用户建构类似 X (Twitter) 的「@Alice」社群帐户名称,是独立于用户档案 NFT 的另一个独立命名空间,且由于头衔是 NFT,因此可以自由于市场交易。

智能合约管理

最后一个例子是 Farcaster,Farcaster 的帐户都有一个唯一的数字串 Farcaster ID (fid),使用以太坊合约 IdRegistry 在链上发布和管理用户档案。若用户要创建帐号,须向 IdRegistry 进行交易以取得新的 fid,拥有 fid 的钱包地址就是用户资料的拥有者,IdRegistry 确保没有两个相同的 fid。

Farcaster 还扩展了此命名空间,以支援链上或链下发布的 ENS 名称,用户可以向网络提交签名,以取得该使用者名称。

资料格式与互动

资料的创建和标准化是协议重要的基础。管理资料最常见的技术是使用标准化格式,例如 JSON 物件或是日志 (log),以定义与纪录「喜欢」、「跟随」等用户社交互动行为,因此社交协议的资料格式通常有以下几种类别:

  • 区别使用者与其他物件:定义主动操作方与被动的物件,前者包含使用者或群组,后者定义内容或是行动 (创建贴文或按赞)。
  • 出版内容物件 (Publications):所有种类的贴文或留言内容被封装为「出版内容」物件,以利不同内容格式的可组合性操作,通常内容物件是透过 URL 连结到外部内容以节省链上资源。
  • 日志内容:完整记录用户操作,无论是发布还是更新贴文,按顺序新增和储存。

以下个别介绍几个范例,以了解社交协议如何使用特定资料格式运作与传输。

区别使用者与其他物件

在 ActivityPub 中实体被分类为参与者 (通常是使用者或群组) 和物件 (创建内容或按赞等操作),当参与者执行操作时会创建一个活动物件,例如当用户创建贴文时,该协议会生成一个「创建贴文」物件。

ActivityPub 利用 ActivityStreams 2.0 资料格式 (一种基于 JSON 的资料结构) 来表示用户各种社交互动,例如创建内容或按赞。协议有两个主要元件,负责传输上述物件资料:

  • 客户端到伺服器 (C2S):C2S 允许使用者透过各种客户端,与各自的伺服器进行互动。
  • 伺服器到伺服器 (S2S):S2S 促进了伺服器之间的讯息传递,从而实现稳健的联邦网络。

出版内容物件

Web3 产品大多采用了 ActivityPub 的许多核心思想,并将之应用到链上。

Lens Protocol 引入了出版内容 (Publications) 设计,其封装各种用户生成的内容,例如贴文、转发、留言和其他形式的媒材。每个出版内容都与一个 ContentURI 相关联,指向内容的储存外部档案位置,例如 IPFS 或 AWS S3。

Lens Protocol 等 Web3 社交协议,提供更直接的方法来将用户的内容和影响力商业化。用户可以设定 Follow NFT 的铸造进行收费,代表其他用户若想要追踪,则需要支付费用;用户也可以选择将 Collect Modules 与其出版内容整合,允许收取与其出版内容连结的 NFT 铸造费用 (出版内容本身不是 NFT)。

日志内容

CyberConnect 以资料流 (data stream) 表示每个「用户行动纪录」,只有资料拥有者 (对应用户) 才允许更新,资料的每次更新都以附加日志的形式更新到资料流,资料类型包括内容、收藏、留言和订阅,以 Merkle DAG 的杂凑连结资料结构。

Scuttlebutt 也使用类似机制,使用附加日志的方式纪录资料。每个使用者都有自己的日志,每个新讯息或操作在由使用者的 Ed25519 金钥签署后都会附加到末尾。

另外,Scuttlebutt 还支援共享二进位数据 blob。可以是图像、影片或任何其他二进位内容。Blob 将与附加日志分开存储,但对这些 Blob 的引用杂凑可以包含在日志中。

资料储存

除了用户名称与资料纪录与互动的方式比较之外,用户产生的内容该如何储存也是去中心化社交协议最关键的议题。

点对点网络储存

去中心化协议早期资料储存方法主要是依靠链下设备。

Scuttlebutt 使用点对点网络,将资料放在用户的本地设备上,这种方法虽然确保了资料主权,使用者可以完全控制自己的资讯,但是资料可用性取决于使用者或其他具有资料副本的装置是否在线上,且为了增加储存空间使用效率,有些 Scuttlebutt 用户端可能会删除较少用到的资料。

因此,点对点网络以储存的用途来说,并不是非常适合用在去中心化社群的产品上。

伺服器储存

以 Matrix 协议为例,Matrix 可以为多个伺服器储存历史记录的副本并相互同步。当某个使用者发送讯息或记录任何事件时,伺服器会将该事件广播到其他参与的区域网络服务器,然后这些伺服器会储存该事件并将其转发到其连接的用户端。

ActivityPub 让网络中的每个实体或伺服器储存其数据,通常储存在资料库中。资料库的类型选择取决于 ActivityPub 软体的具体实作,例如主流的 ActivityPub 平台 Mastodon 使用 PostgreSQL 资料库。

此机制行之有年,也是目前主流的方式,不过各协议需要考量伺服器的数量以确保协议运作。

区块链储存

Cyberconnect、Farcaster 和 Lens 等协议皆采用区块链进行资料储存。链上储存确保资料的不可变性和可验证性,使用区块链底层共识机制同步状态。当然,这种方法会面对可扩展性的挑战,每笔资料都需要储存在链上,导致高昂的交易费用和较慢的检索时间。

因此许多 Web3 社交协议尝试混合的方法。使用链上存储不太频繁的操作资料,例如个人资料或是订阅内容;而使用链下存储高频事件,例如点赞、转发、留言;或以频繁的间隔批次上传资料到链上,将链下储存视为临时的权宜之计。

CyberConnect 为有效处理用户社交图谱连结关的频繁更新,在分散式资料库中采用 hash-linked list 设计,当用户启动连线时会自动建立操作日志 (operation log),后续状态变更时 (例如在用户追踪和取消追踪之间切换),新增更新至日志并储存在中央伺服器上,定期批次上传到去中心化储存平台。

Farcaster 也采用混合机制,链上合约用于不频繁的操作,例如帐户资料、使用者名称、储存和金钥;链下系统用于性能要求高的频繁操作,例如用户创建的讯息。

Web3 将加速去中心化社交采用率

在 Web3 浪潮的推动下去中心化社交将加速发展。公私密钥对相关产品受到加速采用,有助于让市场更广泛地理解去中心化身份、开放协议甚至多元宇宙等概念,以及意识到 Web2 社交媒体公司的审查和资料安全问题。

基于 Web3 概念与技术的社交协议,有望彻底改变去中心化社交产品的使用者体验。区块链技术本身就是为开放协议而诞生的,不论是利用 NFT 或是模组化网络,在命名空间、资料结构、储存等各面向皆优于过往体验,有助于加速市场大规模采用。

理解上述技术,对于产业理解与概念非常有帮助,不过千万不要忘记,从过往的联邦宇宙到现今的 Web3 社群产品,虽然其技术不断迭代与更新,但是最终的目的都是为了让用户可以更自由的与人交流,抓住此信念看待发展可看到更清晰的脉络。

Tags: