本文为中文翻译,原文地址:
我们很高兴推出 zkPass,这是一种基于 MPC(多方计算)和 ZKP(零知识证明)的去中心化 KYC 解决方案,旨在克服当前 KYC 系统中的各种缺陷,消除与身份认证相关的痛点,并在扩展 KYC 功能的同时保护用户隐私。
背景
KYC 是一个要求企业验证其客户身份以遵守法规的流程。金融服务、银行和其他处理金钱的公司有必要确保他们不会意外卷入洗钱或恐怖主义融资。
传统的 KYC 数据存储在中心化的服务器上,用户无法控制自己的私人数据,这可能导致数据泄露。
区块链技术可以通过提供去中心化且不可变的解决方案来帮助解决这个问题,该解决方案允许所有各方共享真实版本的确切版本,同时保留对其数据的控制权。
主要特征
- 通用性:个人用户可以多次生成和重复使用自己的身份,在多方交互过程中,其信息不会泄露给任何第三方。
- 定制化:企业用户可以按需选择和配置KYC模板,满足不同维度的KYC需求,而验证方对数据一无所知。
- 隐私保护:通过MPC(交互会话)和ZKP(证明会话)实现强大的数据隐私保护,而协议各方不知道数据。
- 兼容性: zkPass 协议向后兼容,广泛适配当前数据源协议,而数据源不知道数据目的地。
- 去中心化: zkPass 协议是完全去中心化的,因为没有中心化的服务来存储敏感的用户数据。
zkPass的解决方案
- zkPass 协议:由传输层安全、多方计算、零知识证明等技术组成的去中心化开源协议。它由 zkPass Node 运行,构建一个参与三方 TLS 协议的去中心化验证器。
- zkPass Kit:在 TCP 层和 HTTP 层之上以插件/SDK 的形式为三方 TLS 协议构建一个 Prover。业务用户根据需要选择或定制合适的KYC模板,将模板以参数的形式配置到zkPass Kit中,向区块链上的智能合约发起KYC请求。
- 智能合约:1)模板:存储模板和相关参数,防止验证者作弊。2)任务:分配任务指定MPC参与者,防止验证者串通。3)ZK验证:验证ZKP,防止用户隐私泄露。
zkPass 协议
相关技术
- TLS:传输层安全性是一种用于在两个通信应用程序之间提供机密性和数据完整性的协议。TLS 是网络世界中通信的基石。
- MPC:多方计算允许多个参与者共同参与计算而不会泄露他们的隐私。它主要使用 Garbled Circuits 和 Oblivious Transfer 算法。
- ZKP:零知识证明,指证明者在不向验证者提供任何有价值信息的情况下说服验证者断言正确的能力。它的具体实现将基于 PLONK 算法。
三个阶段
- 三方握手
- 数据查询
- 零知识证明
zkPass 的整体系统架构如下图所示:
整个系统包括以下组件:
- zkPass 套件
- 图表
- zkPass 后端
- 智能合约
- 节点集群
- Web2 发行者
路线图
- 2022 Q3 — 为参与 zkPass 产品的多方构建协议原型
- 2022 Q4 — —生成 HMAC 密钥并使用 2PC 对消息进行签名,构建三方 TLS 协议和零知识证明和验证
- 2023 Q1 — — 最低可行的测试网发布
- 2023 Q2— — 将2PC扩展到MPC并添加MPC节点
- 2023 Q3 — — 增强 zkPass 去中心化网络
- 2023 Q3 — —主网发布
总结与展望
基于zkPass,我们可以以隐私保护、非权威的方式建立一个人一账户体系,建立一个不依赖权威信用评分的信誉体系,甚至将KYC的概念进一步向前延伸,创造KYB(了解您的业务)和 KYD(了解您的设备)等新业务格式。作为Web3.0必不可少的基础设施,zkPass可以更好地推动数字经济,构建面向社会的、安全便捷的分布式数字身份系统,解决现有在线数字身份的安全、隐私、互操作和所有权问题,创造新的区块链应用场景,进一步推动Web3的蓬勃发展。
更多技术内容,请阅读技术白皮书