self-xyz

🛡️ 零知识隐私身份验证方案

基于 Self Protocol 零知识证明的身份验证集成指南,支持护照/ID卡隐私验证,适用于 KYC、年龄检查等场景,无需暴露个人数据。

收藏
5.3k
安装
1.7k
版本
v1.0.0
CLS 安全性认证2026-05-13
点击查看完整报告 >

使用说明

核心用法

Self Protocol 集成技能提供了一套完整的零知识身份验证方案,支持三种集成模式:链下验证(Web应用/API)、链上验证(Celo智能合约)和深度链接(移动端优先)。开发者通过 @selfxyz/qrcode@selfxyz/core 两个官方包,可在 Next.js 等现代前端框架中快速实现二维码扫描验证流程。用户通过 Self 移动应用扫描护照或身份证的 NFC 芯片,生成零知识证明并分享至应用,全程不暴露原始个人数据。

前端使用 SelfAppBuilder 配置验证参数(如最低年龄、国籍披露等),通过 SelfQRcodeWrapper 组件渲染二维码;后端使用 SelfBackendVerifier 进行证明验证,支持自定义配置存储。链上场景则继承 SelfVerificationRoot 合约,利用 Celo 网络的 Hub V2 合约完成去信任化验证。

显著优点

1. 隐私优先架构:采用零知识证明技术,用户可证明年龄、国籍、人性等属性而无需透露具体护照号码、姓名等敏感信息,从根本上解决传统 KYC 的数据泄露风险。

2. 多场景覆盖:一套方案同时支持链下快速集成(适合 Web2 应用)、链上无许可验证(适合 DeFi 和 DAO 治理)以及移动端深度链接,灵活性极高。

3. 真实身份锚定:基于政府签发的护照和身份证 NFC 芯片数据,提供比传统钱包签名更强的 Sybil 抵抗能力,有效防止女巫攻击。

4. 合规友好:内置 OFAC 筛查、年龄验证、国籍检查等常见合规需求,支持 3 位 ISO 国家代码配置,满足全球监管要求。

5. 开发体验完善:提供 mock 护照测试模式(开发环境)、详细的错误代码说明、配置匹配检查清单,大幅降低集成调试成本。

潜在缺点与局限性

1. 硬件依赖限制:用户必须持有带 NFC 芯片的护照或身份证,且需安装 Self 移动应用,这在部分发展中国家或老年用户群体中渗透率有限。

2. 网络生态绑定:链上验证目前主要支持 Celo 网络,若项目基于 Ethereum、Polygon 等其他 L1/L2,需额外桥接或等待多链支持。

3. 配置严格性:前端 disclosures 与后端/合约验证配置必须完全匹配,包括年龄阈值、国家列表、OFAC 设置等,任何不匹配都会导致静默失败,调试难度较高。

4. 国家代码限制:排除列表最多支持 40 个国家,对于需要复杂地理围栏的场景可能不足。

5. 版本兼容性:要求 @selfxyz/core >= 1.1.0-beta.1,早期版本可能存在 API 差异,升级时需注意破坏性变更。

适合的目标群体

  • Web3 项目方:需要隐私保护型 KYC 的 DeFi 协议、空投项目、DAO 治理平台
  • 金融科技开发者:构建年龄验证、国籍合规检查的金融应用
  • 企业合规团队:寻求 GDPR/CCPA 友好的身份验证方案,避免存储用户原始身份数据
  • Celo 生态开发者:利用原生集成的链上验证能力构建去中心化应用
  • 隐私技术研究者:探索零知识证明在真实世界身份场景的应用落地

使用风险

1. 环境配置风险:开发测试时若误将 mockPassport: truecelo-staging 配置部署至生产环境,会导致验证逻辑被绕过。文档虽明确区分环境,但人为失误仍可能发生。

2. 合约地址验证:文档提供的 Hub V2 合约地址需通过官方渠道二次确认,若地址被篡改或网络升级,可能导致资金或验证逻辑风险。

3. 依赖项更新@selfxyz 包处于活跃开发期(存在 beta 版本),未来 API 可能调整,需关注官方更新日志避免兼容性问题。

4. 性能与可用性:零知识证明生成依赖用户设备计算能力和网络连接,低端设备或弱网环境下体验可能下降;后端验证涉及密码学运算,高并发场景需评估服务器负载。

5. 法律合规边界:虽然技术实现隐私保护,但具体应用场景(如年龄验证、国籍限制)仍需符合当地法律法规,技术方案不能替代法律合规审查。

安全解读

Self.xyz 协议集成评估

核心用法

Self.xyz 是一款基于零知识证明(ZKP)的隐私优先身份协议,允许用户通过手机扫描护照或身份证的NFC芯片,在不暴露原始个人数据的前提下,向应用证明特定身份属性(如年龄≥18岁、国籍、非OFAC制裁名单等)。

三种集成模式:
1. Off-chain(推荐):最快实现路径,前端生成QR码,后端使用SelfBackendVerifier验证证明

2. On-chain:适用于DeFi、空投等链上场景,通过Celo智能合约SelfVerificationRoot完成无需信任方的验证

3. Deep linking:移动端优先,直接唤起Self应用

显著优点

  • 隐私保护核心:采用零知识证明技术,验证方仅获知"是/否"结论,无法获取护照号码、照片等原始数据
  • 真实身份绑定:基于政府签发的物理证件,天然抵抗Sybil攻击
  • 合规友好:支持OFAC筛查、年龄门槛、国籍白名单/黑名单等企业级KYC需求
  • 开发者体验:官方提供@selfxyz/qrcode@selfxyz/corenpm包,Next.js集成可在30分钟内完成
  • 多链部署:Celo主网/测试网已部署官方合约,Gas成本低廉

潜在局限与风险

| 风险类别 | 具体说明 |
|---------|---------|
| **配置严格性** | 前后端`disclosures`配置必须完全匹配,任何差异(如年龄阈值、国家列表)都会导致验证静默失败 |
| **网络依赖性** | 用户需持有支持NFC的智能手机,且Self应用需连接官方WebSocket服务 |
| **合约地址格式** | On-chain模式下地址必须小写,使用checksum格式会直接报错 |
| **测试/主网隔离** | Mock护照仅能在测试网使用,真实护照强制要求主网,配置错误会导致`InvalidIdentityCommitmentRoot`等 cryptic 错误 |
| **国家代码限制** | 使用ISO 3字母代码(如"USA"),排除列表最多40个国家 |
| **版本要求** | `@selfxyz/core`必须≥1.1.0-beta.1 |

适合人群

  • Web3项目方:需要抗女巫攻击的空投、DAO治理权限分配
  • DeFi协议:年龄验证(衍生品交易)、国籍合规限制
  • 传统Web2应用:追求GDPR-compliant的KYC方案,替代中心化身份服务商
  • 监管敏感型产品:赌博、金融、内容分级等需严格年龄/地域控制的场景

常规风险

  • scope唯一性:On-chain场景中scope与合约地址Poseidon哈希绑定,防止跨合约重放攻击
  • 端点可访问性:Self应用直接向用户配置的endpoint发送证明,本地开发需使用ngrok等隧道工具
  • 依赖供应链:需信任@selfxyz/core@selfxyz/qrcode包的官方维护,建议锁定版本并审计

安全认证亮点

本Skill经CLS-Certify扫描获得S级(95分),核心优势:纯文档型无执行代码、无危险函数调用、零敏感信息泄露、依赖包来源可验证。集成协议本身的设计哲学即为"数据最小化",与GDPR等隐私法规高度契合。

self-xyz 内容

references文件夹
手动下载zip · 8.0 kB
backend.mdtext/markdown
请选择文件