零知识证明开发工具集

简介:

零知识证明是区块链开发者值得关注的密码学技术,本文整理了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个主流零知识证明开发库 — 汇智网

目录
相关文章
|
算法
文档管理软件中的冰桶算法简介与应用探讨
冰桶算法在文档管理软件中的作用主要是用于控制用户的访问频率和流量,以保证网络的稳定性和安全性。具体来说,它可以通过限制用户的访问速度、设置访问时间段、限制访问次数等方式,来防止用户对网络资源的过度消耗和滥用,从而提高网络的可用性和效率。
137 0
|
4月前
|
开发工具 存储 开发者
Xamarin 与 Azure 竟然无缝集成,数据存储、身份验证、人工智能全涵盖,开启移动应用开发新境界!
【8月更文挑战第31天】Xamarin 是一款强大的跨平台移动应用开发工具,支持使用 C# 同时为 iOS、Android 和 Windows 开发应用。结合 Azure 云服务平台,Xamarin 能够提供数据存储、身份验证及人工智能等多种服务。示例代码展示了如何在 Xamarin.Forms 中使用 Entity Framework Core 连接 Azure SQL Database,并利用 Azure Active Directory 实现安全认证。这种集成让开发者能够构建出高效且功能丰富的移动应用。
35 0
|
7月前
|
监控 Devops jenkins
流行的软件质量保证体系工具
流行的软件质量保证体系工具
160 0
|
监控 算法 调度
最佳实践:时间片轮转算法在文档管理软件中的高效运用
大家知道那个时间片轮转算法吗?它是操作系统中的一种超级常见的调度法,它的目标是要公平地分配资源,避免咱们等个半天。如果你想在咱们的文档管理软件上使用这个算法来提升点儿效率,可以按照下面的玩法来操作——
152 0
|
供应链 安全 区块链
DAPP矩阵公排合约互助系统开发模式|DAPP互助系统开发指南
智能合约的工作原理基于区块链的去中心化特性
|
API 区块链 Python
  Avalanche公链dapp项目开发特性分析
Avalanche 是一种开放的区块链协议,它旨在实现高度可扩展、高性能和去中心化的应用程序。Avalanche 具有自己的公链,也被称为 Avalanche 公链。
|
安全 区块链 数据安全/隐私保护
佛萨奇智能合约系统开发2.0搭建技术
能钱包可以实现账户恢复(Argent,MYKEY)、交易金额限制(Argent,Monolith)、批量交易合并(MYKEY多target)等多种特性,切实帮助用户解决问题
佛萨奇智能合约系统开发2.0搭建技术
|
存储 区块链
佛萨奇2.0马蹄莲智能合约开发原理丨MetaForce佛萨奇2.0马蹄莲智能合约DAPP系统开发成熟案例及源码部署
目前,DApp通常是指在以太坊或EOS上基于智能合约开发的相关应用。DAPP是Decentralized Application的缩写,即去中心化应用,也有人称为分布式应用。它被认为开启了区块链3.0时代。DAPP就是在底层区块链平台衍生的各种分布式应用,是区块链世界中的服务提供形式。
佛萨奇2.0马蹄莲智能合约开发原理丨MetaForce佛萨奇2.0马蹄莲智能合约DAPP系统开发成熟案例及源码部署
|
存储 数据处理 区块链
佛萨奇马蹄莲开发现成版丨MetaForce佛萨奇马蹄莲dapp系统开发(开发案例及源码)
智能合约是在区块链上运行的计算机代码,其中包含一组规则,在该规则下该智能合约的各方同意彼此进行交互。如果满足预定义规则,协议将自动执行。 智能合约代码促进、验证并强制协商或履行协议或交易。这是分布式自动化的最简单形式。 它是一种涉及数字资产和两方或多方的机制,其中部分或所有参与者将资产存入智能合约,并根据某些数据自动在这些参与者之间重新分配资产,在合约开始时,这些数据是未知的。
佛萨奇马蹄莲开发现成版丨MetaForce佛萨奇马蹄莲dapp系统开发(开发案例及源码)
|
NoSQL 应用服务中间件 测试技术
佛萨奇2.0系统开发模式方案丨佛萨奇开发系统流程源码搭建
关于佛萨奇2.0系统开发版,MetaForce原力佛萨奇系统开发技术流程代码搭建
118 0