WeDPR-Lab是什么

WeDPR是一系列即时可用场景式隐私保护高效解决方案套件和服务(参见WeDPR白皮书),由微众银行区块链团队自主研发。方案致力于解决业务数字化中隐私不“隐”、共享协作不可控等隐私保护风险痛点,消除隐私主体的隐私顾虑和业务创新的合规壁垒,助力基于隐私数据的核心价值互联和新兴商业探索,营造公平、对等、共赢的多方数据协作环境,达成数据价值跨主体融合和数据治理的可控平衡。

WeDPR具备以下特色和优势:

  • 场景式解决方案:已基于具有共性的场景需求,提炼出公开可验证密文账本、多方密文决策、多方密文排名、多方密文计算、多方安全随机数生成、选择性密文披露等高效技术方案框架模板,可应用于支付、供应链金融、跨境金融、投票、选举、榜单、竞拍、招标、摇号、抽检、审计、隐私数据聚合分析、数字化身份、数字化资质凭证、智慧城市、智慧医疗等广泛业务场景。
  • 即时可用:高性能、高易用、跨平台跨语言实现、不依赖中心化可信服务、不依赖可信硬件、支持国密算法标准、隐私效果公开可验证,5分钟一键构建示例应用。
  • 透明可控:隐私控制回归属主,杜绝数据未授权使用,在『数据可用而不可见』的基础上,进一步实现数据使用全程可监管、可追溯、可验证。

WeDPR全面拥抱开放,将陆续开源一系列核心算法组件,进一步提升系统安全性的透明度,提供更透明、更可信的隐私保护效果。WeDPR-Lab就是这一系列开源的核心算法组件的集合。

为什么使用WeDPR-Lab

WeDPR-Lab目前主要包含两个开源仓库隐私保护场景式解决方案WeDPR-Lab-Core和密码组件WeDPR-Lab-Crypto。

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

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

  • 丰富的多语言接口

对于隐私保护场景式解决方案WeDPR-Lab-Core和密码组件WeDPR-Lab-Crypto,我们均提供了Java和C的FFI适配接口,具有涵盖桌面端、服务端、移动端的全平台SDK, 实现了跨语言、跨平台的适配。

  • 可插拔的接口级设计

WeDPR倡导“依赖解耦、配置灵活”的设计理念,设计上极致模块化,每个算法都可独立复用。用户可按照实际所需功能定制化WeDPR使用接口,最小化减少依赖,实现了开发者对WeDPR系列开发包的自由裁剪和轻量部署。

  • 高性能,高安全

WeDPR系列开发包具有高效的内存利用率与运行速度,性能与C和C++实现匹敌,同时具有内存安全与线程安全,为开发者提供了高性能、高安全的隐私保护算法组件及易用、易扩展的使用体验。

WeDPR-Lab-Crypto v1.2.0版本开源主要内容如下:

  • 核心密码算法组件:n选k不经意传输算法

    • 其中,n和k均为任意正整数,k<n。

    对于以下场景:

    • 数据方的数据目录中共有n条消息记录
    • 查询方选择k个消息的索引向数据方查询消息

    不经意传输算法能实现的具体隐私效果是:

    • 数据方无法得知查询方的查询索引,即:查询方查询索引隐私;
    • 除了所查索引的消息外,查询方无法得知数据方数据目录中的其他消息,即:数据方数据隐私。
  • 二进制接口,包括所有核心密码算法的高性能二进制接口;

WeDPR-Lab-Crypto v1.1.0版本开源主要内容如下:

  • 核心密码算法组件,包括:
    • 分组加密算法:包括AES-256、国密SM4;
    • 哈希算法:包括SHA3、BLAKE2、RIPEMD-160;
    • 椭圆曲线计算:包括椭圆曲线BN128的点加、点乘及双线性对操作;
    • 数字签名算法:包括Ed25519;
    • 零知识证明的聚合验证:包括加和证明的聚合验证、乘积证明的聚合验证。
  • 二进制接口,包括所有核心密码算法的高性能二进制接口;
  • FFI接口,支持交叉编译跨语言、跨平台所调用的FFI适配接口。

WeDPR-Lab-Crypto v1.0.0版本开源主要内容如下:

  • 核心密码算法组件,包括:
    • 基础编解码;
    • 公钥加解密算法,包括基于Secp256k1曲线的ECIES加解密;
    • 哈希算法,包括Keccak256哈希算法与国密SM3;
    • 签名及验证,包括ECDSA签名与国密SM2;
    • 离散对数系统的零知识证明算法,包括加和证明及验证、乘积证明及验证;
    • 零知识范围证明及验证;
    • 基于椭圆曲线的可验证随机函数VRF(Verifiable Random Functions)。
  • FFI接口,支持交叉编译跨语言、跨平台所调用的FFI适配接口。

WeDPR-Lab-Core v1.5.0版本开源主要内容如下:

  • 多方密文决策ACV核心算法,支持全密文决策、全流程可验证的多方隐私决策。
  • ACV场景式解决方案的一个交互式样例,实现以下主要功能:
    • 初始密文选票的颁发
    • 决策密文选票的生成
    • 密文决策过程的零知识证明生成与验证
    • 密文决策结果的汇总
    • 汇总过程的零知识证明生成和验证
    • 决策结果的验证
  • Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;
  • 其他基础工具代码。

WeDPR-Lab-Core v1.4.0版本开源主要内容如下:

  • 将WeDPR-Lab Crypto v1.1.0新增的零知识证明的聚合验证算法运用于VCL公开可验证密文账本。
  • 聚合验证算法在VCL中应用后的具体效果是:

对于多组密文记录及其加和关系证明(或乘积关系证明),无需针对每个加和证明(或乘积证明)分别进行验证,而只需执行一次聚合验证,就可对所有加和证明(或乘积证明)进行验证。

聚合验证算法通过减少开销较大的椭圆曲线点运算的个数,将VCL中对应零知识证明批量验证的效率提升了近60%。

WeDPR-Lab-Core v1.3.0版本开源主要内容如下:

  • 密钥生成及管理的核心算法,包括:
    • 密钥助记词的生成
    • 基于助记词的密钥生成
    • 基于分层结构的密钥派生
  • Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;
  • FFI接口,支持交叉编译跨语言、跨平台所调用的FFI适配接口;
  • 其他基础工具代码。

WeDPR-Lab-Core v1.2.0版本开源主要内容如下:

  • 选择性认证披露SCD核心算法,支持多种断言证明的高效稳定实现;
  • SCD场景式解决方案的一个交互式样例,实现以下主要功能:
    • 选择性披露证书颁发
    • 零知识断言披露证明
    • 零知识断言披露验证
    • 选择性属性明文披露和验证
  • Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;
  • FFI接口,支持交叉编译跨语言、跨平台所调用的FFI适配接口;
  • 其他基础工具代码。

WeDPR-Lab-Core v1.1.0版本开源主要内容如下:

提供更为丰富的密码学算法组件,具体包括:

  • 密码算法组件
    • 签名验证
    • 哈希算法
    • 公钥加解密ECIES
  • FFI接口,新增支持交叉编译、跨语言、跨平台所调用的FFI适配接口。

WeDPR-Lab-Core v1.0.0版本开源主要内容如下:

  • 公开可验证密文账本VCL的一个交互式样例,实现以下主要功能:
    • 密文金额发行
    • 密文金额四则运算关系验证
    • 密文金额范围验证
  • 三类零知识证明算法的高效稳定实现,包括
    • 密文加和关系证明
    • 密文乘积关系证明
    • 密文范围证明
  • Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;
  • FFI接口,支持交叉编译跨语言、跨平台所调用的FFI适配接口;
  • 其他基础工具代码。

我们期望能够通过代码开源的方式:

  • 有效降低使用隐私保护算法组件的技术门槛;
  • 减少业务系统集成隐私保护特性的开发成本;
  • 助力全行业伙伴安全、合规地开展数据业务。

欢迎社区伙伴参与WeDPR-Lab的共建,一起为可信开放数字新生态的构建打造坚实、可靠的技术底座。