风险提示:央行等十部委发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》, 请读者提高风险意识。

BlueSky是如何运作的?

BlueSky是一个类似Twitter和Mastodon的微型博客应用,它的目标是建立一个开放的基础,让社交媒体不再被少数公司控制。它使用了atproto认证传输协议,可以让系统的各个部分相互通信,并考虑了系统的规模,可以无缝扩展到大型用户群。用户可以通过创建经过密码学签名的记录来证明身份,并通过词典系统来构建应用。BlueSky也是一家公司,但它的目标是建立一个无法被公司控制的社交互联网。用户可以自由选择审核者和订阅不同的内容流,拥有去中心化的身份标识符,保证身份和账户的可移植性。BlueSky团队已经掌握了控制权,并可能将治理转移到共识模型。其他人也可以使用他们的服务。

Steve Klabnik
Steve Klabnik
热度 ...

原文来源:steveklabnik

原文作者:Steve Klabnik

原文标题:How Does BlueSky Work?

编译:Kurt Pan

我对 BlueSky 充满热情的原因之一就是它的工作方式。因此在这篇文章中,我将阐述其中的一些设计以及我所理解的这些设计背后的原则。我不是 BlueSky 团队的成员,所以这些只是我的看法。

我们开始。

BlueSky为什么存在?

以下是 BlueSky 网站目前的说法:

社交媒体太重要了,以至于不能由少数公司所控制。我们正在为社交互联网建立一个开放的基础,以便我们都能塑造它的未来。

这是一个大方向。

好吧这是个好主意,但这意味着什么?目前,BlueSky 是一个微型博客应用,类似于 Twitter 和 Mastodon。这要怎么融入大方向呢?嗯,虽然 BlueSky 确实是一个类微博应用,但这并不是故事的全部:BlueSky 是首个用于证明认证传输协议(简称为 AT、ATP 或“atproto”)可行性的应用。 BlueSky 是“建筑”,而atproto 则是“社交互联网的开放基础”。

需要注意的重要一点是:BlueSky 也是一家公司。有些人会带着怀疑的态度看着一家公司说“嘿,我们正在建造一些太大从而无法被公司控制的东西!”。我认为这是一个健康的起点,但对我来说答案正是 atproto。

这两个东西之间的相互作用很重要,我们将先从探索 atproto 开始,然后来讨论 BlueSky 是如何构建在它之上的。

这是密码货币吗?

我们必须摆脱的第一件事是:如果你听到“噢,这是一个名为‘某协议’的分布式网络”,你可能会有“这是一种密码货币吗?”警钟在你的脑海中响起。

别担心,它不是密码货币。它确实使用了一些起源于密码货币领域的技术,但这不是区块链、DAO、NFT 或任何其他那种东西。只是一些密码学和默克尔树之类的东西。

atproto 概览

AT 协议概述这么说到:

认证传输协议,又名 atproto,是用于大规模分布式社交应用的联邦协议。

我们分解一下:

联邦协议

atproto 是联邦式的。这意味着系统的各个部分可以由多个人运行,并且他们可以相互通信。

选择联邦式是 atproto 兑现“不能由一个组织控制”这一承诺的重要组成部分。还有其他部分,但这是解决这个问题的一个重要方面。

用于大规模

如果你想扩大规模,就必须在设计时考虑到规模化。 atproto 做出了一些有趣的选择,以便将运行系统的负载更多地分配给能够处理负载的参与者,而更少地分配给那些不能处理负载的参与者。这样,在 atproto 之上运行的应用就可以毫无问题地扩展到大型用户群。

至少,希望如此。本周早些时候,BlueSky 用户达到了 500 万,并且运行比 Twitter 早期稳定得多。这没有许多社交应用那么大,但也不是什么都不是了。实践中运行如何,我们拭目以待。

分布式社交应用

atproto 是为了与他人连接,所以它专注于社交应用。目前它也是 100% 公开的,没有私信或类似的消息。其原因是,在联邦系统中实现私有的东西非常棘手,他们宁愿先把它做好,也不愿发布带有严重警告问题的东西。目前最好只将它用于你想要公开的事情。

这些应用是“分布式”的,因为运行它们就是直接在网络上运行它们。并没有“BlueSky 服务器”,只有运行 atproto 的服务器在相互分发消息,包括 BlueSky 消息以及来自人们创建的其他应用的任何其他消息。

这是一个概览,但这具体意味着什么呢?

在 atproto 中,用户创建经过密码学签名的记录以证明作者身份。记录拥有称为词典(Lexicon)的图式。

记录存储在存储库中。存储库作为服务运行,暴露给 HTTP 和 WebSocket。然后它们可以互相交谈并联合化记录。这些通常称为 PDS,即“个人数据服务器”。用户要么运行自己的 PDS,要么使用其他人为其托管的 PDS。

可以通过查看网络中存储的各种记录并使用它们来构建应用。这些服务都称为应用视图,因为它们公开了网络中存储信息的特定视图。这个视图是通过词典系统创建的:构建应用意味着你定义一个词典,结构化要处理的数据,然后查看使用你的词典的记录,忽略其他的。

如果这就是全部的话,将会出现非常严重的扩展问题。例如,如果每次我在 BlueSky 上发布新更新时,我必须将我的帖子发送到我的每一个关注者的存储库,那将是非常低效的,并且使得运行一个流行的存储库的运行成本非常昂贵。为了解决这个问题,有一种额外的服务,称为中继,它聚合网络中的信息,并将其快速大量地传输给其他中继。因此在实践中,应用视图不会查看存储库,而是会查看中继。当我发帖时,我的存储库不会单独通知我的关注者的存储库。我的存储库将通知中继,我的关注者将使用应用视图来过滤中继的输出,以仅显示他们所关注的人的帖子。这确实意味着中继通常很大并且运行成本昂贵,但是你可以想象运行一个较小的中继,它也只传播来自较小用户子集的帖子。他们不必展示网络上的所有内容,当然规模更大的中继会这么做。

这是 ASCII 形式的图示:

  ┌─────┐                    ┌──────────┐ 

  │ PDS ├───────┐            │ 应用视图 │ 

  └─────┘       │            └──────────┘ 

               ┌▼────────┐       ▲        

  ┌─────┐      │         ├───────┘        

  │ PDS ├──────►  中继  │                

  └─────┘      │         ├───────┐        

               └▲────────┘       ▼        

  ┌─────┐       │            ┌──────────┐ 

  │ PDS ├───────┘            │ 应用视图 │ 

  └─────┘                    └──────────┘ 

这是理解 atproto 核心真正需要知道的一切:人们创建数据,数据在网络中共享,应用可以与数据交互。

但是,其他服务类型正在被引入,并且将来可能会推出更多。但在我们讨论那些之前,我们必须去解释一些意识形态承诺,以理解事物为何会形成现在的样子。

关于【BlueSky是如何运作的?】的延伸阅读

  • ZKID:揭示隐私安全赋能数字身份的新篇章

    随着零知识技术领域的进步,通过战略性地实施备受赞誉的解决方案——将去中心化标识符(DIDs)与零知识证明(ZKP)相结合,重新夺回对数字身份的控制变得可行。

什么是“言论与到达”?

鉴于 atproto 是特意为了实现社交应用而创建的,因此它不仅需要考虑连接人们,还需要考虑断连人们。审核是任何社交应用的核心组成部分:“无审核”仍然是一种审核策略。 BlueSky 在处理此类问题时承认,不同的人对审核会有不同的偏好,以及大规模审核是困难的。

因此,该协议采用“言论与到达”的方式进行审核。到目前为止我们描述的内容属于“言论”层。它纯粹关心在网络上复制的你的内容,而不关心该内容的语义是什么。审核工具属于“到达”层:你接受所有言论,但要提供一种方法来限制你不喜欢自己看到的内容的到达。

有时,人们说 BlueSky“完全言论自由”或“不做审核”。这是不准确的。审核工具已被编码到协议本身中,以便它可以与网络上的所有内容一起使用,甚至是非 BlueSky 应用。此外,它使你能够选择自己的审核者,这样你就不会受到其他人选择审核或缺乏审核的影响。但我有点超前了:让我们来谈谈订阅流生成器和贴标机。

什么是订阅流生成器?

大多数社交应用都有内容“订阅流”的概念。这在 atproto 中被分解为自己的服务类型,称为订阅流生成器。订阅流的一个典型例子是“计算机,按时间倒序显示我关注的人的帖子”。最近,算法订阅流在社交网络中变得流行起来,以至于一些非技术用户将它们称为“算法”。

订阅流生成器获取由中继产生的大量数据,然后向你显示一个内容列表,会根据订阅流生成器所需的任何指标进行过滤和排序。然后你可以向其他用户共享这些订阅流。

作为一个实际的例子,我最喜欢的订阅源之一是 Quiet Posters。这个源显示不经常发帖的人的帖子。这使得跟上那些被我的主要订阅流淹没的人变得更加容易。有像 the ‘Gram这样的源,只显示附有图片的帖子。或者 My Bangers,显示你最受欢迎的帖子。

对我来说,这是 BlueSky 相对于其他微博工具的杀手级功能之一:完全的用户选择。如果我想制作自己的算法,我可以去做。我可以轻松地与他人分享它们。如果你使用 BlueSky,则可以访问任何这些源并关注它们。

订阅流是 atproto 最近添加的内容,因此,虽然确实已经有了,但功能可能还不完善,并且将来可能会发生一些变化。我们拭目以待。从我的角度来看,它们工作得挺好了,但我还没有关注较低级别的技术细节。

什么是贴标机?

贴标机是一种将标签应用于内容或帐户的服务。作为用户,你可以订阅特定的贴标机,然后根据帖子上的标签改变你的体验。

贴标机可以通过任何它喜欢的方法来做到这一点:通过在帖子上运行某种算法来自动进行,通过让一些人点赞或点踩来手动进行,运行标签服务的人想要的任意方法。

标签服务的一个例子是黑名单:在你不想看到其内容的人所撰写的帖子上添加标签。另一个例子是工作不宜过滤器,它可能会对帖子中的图片运行某种算法,并在认为它们包含工作不宜内容时对其进行标记。

标签已经有了,但我不相信你现在可以运行自己的贴标机。 BlueSky 运行了自己的,但据我所知还没有外部版本。但一旦他们这样做了,你可以想象社区运行自己的服务,添加他们想要的任何类型的标签。

atproto 中审核如何运作?

将所有这些放在一起,我们就可以看到审核的工作原理:订阅源可以选择根据标签转换订阅流,或者应用视图可以根据询问贴标机来获取订阅流并应用转换。这些可以根据喜好混合和匹配。

这意味着你不仅可以在应用间选择审核体验,还可以在应用内部选择审核体验。想要工作适宜源,但又允许在另一个中包含工作不宜内容?你可以做到。想要制作一个人员黑名单并与全世界分享吗?你可以做到。

由于这些审核工具在网络级别而不是应用级别工作,因此它们实际上比其他系统走得更远。如果有人在 atproto 上构建一个 Instagram 克隆,那么也可以使用你的屏蔽列表贴标机,因为你的屏蔽列表贴标机是在协议级别工作的。在一个地方屏蔽某人,如果你愿意,就可以在每个地方屏蔽他们。也许你在不同的应用中订阅了不同的审核决策。这100%取决于你。

该模型与其他联邦系统显著不同,因为你在一个“实例”上实际上没有一个“帐户”,像 Mastodon 中那样。因此,很多人会问“当我的实例被去联邦化时会发生什么”之类的问题,这些问题并不完全像所说的那样有意义。你可以通过基于某些标准屏蔽一组用户来实现相同的目标,也许你不喜欢某个 PDS,并且想要忽略来自某个 PDS 的帖子,但这是你的选择,且只是你的选择,不是由你帐户所在的某个“服务器所有者”所决定的。

那么,如果你没有一台家庭服务器,身份要如何运作?

身份和帐户可移植性如何运作?

关于身份如何运作有太多细节,所以我将重点关注我认为重要的部分。我还将重点讨论有争议的部分,因为这很重要。

其核心是,用户拥有一个身份号码,称为“去中心化标识符”或 DID。我的 DID 如下所示: did:plc:3danwc67lo7obz2fmdg6jxcr 。欢迎关注!哈哈,当然这不是你大多数时候会看到的界面。身份还涉及一个句柄,即一个域名。不出所料,我的句柄是 steveklabnik.com 。你会看到我在 BlueSky 上的帖子来自 @steveklabnik.com 。该系统也适用于没有域名的人;如果你注册 BlueSky,你将能够选择一个名称,然后你的句柄是 @username.bsky.social 。我开始以 @steveklabnik.bsky.social 身份发帖,然后转到了 @steveklabnik.com 。但由于 DID 很稳定,所以我的关注者没有受到干扰。他们只是在用户界面中看到了句柄更新。

你可以使用域名作为句柄,方法是获取 PDS 为你生成的 DID,然后在你用于该域名的 DNS 中添加 TXT 记录。如果你不是那种使用甚至不知道 DNS 是什么的人,我很羡慕你,但你也可以使用 BlueSky 与 NameCheap 的合作伙伴关系来注册域名并将其配置为用作句柄,而无需任何技术知识。然后,你可以使用你的域名作为句柄登录应用,一切正常。

这也是 BlueSky 提供真正的“帐户可移植性”的方式,部分原因是,实际上并不存在帐户的概念。使用给定 DID 的人用密码学对他们创建的内容进行签名,然后该内容会在网络上复制。 “你的帐户”无法真正被封禁,因为这意味着有人强行阻止你使用他们甚至无法访问的密钥。如果你的 PDS 出现故障,而你想要迁移到新的 PDS,则有一种方法可以从网络本身回填 PDS 的内容,并通知网络你的 PDS 已移动。这是真正的、有意义的帐户可移植性,与当今运行的任何类似服务截然不同。

但是。

细节决定成败,我认为这是对 BlueSky 和 atproto 更有意义的批评之一。

你会看到,创建 DID 的“方法”有多种。 BlueSky 支持两种方法: did:web ,基于域名。这种方法有一些缺点,我个人还没有完全理解所以无法描述,我相信我将来会写一些关于 DID 的深入内容。

因此,由于那些弱点,BlueSky 实现了自己的 DID 方法,称为 did:plc 。 plc 代表“占位符”,因为即使他们计划无限期地支持它,它也有其弱点。这个弱点在于它需要询问 BlueSky 运行的服务才能解析正确的信息。例如,这是我的查询。这意味着 BlueSky 可以通过比用其他归功于网络设计不可能的更严重的方式去封禁你,有些人认为这是一个非常严重的问题。

那么,这个缺陷是致命的吗?我不这么认为。第一个原因是,如果你真的不想参与它,你可以使用 did:web 。是的,由于其他原因这并不很好;毕竟这就是创建 did:plc 的原因。但你确实可以解决这个问题。

另一点是,在我个人看来,BlueSky 团队已经表现出了足够的理解和对在这里的控制感到不适,并且它的设计方式是,如果其他更好的系统开发出来,你可以转向它们。他们还表示,未来将 did:plc 的治理转移到某种共识模型是可能的。是有选择的。此外,其他人也可以运行 did:plc 服务并使用该服务(如果他们愿意的话)。

我个人认为这是务实地管理事务的例证,其他人则认为这是一个邪恶的阴谋。你必须自己判断。

BlueSky 是如何构建在 atproto 之上的?

现在我们理解了atproto,我们就可以理解BlueSky了。 BlueSky 是一个构建在 atproto 网络之上的应用。他们运行一个应用视图,以及一个使用该应用视图工作的 Web 应用。他们还为通过 Web 应用注册的用户运行一个 PDS,以及与这些 PDS 通信的中继。

他们发布了两个词典,一个为 com.atproto.* ,另一个为 app.bsky.* 。前者是网络上任何应用都需要的低级操作,而后者是 BlueSky 特有的操作。

但 BlueSky 的一个特别好的事情是,他们的产品目标是没有人应该知道这些书呆子的东西才能够使用 BlueSky。没有实例意味着不存在“我需要选择一个实例来创建帐户”这种流程,而可移植性意味着如果我的主机出现故障,我可以迁移走,而我的关注者对此却一无所知。

其他人如何在 atproto 之上构建应用?

你可以通过创建一个词典来创建一个 atproto 应用。然后你需要运行一个应用视图来处理涉及你的词典的网络数据,你的应用将让人们可以将数据写入他们使用你的词典的PDS。

我自己也在考虑这样去做。我们拭目以待。

结语

好啦,技术方面,这就是 atproto 和 BlueSky 的工作原理的概述啦。我觉得这个设计非常巧妙。此外,我认为把 atproto 和 BlueSky 分开关注非常有意义,因为网络拥有“杀手级应用”正给出了使用它的理由。这也是一种测试形式,确保 atproto 足够好,以能够去构建真正的应用。

我相信我将来会对这一切有更多的话要说。

免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:Steve Klabnik,如有侵权请联系删除。转载或引用请注明文章出处!

标签:

分享至
https://www.chainlook.cn/toutiao/1708937404.html

下一篇:

Blast生态项目Risk大部分Rug Rull资金已转至交易所

链观CHAINLOOK消息,据派盾监测,Blast 生态 GambleFi 项目Risk 大部分 Rug Ru […]

免责声明:
链观CHAINLOOK作为区块链技术应用与Web3行业研究的智库媒体,旨在为中国区块链专家、学者们提供最新的行业资讯信息与数据样本,用于区块链技术研究与创新。本站所发布的文章仅代表作者的个人观点,不代表链观CHAINLOOK官方立场,本站所发布的区块链行业研究报告与数据分析成果是通过人工智能算法对数据内容进行分析与归纳生成,不代表任何投资暗示与建议,链观CHAINLOOK不承担法律责任。

风险提示:
虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,链观CHAINLOOK坚决反对各类代币炒作,请读者提高风险意识,理性看待区块链技术应用及市场风险。

© 链观CHAINLOOK All Rights Reserved. 京ICP备18054193号-5