构建去中心化社交网络的开放标准
ActivityPub是一个开放的去中心化社交网络协议,由W3C(万维网联盟)的社交网络工作组于2018年1月23日正式发布为推荐标准。这个协议基于ActivityStreams 2.0数据格式,旨在构建一个开放、分布式和联合的社交网络生态系统。
ActivityPub的核心目标是打破传统社交平台的中心化垄断,让用户能够真正拥有自己的数据和社交关系。通过标准化的协议,不同的社交应用和服务可以相互通信,用户可以在不同的服务器上创建账户,并与其他服务器上的用户进行无缝互动。
用户可以选择运行自己的服务器,或者选择信任的服务器,而不是被迫使用单一的平台。每个服务器都是独立的,但可以与其他服务器进行通信。
通过标准化的协议和数据格式,不同的应用和服务可以相互理解和交换信息。这促进了竞争和创新,因为用户可以自由选择最适合自己的服务。
用户拥有自己的数据和社交关系,可以在不同的服务之间迁移,而不会失去自己的社交网络。这赋予了用户真正的选择权和控制权。
作为一个开放的标准,任何人都可以实现ActivityPub协议,构建自己的社交应用。这降低了进入门槛,促进了生态系统的发展。
ActivityPub定义了两个协同工作的协议,构成了完整的去中心化社交网络基础。客户端到服务器协议允许用户通过各种客户端应用与服务器交互,而服务器到服务器协议允许不同的服务器之间相互通信和交换信息。
允许用户通过各种客户端应用(手机应用、桌面应用、网页应用等)与服务器进行交互。提供创建、更新、删除内容的标准API,以及构建社交图的功能。
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Create",
"actor": "https://example.com/users/alice",
"object": {
"type": "Note",
"content": "Hello, ActivityPub!"
}
}
联邦协议允许不同的服务器之间相互通信和交换信息。使得内容可以在联邦网络中传播,用户可以关注其他服务器上的用户,并进行跨平台的互动。
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Follow",
"actor": "https://example.com/users/alice",
"object": "https://another.com/users/bob"
}
ActivityPub基于ActivityStreams 2.0数据格式,这是一个用于描述社交活动的JSON-LD格式。所有的交互都通过标准化的JSON结构来实现,确保了不同实现之间的兼容性。
用户、组织或其他实体,拥有唯一标识符
可被发布、共享或互动的内容实体
Actor之间的互动操作,如创建、关注等
服务器负载、网络延迟、存储管理等问题需要持续优化
垃圾信息防护、恶意行为检测、隐私保护等安全挑战
协议扩展、实现差异、用户体验一致性等问题
协议演进、性能改进、新功能开发等持续创新
更多平台加入、跨领域整合、企业采用等生态发展
数字主权、开放创新、社区治理等社会价值实现