1. 引言
身份分类:
- 1)物理身份:如驾照、身份证等。
- 2)数字身份:又分为:
- 2.1)中心化数字身份:如传统的中心化web2网站账号密码登录。
- 2.2)联邦身份:如通过facebook或谷歌账号授权登录不同网站或应用。
- 2.3)去中心化自治身份:自己持有并管理数据。可有选择的公开或证明,具备隐私属性。
Polygon ID架构中主要有3大要素:
- Issuer:对应的工具为issue node。可为大学等机构。主要是给wallet provider颁发证书(credential)。主要API有:
- 生成DID API
- 发行证书API
- 存储API
- 分享API,如QR码
- 撤销API
- Wallet Provider:即identity holder。集成wallet SDK,提供相应的API接口。为crypto wallet增加身份信息,主要API有:
- Verifier:可为链上合约或链下服务。可验证的问题有:
Polygon ID的DID基本格式类似为:
did: polygonid:polygon:mumbai:AFA50213
Polygon ID的DID 基于identity state创建,为3棵Merkle tree root的哈希值:
- 1)Claims Merkle tree:为二进制结构的sparse Merkle tree。为私有的,不公开。
- 2)Revocations Merkle tree:为公开的。
- 3)Roots Merkle tree:为公开的。会将Claims Merkle tree root 添加到 Roots Merkle tree中,这样就支持在不需要请求公开最新Claims Merkle state的情况下,来证明差异性(prove difference)。
Polygon ID目前使用需要trusted setup的Groth16来生成证明,由于需要对每个电路单独做trusted setup,当前不会支持太多circuit。目前主要支持:
- claim proof:当前生成claim proof用时约5秒,目标是提升到1秒。
- non revocation proof
- signature proof
- merkle tree proof
参考资料
[1] 2023年5月视频 Polygon ID | Architecture
[2] 2022年ETHGlobal视频 Polygon 🛠 The Future of Identity is Self-Sovereign: Build a dapp with Polygon ID - Steph Orpilla
[3] 2023年4月SSI Meetup视频 PolygonID Zero-Knowledge Identity for Web2 & Web3 - Otto Mora
Polygon ID系列博客