zkPass协议的服务器端实现(附代码)

215 阅读1分钟

zkPass-节点

zkPass-Node是zkPass协议的服务器端实现,它执行多方安全计算,并可以通过贡献验证计算能力获得协议收益。

主要技术

多方计算

让用户有能力向第三方证明这些数据的来源。这个项目的具体实施,是基于:

  • ECtF:将EC(Fp)中的份额转换为Fp中的份额
  • GC:从一个固定密钥的区块密码方案BHKR13中有效地进行乱码。
  • OT:KOS15

零知识证明

本项目的具体实现是基于PLONK算法的。

项目结构

本项目的目录结构是这样的:

├── chain                  <- Read data and send transaction for chain 
│
├── connection             <- Manage the connections from clients
│
├── ectf                   <- ECtF implementation
│
├── gc                     <- Efficient garbling from a fixed-Key blockcipher
│   ├── circuit            <- All required circuits for GC
│   ├── evaluator          <- GC evaluator
│   └── garbler            <- GC garbler
│
├── keystore               <- Manage the connection keys
│
├── ot                     <- KOS15 Implementation
│
├── utils                  <- Utilities
│
├── zkp                    <- Verification of Zero knowledge Proof
│
├── node.go                <- Main Entry
├── .gitignore             <- List of files ignored by git
├── go.mod                 <- go mod
├── LICENSE
└── README.md

快速启动

# make sure go env is installed on the system.

贡献

有问题吗?发现了一个错误?缺少一个特定的功能?请随时提交一个新的问题、讨论或PR,并附上相应的标题和描述。

在提出问题之前,请确认:

  • 问题仍然存在于当前的main 分支上。
  • 你的go依赖项已经更新到最新版本。

我们随时欢迎你提出改进建议

许可证

zkPass-node库(即这个仓库中的所有代码)是根据GNU GENERAL PUBLIC LICENSE Version 3授权的,也包括在我们仓库的LICENSE文件中。