公开可验证密文账本场景方案¶
VCL解决方案优势¶
公开可验证密文账本(Verifiable Confidential Ledger, VCL)具有以下核心优势:
- 全密文记账,满足企业级安全和性能要求
- 账目密文数值之间的算术、逻辑全关系证明
- A + B = C, A * B = D
- A > B, A != B
其典型的应用场景如下:
- 涉及数字化资产流通的场景
- 支付、清算
- 涉及多方之间共享账本信息的场景
- 供应链金融
- 跨境金融服务
其重要功能和指标如下:
- 功能特性(以支付类应用为例)
- 支持任意数据类型的资产或权益类型(数值型和非数值形)
- 交易者身份和交易金额隐匿
- 基于零知识证明算法
- 不依赖可信硬件执行环境
- 不依赖可信第三方服务
- 国密算法和监管支持
- 性能指标
- 百字节记录大小
- 微秒级交易处理延时
- 万级每秒交易并发量
VCL目标场景业务痛点示例 – 支付中的隐私风险¶
实习生美丽终于毕业啦!来到新城市工作的美丽决定不时去花店买几束花装饰自己的出租屋。
美丽每次都会在楼下花店买玫瑰和桔梗。买了几次之后,每次美丽准备第二天再去采购的时候,就会收到了花店发来的短信:“美丽小姐您好,明早新到一批您喜爱的玫瑰与桔梗,欢迎前来选购”。美丽一边惊喜一边又诧异她怎么知道我的买花习惯,于是去花店的时候和店员聊起这件事。店员自豪地说她们会定期整理花店账本,并对每个顾客的支付记录进行分析,就可以提前“贴心”提醒顾客啦。美丽听完恍然大悟,才知道原来自己日常的买花喜好及行为仿佛已经完全被花店“监控”了。不仅是花店提醒短信,自从买花以来美丽就经常收到花瓶推荐广告、驱虫广告等,美丽心想应该也是花店账目信息出售或泄露导致的吧,心里有种说不上来的滋味,决定利用自己穿越时空的超能力改变这一现状。
美丽之前在花店的支付,泄露了所有支付明细,包括买花类别、数量、消费金额、消费时间等。花店及入侵者通过账本记录,配合大数据分析等手段,分析出了美丽的消费习惯:一般什么时候来买花、喜欢什么花、消费水平等,及由此推测出的其他日常行为,导致了严重的美丽隐私泄露问题。
美丽心想,花店其实只需确定她每次支付完成后,账本记账是正确的就可以了,于是这次美丽选择采用WeDPR-Lab提供的方案进行支付。这次,美丽实现了对自己交易内容的完全隐匿,花店记账时再也无法看到美丽具体的支付细节内容,但又可以验证美丽本次的支付是有效且正确的,也能通过将本次消费与历史账目加和来更新得到最新账目,也就是说在保证美丽隐私的同时又能保证正常的记账规则。而且,由于花店账本也没有记录美丽的消费具体内容,所以即便有黑客等入侵,得到的也只是一堆密文,无法获得任何有用的信息。美丽再也不会担心自己被花店监控而收到花店的“关怀”提醒短信,也不用担心自己的消费信息泄露而被其他服务商“热心”推荐了。
在传统支付方案中,隐私保护需要完全依赖于信任一个第三方平台,譬如上述场景中的花店支付系统,但这个第三方平台的安全性又如何保证呢?公开可验证密文账本VCL方案,完全不依赖支付中间服务商的信任,仅依靠密码学困难性理论,通过密码学承诺、场景化高效零知识证明,在遵循账本记账规则的同时,既能保证账本维护者甚至外部监管机构对账本正确性的验证,又能有效保护用户支付明细的隐私安全。
VCL核心算法组件特性¶
WeDPR-Lab开源社区版中提供了VCL解决方案的核心算法组件和使用示例,具体包括:
- 公开可验证密文账本的Demo示例
- 明文账本数据向密文凭证转换的通用方法
- 明文账本数据转换为密文凭证
- 密文状态下证明密文凭证的所有权
- 密文凭证之间的代数约束关系的零知识证明
- 密文状态下证明v1 + v2 =? v3
- 密文状态下证明v1 * v2 =? v3
- 密文凭证的范围约束关系的零知识证明
- 密文状态下证明v1 > 0
- 其他基础工具代码
VCL示例快速体验¶
完成安装步骤之后,进入示例目录,运行公开可验证密文账本Demo。
cd WeDPR-Lab-Core/solution/verifiable_confidential_ledger
cargo run
cargo run之后按照demo指引,设置中文或英文作为演示语言,按步骤输入即可进行体验。
具体流程描述如下:
- 用户对于自己输入的数值金额v1, v2, v3,生成密文凭证c1, c2, c3。
- 在密文状态下,用户生成三类金额的数值关系的零知识证明,具体包括:
- 加法关系证明:v1 + v2 = v3;
- 乘法关系证明:v1 * v2 = v3;
- 非负数证明:v1 > 0
- 验证以上三类零知识证明的正确性。
- 与明文账本对比,体验密文账本数据效验的隐私保护效果。