WeDPR多方密文决策:自研零知识证明核心算法的实践

fffmCQ.jpg

WeDPR是微众银行区块链自研的一系列即时可用、场景式隐私保护解决方案,围绕数据隐私保护核心业务场景而打造,已构建的场景方案矩阵涵括多方大数据隐私计算、选择性认证披露、多方密文排名等细分场景的解决方案。本次,WeDPR融合零知识证明最新研发成果,开放多方密文决策(Anonymous Ciphertext Voting,ACV)场景解决方案及核心算法组件,并针对匿踪查询场景,提供不经意传输协议组件,以实现双向隐私保护。

自研零知识证明算法

何为零知识证明?简单来说,零知识证明可以实现:在无需坦露秘密的前提下,向别人证明你知道这个秘密。这个特性,在需要保护隐私的协作场景中大有可为,实现在不泄漏各自私密信息的前提下,完成多方之间的联合计算,达成多方安全协作的效果。

WeDPR深耕隐私保护技术,自研一系列简洁、高效的零知识证明算法。相比传统通用电路类零知识证明,WeDPR实现的场景化零知识证明算法在性能方面获得了较大突破:无需设计构造与开发复杂电路,无需可信初始化,仅通过简单的加、乘、哈希计算,就能得到证明小、生成与验证时间快的零知识证明实现。在常见的会计平衡零知识证明中,WeDPR可在500us内生成证明,并在370us内完成验证。而传统基于通用电路的零知识证明算法,通常需要10ms完成初始化、44ms生成证明、600us完成验证。

这套零知识证明算法可扩展运用于多层次医疗保障、匿名投票、匿名竞拍等涉及多方决策和隐私保护的场景。

零知识证明算法在多方密文决策中的应用

接下来将以多层次医疗保障为例,介绍零知识证明在此类涉及多方决策场景中的应用。

2020 年 2 月发布的《关于深化医疗保障制度改革的意见》,要求到 2030 年,全面建成以基本医疗保险为主体,医疗救助为托底,补充医疗保险、商业健康保险、慈善捐赠、医疗互助共同发展的多层次医疗保障制度体系。在这个体系下,一个人一次治疗产生的医疗费,可先使用医保报销,剩余达到商业医疗险报销标准的部分费用,可使用商业医疗险继续报销。然而,一些不法分子能在其中钻空子,“导演”欺诈骗保事件。

我们来看这样一个场景:张三除了医保外,还购买了三份商保。某次治疗,张三共花费1000元,向商保公司A、B、C分别申请索赔200元、300元、 400元后,又去申请医保报销500元。这样,张三可能获得的报销额将达到1400元。

“报销金额之和大于实际医疗费用”现象发生的一个关键原因,就是医保与各商保公司之间存在信息壁垒,无法及时共享信息数据,且各商保公司之间,由于涉及商业利益竞争,也不愿互通对同一个用户案例的报销金额。回到场景中分析,由于医保机构、商保公司A、B、C之间的赔付记录均不互通,各方无法知晓张三在其他参保机构的赔付金额,无从计算张三已获得的赔付金额之和是否已超过实际支付金额。当涉及金额较小且张三确实满足赔付条款的情况下,医保/商保公司只能进行赔付。

能否有一种方法,既能保护各商保公司的赔付记录隐私,又能互通计算保险金额,且有监管机构验证整个赔付过程是否合规合法?WeDPR多方密文决策场景解决方案旨在解决这些问题。方案运用零知识证明算法,结合区块链等技术,将医保机构、商保公司联合起来构建一个多方决策系统,实现各个机构无需泄漏赔付金额的同时,能够协作判断识别赔付情况。

回到场景:张三在商保公司A、B、C索赔后,各家赔付金额均以密文形式提交到多方决策系统,医保机构在密文形式下对A、B、C的赔付金额进行求和,通过零知识证明确信当前张三已获得A、B、C总赔付900元,但却不知每个商保公司各自的赔付金额。最终,医保机构判断已赔付900元小于实际治疗费用1000元,且待赔付额仅剩100元,而非原先的固定赔付比例下的500元,所以密文决策系统自动识别异常,并按照整体赔付比例按需调整赔付额。

可以看到,WeDPR多方密文决策场景解决方案应用于多层次医疗保障中,可以借助零知识证明实现以下效果:

1. 医保/商保公司只公布预赔付金额的密文,除本机构外,其他任何个人、机构无法解密获得真实赔付金额。

2. 整个过程无需解密,医保/商保公司在密文下进行计算、比较与决策。

3. 任意验证方都可验证每笔报销的正确性、合法性。

多方密文决策场景核心算法已同步开源

秉持拥抱开放的理念,WeDPR以降低使用门槛、帮助用户快速技术选型、在用户心中建立信任为目标,陆续开源各细分场景解决方案的核心算法实现。目前,多方密文决策场景解决方案的核心算法已更新至代码仓库WeDPR-Lab Core,包括核心算法组件和使用示例。

核心算法仓库地址:

https://github.com/WeBankBlockchain/WeDPR-Lab-Core

核心算法仓库镜像:

https://gitee.com/WeBankBlockchain/WeDPR-Lab-Core

核心算法文档地址:

https://wedpr-lab.readthedocs.io/zh_CN/latest

不经意传输协议组件与匿踪查询

WeDPR倡导“依赖解耦、配置灵活”的设计理念,设计上极致模块化,每个算法都可独立复用。今年年初,为了更好地支持各位开发者对系列开发包的自由裁剪和轻量部署,WeDPR在代码仓库中提供了密码模块仓库WeDPR-Lab Crypto。此次,我们也将在不经意传输协议(OT协议)的最新研发成果进行开源。

不经意传输协议是隐私保护方案中常用的基础密码原语组件,可用于匿踪查询等场景。接下来,我们通过一个示例场景来认识不经意传输和匿踪查询:

张三想申请一个域名,申请前张三在域名管理网站输入待申请域名进行查询,可喜!该域名未被注册。张三随之进行注册,可叹!该域名已被抢先注册。

上述查询在不匿踪状态下进行。张三的查询踪迹——域名,已泄露给域名管理网站,可能被恶意工作人员进行抢先注册。是否有一种技术手段保证用户既能获得查询结果,还能防范数据方获得查询踪迹呢?基于不经意传输协议实现匿踪查询便可有效解决上述诉求。

场景变换:张三向域名管理网站提供域名的密文,网站将收到的域名密文与注册数据库中所有域名进行密文计算、匹配,为数据库中每个域名都产生一个匹配结果的密文。最终向张三批量返回结果密文。张三通过解密密钥,从所有结果密文中获得其匹配的查询结果,且无法解密其他不匹配的结果密文。

可以看到,不经意传输协议能够有效实现以下双向隐私效果:

1.数据方无法得知查询方的具体索引信息,以此保护了查询方的查询索引隐私。

2.除了所查索引信息指向的消息外,查询方无法得知数据方数据目录中的其他消息,以此保护了数据方的数据隐私。

密码模块仓库地址:

https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto

密码模块仓库镜像:

https://gitee.com/WeBankBlockchain/WeDPR-Lab-Crypto

密码模块文档地址:

https://wedpr-lab.readthedocs.io/zh_CN/latest

声明:该文观点仅代表作者本人,与炒币网无关。炒币网系信息发布平台,仅提供信息存储空间服务。对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,并不对文章观点负责。 提示:投资有风险,入市须谨慎。本资讯仅供参阅,不作为投资理财建议。

发表评论

登录后才能评论