零知识证明开发工具集

简介:

零知识证明是区块链开发者值得关注的密码学技术,本文整理了11个主流的零知识证明开发库,希望有助于你在自己的项目中学习并利用零知识证明技术。

用自己熟悉的语言学习以太坊DApp开发:Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart

1、libsnark

libsnark是SCIPR Lab开发的zkSNARK方案实现,开发语言为C++,应用于zcash等多个项目。

libsnark主要包括三部分:通用证据系统、基础电路库和应用示例。

libsnark下载地址:https://github.com/scipr-lab/libsnark

3、ZoKrates

ZoKrates是一个用于以太坊零知识证明应用开发的zkSNARK工具箱,利用ZokRates提供的插件,你可以直接在Remix 中开发零知识证明应用。

ZoKrates的开发语言主要为Rust。

ZoKrates下载地址:https://github.com/Zokrates/ZoKrates

3、snarkjs

snarkjs是zkSARNK方案的javascript实现库,支持原始的8points协议和 Groth协议。利用snarkjs你可以进行可信设置、生成证据并验证证据。

snarkjs使用iden3自己的circom编译器对DSL定义的电路进行编译。

snarkjs下载地址:https://github.com/iden3/snarkjs

4、circom

circom是iden3设计的zk-snark电路描述DSL,circom npm包含了使用该DSL描述的电路的编译器。

circom下载地址:https://github.com/iden3/circom

5、wasmsnark

wasmsnark是一个采用原生Web Assembly开发的快速的zkSnark证据生成和验证工具,其速度可媲美libsnark,可以用于在浏览器中生成zkSnark证据并进行验证。

wasmsnark也是iden3出品,目前仅支持groth16。

wasmsnark下载地址:https://github.com/iden3/wasmsnark

6、gnark

gnark是consenSys开发的一个zkSARNK实现,采用Go语言,使用类似GO的DSL描述电路。目前支持groth16。

https://github.com/ConsenSys/gnark

7、go-snark

go-snark是一个采用go语言实现的zkSNARK开发库,目前支持Groth16协议和Pinocchio协议。

go-snark下载地址:https://github.com/arnaucube/go-snark

8、xJsnark

xJsnark是开发zk-SNARK电路的高层框架,其目标是填补高级语言开发与性能之间的鸿沟。xJsnark提供一组可以让开发者在较高层级编写zk-SNARK电路的特性,同时也提供了削减所生成的电路成本的技术,从而使采用框架开发的电路性能接近手工开发的电路性能。

xJsnark采用Java开发,包含前端用于电路设计的Jetbrains扩展和后端的电路生成单元。

xjsnark下载地址:https://github.com/akosba/xjsnark

9、bellman

bellman是一个用于开发zk-SNARK电路的Rust库,它提供电路接口、基础结构以及一些基本电路实现,例如布尔和数值抽象。

bellman下载地址:https://github.com/zkcrypto/bellman

10、zksnark-rs

zksnark-rs是一个用于创建和利用零知识证据的Rust库,提供了基础的电路描述语言,目前支持Groth16。

zksnark-rs下载地址:https://github.com/republicprotocol/zksnark-rs

11、Pysnark

pysnark是Python开发的zk-snark方案实现,支持Pinocchio协议,支持生成用于以太坊的智能合约用于验证零知识证据。

pysnark下载地址:https://github.com/Charterhouse/pysnark


原文链接:11个主流零知识证明开发库 — 汇智网

目录
相关文章
|
1月前
|
前端开发 开发工具 Android开发
移动应用开发的未来:跨平台工具与原生系统协同进化
随着移动互联网的蓬勃发展,移动应用已成为日常生活不可或缺的组成部分。本文深入探讨了移动应用开发领域的最新趋势,特别是跨平台开发工具的兴起以及它们如何与原生操作系统相互促进、共同发展。文章首先概述了移动应用开发的历史,然后详细分析了当前跨平台工具如Flutter、React Native等的优势和挑战,并探讨了这些工具对移动操作系统生态的潜在影响。最后,文章预测了未来移动应用开发可能的发展方向,以及开发者和企业在面对不断变化的技术环境时所需采取的策略。
26 8
|
3月前
构建安全可靠的系统:第十六章到第二十章
构建安全可靠的系统:第十六章到第二十章
132 0
|
6月前
|
算法 测试技术 数据安全/隐私保护
规则引擎算法的魅力:文档管理软件的灵活性与可扩展性
数字时代已经来了,文档管理软件已经成了企业和组织的宠儿。它们不仅能够帮你打理一大堆文档和信息,还能让你的工作效率飙升,减少犯错的机会,而且信息查找和分享也变得飞快。但是,随着各种各样的需求一直在不停地增长和变化,这些软件也要不停地充电升级,以满足用户们的新愿望。规则引擎算法在这方面可是大有作为,尤其是在让软件更灵活、更能扩展方面,它功不可没。接下来就让我们来看看规则引擎算法在文档管理软件中有哪些作用——
183 1
|
3月前
构建安全可靠的系统:第十一章到第十五章
构建安全可靠的系统:第十一章到第十五章
172 0
|
2月前
|
监控 Devops jenkins
流行的软件质量保证体系工具
流行的软件质量保证体系工具
|
3月前
|
Web App开发 安全 前端开发
构建安全可靠的系统:第二十一章到附录 A
构建安全可靠的系统:第二十一章到附录 A
47 0
|
8月前
|
监控 算法 调度
最佳实践:时间片轮转算法在文档管理软件中的高效运用
大家知道那个时间片轮转算法吗?它是操作系统中的一种超级常见的调度法,它的目标是要公平地分配资源,避免咱们等个半天。如果你想在咱们的文档管理软件上使用这个算法来提升点儿效率,可以按照下面的玩法来操作——
109 0
|
10月前
|
API 区块链 Python
  Avalanche公链dapp项目开发特性分析
Avalanche 是一种开放的区块链协议,它旨在实现高度可扩展、高性能和去中心化的应用程序。Avalanche 具有自己的公链,也被称为 Avalanche 公链。
|
存储 JSON JavaScript
链游项目系统开发技术功能丨链游DAPP合约系统模式开发方案
链游项目系统开发技术功能丨链游DAPP合约系统模式开发方案
129 0
|
安全 区块链
智能合约DAPP项目系统开发技术介绍方案(成熟理念)技术讲解
智能合约DAPP项目系统开发技术介绍方案(成熟理念)技术讲解