这篇文档用于说明如何从 DID:Web5 Spec 落地到应用
DID & SID
AT Protocol 目前支持两种 DID DID - AT Protocol
DID Web5 新增了一种 DID did:web5
- did:web5 将 DID Document 保存在 CKB 链上,更新操作使用 lock script 授权。
- did:web5 支持 SID (Staging ID)。使用 SID 创建的 DID Document 后续可以创建一个新的 did:web5 DID,通过双向授权,之后使用 SID 去解析 DID Document 会转向到对应的 did:web5 DID。
- 双向授权指的是创建 did:web5 DID 的时候,需要在保存 DID Document 的 UTXO 中额外包含 SID,同时 SID 需要对这次 did:web5 DID 的创建进行授权。
- 目前 SID 只支持 did:plc spec 中说明的方法,对 did:web5 DID 创建授权也就是使用 rotationKeys 对交易进行签名。
- 为了区别 did:plc 同时也因为 CKB 也无法支持连接 PLC Server 进行验证的原因,PLC SID 使用前缀 web5:plc
- 使用 web5:plc SID 通过中心化服务器,为不愿意或者不需要将 DID 上链的用户提供了一个选择,之后可以随时迁移到 did:web5 DID,同时之前用到 SID 的地方在查询 DID Document 的时候也会自动重定向到 did:web5 DID
https://link.excalidraw.com/readonly/C4FniTPdobpeJcg5cepn
Web5 PDS
PDS 为 AT Protocol 的账号提供数据管理和同步功能。要在 AT Protocol 中使用 did:web5 就需要一个支持 did:web5 的 PDS Server。
Web5 PDS Requirement
DID Web5 需要基于 AT Protocol PDS 二次开发 PDS 应用,本文之后会称为 Web5 PDS。
Web5 PDS 本身已经集成了 PLC Client 用于连接 https://plc.directory/
, 要添加两个数据来源:
- 使用 CKB SDK 连接 CKB 节点,用于同步和修改 Web5 DID