原文见 ActivityPub: from decentralized to distributed social networks
本文最初是为 2017 年重启信任网络峰会而撰写的
贡献者
ActivityPub 是一项正在开发的 W3C 协议,其目的是建立联邦社会系统。用户可以使用 ActivityPub 的实现,如 Mastodon 和 MediaGoblin,来替代诸如 Facebook、Twitter、YouTube 和 Instagram 等大型孤岛式社交网络系统。1
总的来说,虽然 ActivityPub 遵循万维网上流行的“客户端-服务端”模式,但它实现了一定 程度的去中心化。目前,ActivityPub 的实现已经达到了类似于电子邮件的去中心化水平2,但还有很多机会可以更进一步。
通过将公钥附加到网络参与者(用户)的身份中,并使用链接数据签名(Linked Data Signatures),我们可以将信任的网络添加到联合社交网络,并使用它来增强用户隐私和维护通过该网络所发送消息的完整性。
通过使用去中心化的标识符系统,例如去中心化标识符(Decentralized Identifiers,简称 DIDs),我们可以避开 DNS 和 SSL 证书颁发机构的核心中心化机制,完全地从去中心化系统迁移到分布式系统3。
至此,用户甚至可以选择从“客户端-服务端”模型系统转换到完全的 P2P 系统。
此部分借用了 ActivityPub 标准的概述部分。如果你已经熟悉 ActivityPub,则可以跳过此部分。
ActivityPub 提供两层:
ActivityPub 实现可以选择只实现其中一项,也可以同时实现这两项。
然而,一旦你实现了一个,实现另一个就不需要太多的步骤,而且两者都有很多好处(使你的网站成为去中心化社交网络的一部分,并能够使用在各种社交网站上工作的客户端和客户端库)。
在 ActivityPub 中,每个参与者(此处将用户称为“参与者”)都有: