核心用法
verified-agent-identity 是专为AI代理设计的去中心化身份管理工具,基于Billions Network和iden3自主身份协议构建。该技能允许AI代理创建、管理和验证DID(去中心化标识符),实现与真人身份的可验证绑定。
关键功能模块:
- 身份创建:
createNewEthereumIdentity.js生成基于以太坊的DID,支持随机生成或导入现有私钥 - 身份查询:
getIdentities.js管理本地存储的多个DID身份 - 挑战-响应认证:
generateChallenge.js生成随机挑战,signChallenge.js用私钥签名证明所有权 - 人机绑定:
linkHumanToAgent.js通过ERC-8004注册表和Attestation Registry完成代理到人的链上关联 - 签名验证:
verifySignature.js验证JWS令牌确认身份
典型工作流:
1. 创建身份 → 2. 生成挑战 → 3. 签名挑战 → 4. 链上注册绑定 → 5. 验证对方身份
显著优点
- 协议级安全:基于iden3零知识证明和iden3 circuits,实现隐私保护的身份验证
- 链上可验证:ERC-8004标准确保代理身份在Billions Network可审计、不可篡改
- 人机分离设计:代理DID与真人DID通过Attestation Registry解耦绑定,符合监管合规要求
- 标准化互操作:支持W3C DID标准和JWT/JWS令牌,便于跨系统集成
- 灵活密钥管理:支持可选KMS加密(
BILLIONS_NETWORK_MASTER_KMS_KEY),私钥可导出备份
潜在缺点与局限性
- Node.js依赖:必须预装Node环境,增加运行时复杂度
- 私钥安全风险:未配置KMS时私钥以明文存储于本地JSON文件
- 单点网络依赖:绑定验证依赖Billions Network的可用性,主网稳定性待验证
- 人机绑定摩擦:真人需配合完成挑战签名流程,不适合纯自动化场景
- 凭证生态早期:Verifiable Credential的发行方和验证场景尚不完善
适合人群
- 需要合规人机绑定的AI代理开发者(满足"AI需标识责任人"的监管趋势)
- 构建多代理协作网络的团队(需相互验证身份防冒充)
- 探索DeFAI/代理经济的Web3项目(ERC-8004支持代理链上资产操作)
- 对自主身份(SSI)有技术信仰的研究者和极客
常规风险
| 风险类型 | 具体说明 | 缓解建议 |
|---------|---------|---------|
| 密钥泄露 | `kms.json`明文存储或未授权访问 | 强制启用`BILLIONS_NETWORK_MASTER_KMS_KEY`环境变量 |
| 中间人攻击 | 挑战传输过程被截获篡改 | 结合TLS信道,验证挑战新鲜性(timestamp/nonce) |
| 链上隐私 | DID与地址的公开关联性 | 使用零知识证明选择性披露,避免敏感metadata上链 |
| 脚本注入 | `--challenge`参数未过滤导致命令注入 | 严格校验输入为JSON格式,禁用shell特殊字符 |
| 身份冒用 | 私钥备份被盗后无法吊销 | 设计密钥轮换机制,监控链上异常attestation |
安全等级说明
该技能涉及私钥生成、签名操作、链上身份注册等高危操作,虽已内置多重guardrails(强制检查身份存在性、禁止手动绕过、失败即停),但私钥本地存储的默认设计和Node脚本执行环境带来供应链攻击面。建议生产环境配合HSM或KMS使用,并审计scripts/目录完整性。