推特去中心化社交媒体协议 Bluesky 理念与架构前瞻
作者:Jay Graber,Bluesky CEO
翻译:律动Blockbeats、Richard Lee
编辑:Richard Lee,链捕手
推特于2019年底宣布推出去中心化社交媒体协议——Bluesky计划,本月 Bluesky 宣布成立公益有限责任公司实体,并简要披露了其技术架构:将“自我认证协议”与联邦委托托管机制相结合。
Bluesky CEO Jay Graber 近日于个人博客发布了一篇关于Web 3和去中心化社交网络协议的文章,详细解释了“自我认证的协议”(self-certifying protocol)这一概念。以下是Bluesky的项目披露公告及 Jay Graber 的文章:
我们设想了一个开放的社交媒体生态系统——在其中,开发者有更多的机会进行构建和创新,用户对其使用的服务及其体验有更多的选择和控制权。
我们看到,去中心化协议的开发和采用是为实现上述目标建立强大技术基础的一条路径。去中心化是一种结构上的变化,其本身不足并不足以创建一个健康的社交媒体生态系统。然而,通过创造一个开发者可以自由建设、社区可以自治、用户可以轻松切换服务的环境,去中心化可以催生公共讨论改善所需要的创新。
目前许多现有的去中心化社交网络可分为两种类型:联邦架构和 P2P(点对点) 架构。
Bluesky的方法是结合上述两种架构各自的特长,将“自我认证协议”(self-certifying protocols)的可移植性(portability)与委托托管机制下友好的用户体验相结合——这样用户不必运行自己的基础架构,与此同时开发者可以构建高性能的应用。
内容审查是任何线上社交论坛都会有的重要组成部分,因此我们致力于构建透明、可选择(opt-in)和多层次(multi-layered)的信誉和审查系统,我们将积极开发与之相关的工具,并提供开发框架,便于其他感兴趣的人构建类似的工具。
我们在现有协议和技术的基础上进行开发,但不致力于任何完整的堆栈。我们看到了区块链的用例,但 Bluesky 并不是一个区块链网络,而且我们认为社交网络协议的采用应该独立于任何一条区块链。
Bluesky现阶段的工作重心是构建和发布一个原型来诠释其架构。
什么是“自我认证协议”?
最近大家都在讨论究竟什么才是 Web3,而我对它的定义是:Web3 是由用户生成的权利,并通过自我认证的网络协议得以实现。它是一个包含区块链技术在内的技术集合,同时还不仅限于此。其他人是这样看待「Web3」的吗?也许不是,但还请听我讲完。
网络上的权利决定了谁最终拥有对内容的控制权。在网络发展初期,「用户」与主机运营商之间并没有过多的区分,也就是说,网站的托管人往往也是网站内容的发布者。
当网络发展到所谓的「Web 2.0」之后,各类网站开始变得流行起来,用户可以在上面开通账户并创建内容。但是在 Web 2.0 中,最终决定权依然掌握在网站主机手中,它们可以单方面地修改任何内容——这基本上也是目前网络的运作模式。
在网络向 Web3 发展的过程中,用户可以通过 Crypto 手段来证明自己的身份,并发布可验证的内容,而其所在的网站也无权再去修改这些内容,因为信任根(root of trust)存在于数据本身当中,而不是它所处的地点。
让我们一起来回顾一下网络的整个发展脉络:
Web 1.0——主机产出内容、主机生成权利。想在网络上发布内容的人必须使用自己的服务器来托管网站,而这类网站大多都是只读的,基本没有能让用户创建内容或参与互动的操作界面。
Web 2.0——用户产出内容、主机生成权利。用户可以在网站上创建自己的个人账号,这样他们就不用为了在网络上发布内容而托管自己的服务器了。与此同时,越来越多由用户生成的交互式内容也因此而诞生。然而,这些网站逐渐发展为了功能强大的平台,它们对用户的账户和发布的内容依然具有绝对的控制权,而这也将引发许多问题。
Web 3.0——用户产出内容、用户生成权利。在新模式中,人们想要发布内容时不用再去托管服务器或在别人的数据库中创建账户。服务器虽然可以选择是否托管某人的账户或内容,但它们对其并没有最终权利。「自我认证协议」(self-certifying protocols)便能实现这一点,该技术是建立在 Crypto 签名和哈希值之上的一项技术。
简而言之,这三个阶段分别是「托管网络(hosted)、发布网络(posted)以及签名网络(signed)」。
那么,什么是「自我认证协议」呢?
这是我用来描述具有 Crypto 用户标识符和内容编址数据的协议的一个通用术语。
其中「Crypto 用户标识符」可以将用户与公共密钥联系在一起,用户可以使用对应私钥进行签名,而这也是证明用户对其账户享有控制权的信任根,而不是用于记录用户登录情况的数据库条目。
「内容编址数据」(content-addressed data)则意味着内容可以通过其 Crypto 哈希值来加以引用,而该值也是每条数据的唯一数字「指纹」。
利用这两项技术,由用户密钥所签署的内容哈希便可以直接证明用户对该内容的授权,而不再需要中介机构出面证实了。能够进行自我认证的数据可以让信任留存于数据本身当中,而不是它所处的地点,这让程序能够从客户服务器的架构中转移出来,并让「用户生成权利」成为了可能。
如果说 Web3 是自我认证的协议,那么区块链在 Web3 中的作用又是什么?
区块链是能够在全局状态上创建共识的自我认证协议,它可以在不受任何一方的控制的情况下模拟一个中心化的数据库。区块链上的「用户账户」是 Crypto 密钥对,用于签署交易,而「内容」则是捆绑在区块中的交易哈希值,这些区块本身也有自己的哈希,并被链接在了一起。Bitcoin(第一条区块链)引入了一种新的共识机制,让互不信任的各方可以在进行交易时达成一致——这对没有中介机构的数字货币来说至关重要。
那有哪些协议是具有自我认证特性,但不属于区块链的呢?
在 Bitcoin 之前出现的 Git、PGP、BitTorrent 和 Tahoe-LAFs 均属于这一类别。
在现在这批非区块链自我认证协议中,IPFS、Hypercore、SSB、Pergos 和 Spritely 都具备用户密钥和内容编址功能。在这些协议当中,如果你可以证明某位用户「拥有」某条内容,那么你也就能顺势说明这名用户便是这条内容的发布者。
区块链的出现进一步明确了所有权的概念,它建立了一个得到全球共识的时间戳账簿,全局有序和唯一性等属性在其中也得到了证实,这样一来,我们便能证明同一时间之内只有一人「持有」一枚 Bitcoin 或一件 NFT 作品。
从架构上看,区块链可以被认为是 Web3 中的一类数据存储器,它可以对某些应用来说很实用,但对另一些应用来说却可能相当繁琐。从财政和社会的角度来看,区块链已经将注意力和资源转移到这个领域之中了。由区块链所建立起来的重要 Web3 基础设施,不仅包括能将密钥对发放到数百万用户手中的钱包及应用程序,也包括零知识证明这样为 Web3 带来无限可能的新型 Crypto 原语工具。
虽然目前关于 Web3 的讨论热度已经超过了其他任何话题,但如果想实现 Web3 的全部愿景,我们还需要开发其他类型的自我认证协议。
如果一个自我认证协议可以让用户利用密钥和内容编址功能直接对内容作者的身份作出证明,那么一个自我认证的网络协议就也具备了内容链接和发现功能。我们如今使用的网络离不开内容发现算法的支持,不过 Web3 要想提升其用户体验,还需要进一步精化其算法功能。
在我看来,以下是 Web3 中尚不存在或还未成熟的事物:社交图谱、用户档案、身份与信誉证明、内容聚合、索引与发现、以及策展和调控方法。不过令人感到困惑的一点是,目前应用于区块链技术的 Web3 依然是一盘散沙,少了很多我们期待在网络中看到的功能。
我希望在未来,Web3 能有一个更为宽泛的定义,从而被更多的人所认可,并将全部类型的自我认证协议都纳入其中,而所有的区块链都将只是 Web3 的一个分支。
但是,与其关注这些术语,不如更多地去关注那些在互联网发展过程中起到重要作用的属性和特征。与此同时,我也希望未来的网络能把用户放在首位,让人们能自己掌握内容创作的决定权,无需再受限于任何中心化的服务。
如果你同意我的看法,但出于某些原因不想使用「Web3」这一术语的话,那我们也可以将其称为「自我认证的网络协议」,简称 SCWP,该名称可以更为具体地概括这些新兴技术。
相关阅读: