DID(去中心化身份):把身份的主导权交回个人
无论是密码还是社交登录,我们的身份始终被寄存在「别人的服务器」上。DID 与可验证凭证(VC)从根本上重新审视这一结构,志在实现由个人自己掌管其标识符和凭证的世界。
「信任三角」。验证者仅凭签发者的公钥(DID 文档)即可验证凭证。
自主主权身份(SSI)的理念
传统数字身份大体在两种模型下运行:为每个服务各自签发 ID 和密码的中心化(孤岛型),以及用 Google、Apple 账号登录其他服务的联合型(「用某某登录」)。前者带来密码管理的崩溃和大规模泄露事故;后者虽便利,却把「你何时、何地登录过」汇集到巨型平台,且一次账号封停就可能让整个数字生活付诸东流。
自主主权身份(SSI:Self-Sovereign Identity)是第三种模型。它把标识符和凭证建立在本人掌管的密钥对之上,并按需辅以分布式账本等共享基础设施,从结构上力图保证「未经本人同意,任何身份都无法被停用、追踪或关联」。如果说 P2P 网络让数据的存放地点去中心化,那么 SSI 就是尝试让信任的签发方与验证方式也去中心化。
DID 的语法与 DID 文档
DID(去中心化标识符)是 W3C 标准的标识符,采用「方法名 : 唯一标识」这样的三段式结构,形如 did:方法名:唯一标识(例如 did:web:example.com、did:key:z6Mk...)。对 DID 进行「解析」会得到一份名为 DID 文档的 JSON,其中记载着用于验证本人的公钥(verificationMethod)、指定认证等场景该用哪把密钥(authentication),以及用于联系本人的 service 端点。也就是说,DID 是一个「指向公钥所在、且谁也无法没收的地址」。
主流 DID 方法对比
DID 后面跟着的方法名,决定了标识符如何签发、更新与失效。信任的落点(在 DNS、在账本、还是在密钥本身)在不同方法间差异很大,需要按用途取舍。
| 方法 | 信任基础 | 所需基础设施 | 典型用途 |
|---|---|---|---|
| did:key | 公钥本身 | 无需(可离线生成) | 一次性标识、设备间认证、签发 VC 时的临时密钥 |
| did:web | 域名所有权(DNS/HTTPS) | 既有的 Web 服务器 | 企业、组织的官方标识符,落地成本低 |
| did:ethr | 以太坊上的智能合约 | 以太坊节点与 Gas 费 | Web3 钱包集成,密钥的链上更新与吊销 |
| did:ion | 比特币(Sidetree 协议) | 比特币节点 + ION 运行环境 | 由微软主导,面向海量 DID 的类二层处理 |
可验证凭证(VC)的运作方式:签发者、持有者、验证者
若说 DID 是「地址」,那么可验证凭证(VC)就是「带数字签名的凭证」。VC 的生态由三种角色构成:签发者(Issuer)对证明属性的文书签名并签发,持有者(Holder)将其保管在自己的钱包中,并在需要的场合出示给验证者(Verifier)。验证者只需从签发者的 DID 文档取得公钥来验证签名即可,无需向签发者查询。
这种「签发与验证的分离」至关重要:大学一旦签发并签名毕业证 VC,此后即便大学服务器宕机,该证书依然可以验证;而大学也无从得知谁在何时何地出示过这份证明。
选择性披露与零知识证明
VC 通常把多个属性打包成一张凭证签发,但出示时并不需要每次都展示全部属性。支持选择性披露(Selective Disclosure)的格式(如 SD-JWT)可以从包含姓名、出生日期、国籍的 VC 中,只取出「国籍」一项出示。再结合零知识证明(ZKP),还能在完全不透露属性具体数值的情况下,只证明「由出生日期计算可知已年满 20 岁」这一命题的真假。像 BBS+ 签名这类支持从多个已签名属性中选取部分披露、同时保持签名有效性的方案,正是这一领域实现的基石。
落地进展:欧盟数字身份钱包与应用场景
制度层面走在最前面的是欧洲。根据 2024 年生效的 eIDAS 2.0 法规,欧盟成员国被要求向国民提供 EU 数字身份钱包(EUDI Wallet),目标是在 2026 年内实现全面落地。这是一个国家级的 SSI 部署案例,志在把驾照、学位证明、银行开户身份核实等统统整合进手机上的一个钱包应用中完成。
- 学位·资格证明:把毕业证、技术资格作为 VC 签发,求职时企业即时验证。无需邮寄纸质证明或电话核查,也让学历造假变得困难。
- KYC(身份核实)的复用:把在银行完成过一次的身份核实做成 VC,在其他金融服务中再次出示。用户无需反复提交材料,业务方也能降低核实成本。
- Web3 登录与 DApp 集成(参见 DApp):在用钱包密钥签名的无密码认证之上,叠加 VC 提供的属性证明(会员资格、对 DAO 的贡献记录等),即可构建不依赖平台、可携带的声誉与会员体系。
与中心化身份(OAuth/OpenID Connect)的对比
「用某某登录」所依赖的 OAuth、OpenID Connect 已经十分普及,DID/VC 在体验上并不天然占优,两者真正的差异在于可用性与隐私的结构。
| 维度 | OAuth · OpenID Connect | DID · VC |
|---|---|---|
| 标识符的签发方 | 平台方(Google、Apple 等) | 由本人自行生成、掌管 |
| 验证时的通信 | 每次验证都需向身份提供方(IdP)查询 | 无需向签发者查询,仅凭签名即可完成验证 |
| 可用性 | IdP 故障或账号被封会导致完全无法认证 | 即便签发者消失,已签发的 VC 依然可验证 |
| 隐私 | IdP 能掌握你的登录时间、频率与对象 | 通过选择性披露只出示必要的最小属性 |
现实的课题:密钥丢失与找回
在中心化身份体系中,「忘记密码」可以通过邮箱重置链接找回;而在自主主权身份体系中,一旦丢失私钥,原则上没有任何人能代为重新签发。正因为唯有本人持有密钥才实现了身份主权,这种不对称就是难以避免的代价:早期加密货币钱包中,因私钥丢失而彻底失去资产的情况屡见不鲜。
- 社交找回(Social Recovery):只要预先指定的多位可信联系人(家人、朋友、机构等)中达到一定数量批准,就能重新签发密钥。这是把多重签名的思路应用到身份领域。
- 多设备密钥分散:把密钥分散保存在手机与硬件设备等多个终端上,即便部分设备丢失或损坏,仍可用其余设备找回。
- MPC 钱包与监护人方案:把密钥本身拆分成多个片段,由本人的多个设备和/或可信的服务方协同计算,从而不存在单一的丢失点。
这些找回机制在换取便利性的同时,或多或少都要与 SSI「消除单点故障」的理念做出权衡。如何在密钥管理的易用性与真正的自主主权之间取得平衡,仍是 DID/VC 走向大规模落地面前最大的设计课题。