随着 X 的变质,越来越多的推友们转向了 Bluesky 这一号称去中心化的社交网络。这几天一直在做相关的开发,比如小火了一下的贴贴圈。正好也趁此了解了一下 Bluesky 后的 ATProto

在开始之前,这里有一些极度精简化的名词解释,是官网上的省流版

  • ATProto:认证传输协议(Authenticated Transfer Protocol) 的缩写,用于认证用户发布内容的真实性。
  • DID:去中心化 ID(Decentralized ID),
  • Data Repo:用户公共数据库,每个数据库有一个 DID 用作标识
  • PDS:个人数据服务器(Personal Data Server)用户数据的存放处,用于托管用户数据和签名密钥,并且为用户分配 Handle 和 DID。
  • AppView:用户层客户端,比如 bsky.app 就是其中之一。用于获取并显示推文、提供交互界面等。
  • Relay:中继,数据聚合器,从一堆 PDS 获取数据和事件流并输出给 AppView。
  • Lexicon:描述数据和 API 的 schema language,主要向开发者提供接口来调用数据。

接下来的内容先咕咕。