社交网络去中心化已成趋势,读懂核心底层技术选择和路线

转载
1433 天前
6457
链闻

文章来源:链闻  作者:Jay Graber,社交平台 Happening 创始人


前言:时隔一年多,推特创始人 Jack Dorsey 再次公布了其资助的去中心化社交协议标准 bluesky 主要进展,称团队自去年 2 月已与众多去中心化社区人才交流想法,并公开了一份 61 页的去中心化社交生态概述,介绍了生态现有的主要协议、应用和主题。


概述中 IPFS、Solid 协议对互联网和区块链从业者而言并不陌生,但 ActivityPub、Matrix、Ssb、Aether 这些协议相对而言就比较小众,但它们是去中心化社交领域的关键协议,结构上可分为联邦协议和点对点协议。

在本篇文章,社交平台 Happening 创始人 Jay Graber 清晰地介绍了这两类协议的特性、代表协议与优劣势,以便不熟悉该领域的读者入门了解。

社交网络去中心化的努力希望从结构上改变权力的平衡,让用户能够便捷地更换服务,由自己控制自己的身份和数据。形容一个网络为「去中心化」,这只是根据它不是什么来定义它——它不依赖于一个公司运行的单一服务器集。至于它实际上是什么,可以有很多不同的样子。

联邦协议和点对点 (P2P) 协议是设计网络的不同方法,在结构上,可以赋予用户权力。


亦可称为中心式、联邦式和点对点式

传统的社交应用,如 Twitter、Facebook 和 Instagram,都是以客户-服务器的模式运行。作为用户,你所有的交互都要经过一家公司的服务器。在联邦网络中,用户仍然在与服务器进行交互,但任何人都可以运行一台服务器,与网络中的其他服务器进行交互,从而给用户提供了更多的供应商选择。在 P2P 网络中,没有客户端和服务器的区别。每个用户的设备都可以同时充当这两种角色,使它们在功能上等同于对等端。

这篇文章将概述一些最流行的联邦和点对点社交网络设计。我将深入探讨 ActivityPub 和 ssb,并介绍它们的主要实现如何解决身份、审核和盈利等难题。简单比较 Matrix 和 Aether 后,将能描述一些替代方法是如何运作的。

在每一节的最后,我将列出联邦模型和 P2P 模型的主要优缺点。

基于区块链的社交网络,则将在后续文章中讨论。

联邦协议

联邦网络使得用户能选择一台服务器注册,这样就可以访问分布在许多不同服务器上的整个网络。这为用户提供了更多应用、策略和社区文化方面的选择。在互联网上,所有人都使用的一种联邦协议是电子邮件。Gmail 是一个很受欢迎的电子邮件应用,但是就算你使用别的供应商,你仍然可以与任何有电子邮件地址的人通信。

ActivityPub

ActivityPub 是一个联邦协议,它通过特定的 API 定义了一组可互操作的社交网络交互。任何实现此协议的服务器都可以与网络的其他服务器通信。

Mastodon 建立在 ActivityPub 之上,是 Twitter 的一个流行的联邦替代方案,拥有大约 220 万用户。

在 Mastodon 之前,像 GNU social 和 Diaspora 这样的项目都尝试过扩大联邦社交网络的规模,但都失败了。Mastodon 的成功很大程度上是因为它创造了一个看上去和用起来都很像 Twitter 的用户界面,让人感觉非常熟悉,这可以令那些心存不满的用户轻易在这里落脚。


Mastodon 上的主页信息流

身份

用户在服务器 (「实例」) 上创建帐户,但可以与其他实例上的用户通信。可以互操作的整个实例群被称为「Fediverse」。完整的用户名是一个用户的句柄加上该用户所属实例的名称,例如: @arcalinea@mastodon.social

帐户凭据由用户的实例管理,因此,如果用户忘记了密码,他们可以要求重置密码。

审核

每个实例都设置自己的审核政策,可以通过管理员单方面的决定,也可以通过某种形式的集体投票。管理员可以禁止整个实例,切断它们的可见性。如果一个实例被许多其他实例禁用,它的用户仍然可以彼此交谈,但他们将与其他 Fediverse 隔离。这种情况发生在 Gab.com 上,它建立了一个实例。

盈利

联邦社交网络在维护方面需要托管和开发两方面的成本投入。每个实例都由它自己的管理员和社区资助。Mastodon 的开发是通过主要开发者运营的 Patreon 资助的。目前,这个应用平台每年能带来 7 万美元的收益,这能支持他全职从事 Mastodon 的工作,还能支付 mastodon.social 实例的托管费用和一个审核团队。

另一个联邦协议:Matrix

Matrix 是一种为聊天而非社交网络设计的协议,但值得一提的是,它通过良好的用户体验实现了联邦聊天体验,并在改进身份和调节方面做了有价值的工作。

该协议目前有大约 1,100 万用户,他们使用各种客户端。它由 New Vector 公司开发,该公司在 2019 年筹集了 800 万美元的 A 轮融资。

与大多数去中心化协议相比,Matrix 的身份解决方案更加灵活——用户有一个 Matrix 用户 ID,但也可以使用第三方 ID。Matrix 账户可链接到各种 ID,如电子邮件地址、社交账户和电话号码。一个全局联邦可信身份服务器集群用于验证和复制这些映射。Matrix 团队也在紧锣密鼓地开发用于管理的工具,这里有详细介绍,并计划很快发布 P2P 实现。

联邦协议的利弊

联邦网络提供了一种熟悉的用户体验,因为用户不必为他们的帐户凭证承担全部责任,并且可以按照他们习惯的方式与内容进行交互。用户可以在同一个网络中选择不同的服务,以更好地满足他们的需求,而不必适应截然不同的做事方式。

然而,联邦服务器也继承了一些与中心化服务器相同的缺点。服务器依赖于管理员,而管理员通常是个人或组织,拥有的资源比大型社交媒体公司少。服务器管理员可能会滥用权力,或者因为跟不上成本而关闭服务。对于中心化服务器,有人可以要求阻止访问或提供后门,而对于联邦服务器也能采取同样的做法。

根据实现的不同,用户身份可能绑定到服务器,这意味着用户在迁移时将失去连接和数据。隐私保护各不相同——Mastodon 目前并没有对内容加密,因此所有的消息,包括私人消息,对服务器管理员来说都可能是可见的。

P2P 协议

P2P 协议使得用户能直接相互通信,因为网络中的所有设备都是对等的,既可以请求数据,也可以响应请求。有些节点可能有特殊的作用,比如公共引导节点帮助新用户连接到网络中,但是每个节点在功能上仍然是等同的。这种设计赋予了用户最大的控制权,同时也给予其最多的责任。

Ssb

Ssb,即 secure-scuttlebutt,是一种为社交分享而设计的分布式流言协议。每个节点都有网络的部分视图,因此很难统计出总用户数,但根据一位开发者在 2019 年 11 月运行网络爬虫得出的结果,ssb 上大约有 1.6 万个节点。用户分布在几个不同的客户端应用程序上,在桌面 (Patchwork) 和移动端 (Manyverse、Planetary) 上运行。


Patchwork,一个用于 ssb 的桌面客户端

每个用户都有一个公钥 / 私钥对,用于对帖子签名,验证其真实性。每一个帖子都被附加到最末端,在一个仅附加的日志中从最开始的帖子依次排序。因为每个帖子都与最后一个帖子相连,所以目前无法删除或编辑帖子。当你关注一个用户时,你将开始存储和同步他们的帖子。当你使用 ssb 应用程序时,它会不断地在后台与其他节点共享数据。

身份

在 ssb 中,用户是通过公钥来识别的。我的公钥是 :

@3QHXrXl762sf7P/Q1RMtscA7IRipfUFnE5tpie5McvE=.ed25519

用户可以选择一个人类可读的昵称与他们的密钥相关联,但是昵称不是唯一的,因为没有全局注册表。其他人可以用我的昵称 @arcalinea 来提到我,但别人也可以使用相同的名字。

密钥管理是最大的挑战之一,因为用户免不了会丢失和遗忘他们的密码。用户对自己的身份拥有完全的控制权。这意味着如果他们丢失了密码,他们就会永久地失去对他们帐户的访问权。密钥目前也存储在设备上,因此没办法跨多个设备登录一个账户——而这是社交网络用户心目中的基本功能。

为了解决密钥管理问题,在 ssb 生态系统中的 Dark Crystal 项目实施了社交密钥恢复系统。它把钥匙分成碎片存储在可信的家人和朋友那里,通过他们能帮助重建丢失的钥匙。

审核

在 ssb 协议层,有一个「亮旗」 (flag) 功能用于发送关于不良行为者的强烈负面信号。没有全局审核,也没有专门的版主。建立在 ssb 之上的应用程序允许用户「屏蔽」和「忽略」。ssb 中的屏蔽比中心化网络中的屏蔽功能更强,因为这意味着被屏蔽的用户的数据不再通过这些节点。如果有足够多的人屏蔽一个或一组用户,那么他们所在的那部分网络就会与其他部分隔绝。

盈利

P2P 网络的维护者无需支付托管费用,因为没有服务器,而且随着新用户的加入网络容量自然会增长。开发者如果想要从事更多志愿工作,需要自己寻找资金。ssb 生态系统是通过各种资助、捐赠、来自兼职项目和咨询的收入,以及一些已经筹集资金在 ssb 上构建应用程序的公司来支持的。

另一种 P2P 协议:Aether

Aether 是一个类似 Reddit 的 P2P 社交网络。它的数据结构是一个 DAG (有向无环图) ,而不是一个仅有附加的日志;而且它会限制帖子的出现时间,你可以编辑和删除帖子,在一段时间不活动后帖子会被自动删除,而不像 ssb 会存储每个帖子。

P2P 版本是通过自带的 Aether Pro 版本的资金来支持的。它可以提供多设备登录——你可以从远程后台存储和同步加密密钥。每个子社区都有自己的版主,版主可以由社区选举产生,也可以弹劾自己。

P2P 的利弊

P2P 网络让用户完全掌控自己的数据和身份。数据层在功能上与应用视图分离,因此用户可以在应用之间无缝切换,同时保留所有积累的帖子和连接。P2P 网络的容量会随着需求而自然扩展,因为新用户会向网络增加资源,而不仅仅是消耗。

P2P 网络具有最大限度的弹性和抗审查能力。由于 P2P 网络不需要服务器,只要网络上的两台设备之间有本地连接,即使互联网的其他部分瘫痪,应用程序也可以继续工作。账户都有加密密钥对,所以私人消息很容易支持——ssb 提供端到端的加密私人消息。

然而,掌控的另一面是承担责任。没有一项服务可以帮助找回丢失或被盗的密码。审核依赖于自下而上的手段,这些手段还没有经过大规模测试,这使得这些网络跟中心化站点一样,都会出现类似的滥用。在后台存储数据或运行流言协议的 P2P 功能会消耗用户设备上不成比例的资源。P2P 网络没有全局的「喜欢」或「分享」计数,有些不允许用户编辑或删除帖子。

这种做法可能令人惊讶,同时也说明了在 P2P 网络中复制用户习以为常的功能和性能事实上深具挑战性。更大的技术挑战是,网络也是围绕着客户-服务器模型的假设而建立的,因此试图成为完全 P2P 的网络必须进入非常底部的层,并处理 NAT 穿透等问题。

联邦协议和 P2P 协议的一些缺点在未来可能会被克服。对关键领域的研究和开发,如密钥管理、身份和审核,将有助于显著提高可用性。一个障碍是当前的实现仍然缺乏资源——上面列出的所有项目都是通过捐赠、基金或风险资本筹集了一些资金,但没有一个项目开发出可持续的商业模式。

另一个障碍是,去中心化协议的发展速度天生就比中心化应用要慢,因为更新协议和让所有客户都参与进来需要社区协调。像 W3C 这样的标准机构往往是为了协调更新而出现的,否则随着时间的推移,不同实现之间的不兼容会使网络分裂。

就目前的情况来看,中心化应用更容易构建,迭代更快,更容易盈利,但一个充满激情的社区一直致力于去中心化的替代方案,因为这些技术架构可以改变用户和平台之间的关系,为用户带来了更多选择。