推特在 2019 年底宣布推出去中心化社交媒体协议——Bluesky 计划,这项计划是为社交媒体开发一个开放和去中心化的标准,而近期 Bluesky 已宣布其独立运营。通过这篇文章,我们速来了解 Bluesky 的理念与架构。

— 导读(Web3Caff 编辑部注)

原文:A Self-Authenticating Social Protocol

作者:Bluesky Team

编译:zCloak Network

原用标题(译后)Bluesky:一个具有自我认证功能的社交协议

Bluesky 的使命是推动从平台到协议的演变。用于公共交流的工具应该以公共基础设施的形式存在于私营公司之外,就像互联网本身一样。用于公共交流的开放且持久的去中心化协议可以为用户提供更多的体验选择,可以让创造者调控他与观众的关系,而开发者可以在未经平台许可的情况下自由创新。

为了了解现有的去中心化协议,我们进行了一段时间密集的调研。这项研究始于对生态系统的调研,一直到 Bluesky 团队成立期间研究仍在进行。从本月的这篇文章开始,我们将公布初步的工作进展和研究成果。有许多项目创建了去中心化话语协议,包括用于社交的 ActivityPub 和 SSB,用于聊天的 Matrix 和 IRC,以及用于博客的 RSS。虽然它们都取得了相应的成果,但没有一个完全达到我们想要的目标,即建立一个能在全球范围实现长期公共交流的去中心化网络。

可移植性、可扩展性和信任是我们要评估的最重要的因素。可移植性允许人们在更换供应商的时候无损社交生活;可扩展性允许人们参与到全局对话中;信任建立则是让人们了解服务对它们的数据执行了什么样的操作,以及通过让人们知道数据是如何在他们的信息流中被推广或被删除 。深入探讨下这三点。

可移植性

可移植性是指在不同的服务商之间转换而不丢失任何内容的能力,就像用户如何在更换移动运营商的同时而不丢失电话号码。用户可以选择不同内容的可移植性,比如身份、数据、支付抑或其它任何服务。当人们可以在不丢失身份或社交图谱的情况下随意更换供应商时,社交媒体就可以再次成为一个富有竞争力的开放市场。

对于电子邮件,不同的供应商会提供不同的电子邮件地址,如果你要更换供应商则相应地址也必须改变。这是联合社交协议的一个常见问题,其中包括 ActivityPub 和 Matrix。如果你的 ActivityPub 服务器关闭了,你就会失去你与该服务器的账户相联系身份和关系,其影响无异于任何其它社交平台的关带来的影响,这种情况以前发生过,并非不可能,因为 ActivityPub 的服务器比现有平台所拥有的要小得多,且通常由志愿者管理。而 Bluesky 团队想要看到,用户无需服务器的帮助也能简单自由的切换服务。

可扩展性

社交网络平台将数以亿计的人聚集在一起,进行全球范围的交流。有的人喜欢 “小而美” 的较小的社区,ActivityPub 和 SSB 就非常适合这类需要紧密联系的群体。但我们希望给用户提供更多的选择:参与到全球范围的交流,就像他们现在在大型社交网络平台上做的那样。

规模化运营需要规模化的工程。Twitter 的网站在早期经常崩溃,以至于 "fail whale" 成为了一种网络流行语,当然,后来他们解决了这个问题。但现有的去中心化网络在试图复制大平台功能的时候并没能解决这个问题。具体来讲,你在社交媒体上搜索一个热门话题标签,或找到来自世界各地的帖子,或看到一个拥有 125k 个赞的帖子,这些都是一种服务:它在为你提供整个网络的全局视图的同时隐藏其内部的复杂性。但我们团队为去中心化社交平台的各个方面添加了跨组织网络,使复杂性被重新暴露。围绕解决这些方面挑战的每一步都需要开发一个能用于大规模交流的协议。

去中心化为其它领域增添了新的功能,但当涉及到扩展时,我们的目标是复制社交网络平台目前提供的全球体验。由于本地对话天然的适合去中心化的架构,所以现有的去中心化社交协议都被默认为本地对话。但我们的目标是使全球范围的对话成为可能的同时,保留用户通过开放协议进行互动所获得的自由。

信任

去中心化网络非常复杂,网络提供者在管理垃圾邮件和信息滥用的同时,需要注意不能无意中造成用户的偏见以至于失去用户的信任。这一点相对驱动流量的算法来说甚至更加重要,社交媒体具有塑造文化话语的力量,所以需要存在于一个制衡的系统中。就像在规模和可移植性里要做的一样。Bluesky 的目标是通过暴露内部发生的事情并允许用户调整他们的体验,来达到从一开始就建立信任的目的。

以中心化开始的社交网络平台可以采取开放 API 的措施来为用户提供选择,这种方式可以恢复对当前服务的信任。然而,Bluesky 要保持的前提是,通过建立一个默认开放的网络来自下而上地构建一个透明的和可验证的系统。为此,我们将为用户提供审计服务性能的方法,并在他们不满意时提供无损的切换能力。

自我认证协议

我们为实现以上三个目标所采用的概念框架是 "自我认证协议" 。在法律上,一个 "自我认证"的文件不需要外部证据证明其真实性。在计算机科学中,一个"经过认证的数据结构"可以独立地验证其操作。当网络中的资源可以证明其自身的真实性时,那么无论这些数据处于何处,本质上都是 “活” 的,也就是说是规范的和可处理的。这与以连接为中心的网络模型背道而驰,因为在中心化网络模式下信息由主机认证,当它不再由原始服务器托管时就会变成 “死” 的,庆幸的是,自我认证数据将权限转移给了用户,因此在每个托管服务中都能保持数据的规范性和可处理性。

实现自我认证的三个核心组件是:密码学标识符、内容寻址数据和可验证计算。前两个是分布式系统中熟悉的概念,第三个是一个新兴的研究领域,尚未得到广泛的应用,但我们认为它将产生巨大的影响。

密码学标识符将用户与公钥联系起来。自我主权身份是基于为用户提供密码学标识符,用户通过密码学签名来证明自己对账户拥有控制权,而不是通过数据库中的登录记录来证明。

内容寻址数据意味着内容是通过其加密哈希值来引用的(加密哈希值这是段数据的唯一数字 “指纹”)。基于公钥和内容地址,用户可以通过密钥签署内容,以证明是用户创建了内容。数据经过认证后使信任驻留在了数据本身而不是在发现它的地方,这能够帮助应用程序摆脱客户端-服务器架构,创造了 "用户生成的权限"。

可验证计算使用密码学证明,要检查一个计算是否正确执行,观察者不再需要重新执行该计算,而只需要验证一个密码学证明就可以了。这可用于隐藏输入数据来保护用户隐私,比如在零知识证明中;或者用来压缩状态,这些状态若不被压缩则必须被存储以便用于验证。关于此类密码学原语的潜力仍在探索之中,尖端的研究正被应用于扩展区块链,而我们 Bluesky 团队也在探索分布式社交网络中可有的新应用。

如何实现

上面我们已经解释了自我认证协议,现在一起来看看这些组件是如何帮助我们实现目标的。

可移植性直接满足于自我认证协议。想要更换供应商的用户可以轻松地转移他们的数据集,包括转移到他们自己的基础设施。近年来,如何在一个有加密标识符的系统中处理密钥管理和用户名关联的用户体验取得了长足的进步,我们计划在这些成果上进行构建,即基于新兴的标准和最佳实践进行构建。Bluesky 的理念是为用户提供多种选择:既可以使用拥有更多控制权但也承担更多风险的自我主权解决方案,也可以使用比较方便但放弃一些控制权的托管服务。

通过启用存储转发缓存机制,自我认证数据提供了可扩展性的优势 。自我认证网络中的聚合器可以在不降低对数据真实性的信任的基础上,为较小的提供商完成托管数据的工作。通过可验证计算,这些聚合器甚至能够生成计算视图——指标、跟踪图表、搜索索引等等,同时仍然保持数据的可信性。对创建多来源活动的全局视图来说这样的拓扑灵活性是关键。

最后,自我认证数据提供了更多可以用来建立信任的机制。它可以保留比如信息由谁发布以及它是否被改变这样的元数据;使得声誉和信任图可以基于用户、内容和服务构建。可验证计算所提供的透明度,通过准确地显示结果是如何产生的,为建立信任提供了一个新的工具。我们相信可验证计算将在不牺牲信任的情况下为共享索引和社交算法提供巨大的机会,只是这一领域的加密原语仍在完善之中,在它们被应用于任何产品之前需要被积极的研究。

结语

在这篇文章中,我们阐述了我设定的高层次目标以及我们计划如何实现这些目标。在接下来的几周,我们将公布更多对生态系统的调研结果,并开放初步代码。我们已经开始编写代码以验证想法并迭代一些具体的内容,但一切都还处于试验阶段。你可以期待有一个命令行客户端以供玩耍,但不要指望在它上面构建你计划的大型应用程序,因为这个阶段充满着变化。

我们不会把我们正在构建的东西描述为一个联盟网络或 P2P 网络,抑或是区块链网络,因为它不完全属于上述任何一类。它可以被描述为一个具有 P2P 特征的联盟网络,但它更侧重于自我认证身份、数据这样的功能,而不是网络拓扑。我们的团队在这之前已经建立了领先的去中心化网络协议和区块链网络,并且在努力将我们所看到的最好的东西综合成新的东西。对于某些方面,我们将使用行业已存的解决方案,而对于其它一些方面,则必须想出我们自己的解决方案。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。