• Stars
    star
    168
  • Rank 225,507 (Top 5 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created about 4 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Core libraries of WeDPR instant scenario-focused solutions for privacy-inspired business; WeDPR即时可用场景式隐私保护高效解决方案核心算法组件

项目背景

WeDPR

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

WeDPR具备以下特色和优势:

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

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

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的共建,一起为可信开放数字新生态的构建打造坚实、可靠的技术底座。

安装

安装Rust环境

安装nightly版本的Rust开发环境,可参考Rust官方文档

下载WeDPR-Lab源代码

使用git命令行工具,执行如下命令。

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

接口文档

生成并查看Rust SDK接口文档

在本项目的根目录(即WeDPR-Lab-Core目录)中,运行如下命令。

cargo doc --no-deps

以上命令将根据代码中的注释,在target/doc子目录中,生成的SDK接口文档。

进入target/doc文档目录后,会看到所有SDK相关的包名(包含WeDPR-Lab和其他依赖包),进入其中任意一个包名的目录,用网页浏览器打开其中的index.html文件,便可查看WeDPR-Lab相关的接口说明。

其他相关文档

项目贡献

More Repositories

1

WeIdentity

基于区块链的符合W3C DID和Verifiable Credential规范的分布式身份解决方案
Java
1,123
star
2

WeEvent

Event-Driven Architecture Based on Blockchain.基于区块链的事件驱动架构
Java
638
star
3

WeBASE

WeBank Blockchain Application Software Extension
Java
487
star
4

SmartDev-Contract

Solidity智能合约库,包含了基础类型到上层业务的一系列智能合约库代码,便于开发者借鉴、引入和复用。
Solidity
397
star
5

WeCross

WeCross跨链路由
Java
205
star
6

Truora-Service

Java
66
star
7

WeBASE-Front

WeBASE-Front是和FISCO BCOS节点配合使用的一个子系统,需要和节点统计部署,目前支持FISCO BCOS 2.0以上版本,可通过HTTP请求和节点进行通信,集成了web3sdk(java-sdk),对接口进行了封装和抽象,具备可视化控制台,可以在控制台上查看交易和区块详情,开发智能合约,管理私钥,并对节点健康度进行监控和统计。
Java
66
star
8

WeIdentity-Contract

The solidity smart contract of WeIdentity, including DID, CPT, Authority and Specific Issuers.
Solidity
53
star
9

WeBASE-Web

区块链中间件平台WeBASE管理平台
Vue
49
star
10

liquid

Liquid 由微众银行区块链团队开发并完全开源,是一种嵌入式领域特定语言( embedded Domain Specific Language,eDSL),能够用来编写运行于区块链底层平台FISCO BCOS的智能合约。
Rust
43
star
11

Data-Export

Data-Export支持将链上数据导出到MySQL、ES等便于进行大数据处理的存储介质中,解决区块链数据复杂查询、分析、可视化和处理的问题。
Java
43
star
12

Governance-Key

提供私钥生成、存储、加解密、加签、验签等私钥全生命周期管理的通用解决方案。
Java
42
star
13

WeBASE-Node-Manager

WeBASE-Node-Manager处理前端页面所有web请求,管理各个节点的状态,管理链上所有智能合约,对区块链的数据进行统计、分析,对异常交易的审计,私钥管理等。
Java
41
star
14

WeBASE-Codegen-Monkey

目前本项目处于维护模式,新特性和新功能请移步:https://github.com/WeBankBlockchain/Data-Export
Java
34
star
15

SmartDev-Scaffold

应用开发脚手架,可基于智能合约文件,一键生成区块链应用的代码
Java
33
star
16

WeDPR-Lab-Crypto

Cryptography libraries of WeDPR instant scenario-focused solutions for privacy-inspired business; WeDPR即时可用场景式隐私保护高效解决方案密码学算法组件
Rust
32
star
17

Data-Stash

Data-Stash是基于FISCO-BCOS的数据仓库组件,通过解析节点的binlog日志,生成该节点状态的全量备份,从而使节点能够实现冷热数据分离和数据裁剪。
Java
31
star
18

Data-Reconcile

Data-Reconcile是一款基于区块链的对账组件,提供基于区块链智能合约账本的通用化数据对账解决方案,并提供了一套可动态扩展的对账框架,支持定制化开发。
Java
30
star
19

WeBASE-Doc

Document of WeBASE
Python
27
star
20

Governance-Account

基于智能合约开发,提供区块链用户账户注册、私钥重置、冻结、解冻等账户全生命周期管理,支持管理员、阈值投票、多签制等多种治理策略。
Java
27
star
21

WeBASE-Collect-Bee

目前本项目处于维护模式,新特性和新功能请移步:https://github.com/WeBankBlockchain/Data-Export
Java
27
star
22

Truora-Web

JavaScript
20
star
23

WeDPR-Lab-Java-SDK

Java SDK of WeDPR-Lab-Core; WeDPR即时可用场景式隐私保护高效解决方案核心算法组件通用Java SDK
Java
20
star
24

Governance-Cert

提供了证书生命周期管理的解决方案,规范证书签发流程,支持证书托管,支持多种签名算法,方便个人或企业使用。
Java
20
star
25

WeBASE-Sign

Java
20
star
26

WeCross-Fabric1-Stub

Hyperledger Fabric跨链适配器
Java
20
star
27

WeIdentity-Rest-Service

RESTful HTTP Service for WeIdentity Integration
Java
17
star
28

Truora

Shell
17
star
29

WeBASE-Transaction

Java
16
star
30

WeIdentity-Sample

Java
16
star
31

WeDPR-Lab-Doc

WeDPR-Lab documentation; WeDPR即时可用场景式隐私保护高效解决方案文档
Python
16
star
32

OpenLedger

控制权与所有权一致的企业级分布式账本
Java
15
star
33

WeDPR-Lab-Android-SDK

Android SDK of WeDPR-Lab-Core; WeDPR即时可用场景式隐私保护高效解决方案核心算法组件Android SDK
15
star
34

WeBASE-Chain-Manager

WeBASE-Chain-Manager
Java
14
star
35

SmartDev-SCGP

智能合约Gradle编译插件
Java
14
star
36

Data-Doc

WeBankBlockchain-Data数据治理通用组件文档
Python
13
star
37

WeCross-BCOS2-Stub

FISCO BCOS跨链适配器
Java
13
star
38

WeDPR-Lab-iOS-SDK

iOS SDK of WeDPR-Lab-Core; WeDPR即时可用场景式隐私保护高效解决方案核心算法组件iOS SDK
13
star
39

WeCross-Java-SDK

Java SDK for WeCross
Java
12
star
40

WeEvent-docs

WeEvent's documents
12
star
41

WeBASE-Docker

WeBASE-Docker
Shell
11
star
42

WeCross-Console

Console for WeCross
Java
11
star
43

WeCross-WebApp

WeCross网页管理台
Vue
11
star
44

WeIdentity-Build-Tools

Java
11
star
45

WeCross-Fabric2-Stub

WeCross-Fabric2-Stub
Java
10
star
46

WeBASE-Evidence-Sample

Java
10
star
47

Governance-Authority

基于智能合约,提供区块链账户、合约、函数等粒度的权限控制的功能的通用组件。
Java
10
star
48

WeCross-Doc

Document of WeCross https://wecross.readthedocs.io/zh_CN/latest/
Python
9
star
49

WeCross-Account-Manager

WeCross跨链账户服务
Java
8
star
50

WeIdentity-Doc

Documentations of WeIdentity
HTML
8
star
51

Truora-Doc

Python
7
star
52

WeBASE-Data

Java
7
star
53

WeBASE-APP-SDK

Java
6
star
54

DDCMS

6
star
55

FISCO-BCOS-DevOps-Docs

Python
6
star
56

WeIdentity-Go-Lite-Client

Go
5
star
57

WeBASE-Solidity-Security

Java
5
star
58

hsm-crypto

C++
4
star
59

WeBASE-Event-Client

Java
4
star
60

IcyChecker

Java
4
star
61

WeCross-Go-SDK

The Golang SDK for WeCross
3
star
62

SmartDev-Doc

区块链应用开发组件文档
Python
3
star
63

WeBASE-Stat

Java
3
star
64

WeIdentity-Extension

JavaScript
3
star
65

WeCross-ChainMaker-Stub

ChainMaker跨链适配器
3
star
66

WeBASELargeFiles

Store large files for WeBASE
3
star
67

Crypto-Java-Lib

Java
2
star
68

WeIdentity-Kit

Java
2
star
69

WeIdentity-Blockchain

Java
2
star
70

WeCross-BCOS3-Stub

FISCO BCOS 3.0跨链适配器
Java
2
star
71

DDCMS-Service

Java
2
star
72

WeEvent-Sample

Java
2
star
73

WeBASE-IDE

2
star
74

WeBASE-Web-Mobile

Vue
2
star
75

All-Projects

1
star
76

WeDPR-Ppc-Web-Content

1
star
77

Data-Link

Java
1
star
78

cargo-liquid

Rust
1
star
79

WeBASE-SX-Demo

HTML
1
star
80

Community-Activities

Java
1
star
81

DDCMS-Front

JavaScript
1
star
82

DDCMS-Contract

Solidity
1
star
83

liquid-doc

Python
1
star
84

WeCross-Web3-Stub

1
star