libsnark教程 在这个库中,我们将使用创建一个简单的zkSNARK应用程序,这是一个用于zkSNARK证明的C ++库。 zkSNARKs使证明者可以简洁地说服任何验证者对给定语句的有效性,而无需透露除语句有效性以外的任何信息。 这项技术已经为诸如协议奠定了基础, 是一种为用户及其交易提供匿名的加密货币。 本教程将指导您安装libsnark ,设置开发环境以及构建简单的zkSNARK应用程序。 可以扩展该库以支持测试框架,性能分析基础结构等。 目录 介绍 Shafi Goldwasser,Silvio Micali和Charles Rackoff首次引入了零知识证明。 零知识证明可以使一方(证明方)说服另一方(检验方)给定的陈述是真实的,而不会透露陈述本身的有效性以外的任何信息。 zkSNARK是零知识证明的一种变体,它使证明者可以简洁地说服任何验证者给定语句的有效性,并实现计算零
2022-02-10 11:39:25 9KB C++
1
libsnark 是实现了 zkSNARK 模式的 C 库。zkSNARK 是一个证明/验证计算完整性的加密方法。 标签:libsnark
2022-02-02 15:56:57 609KB 开源项目
1
ZKP ZKP是一种实用的零知识证明系统,可提供任意计算的小型且计算效率高的零知识证明。 该系统使我们能够以廉价,快速的验证时间构造简洁的非交互式证明。 下图描述了证明生成系统的拓扑。 编译阶段 程序建设 受信任的设置 证明生成 证明验证 程序建设 程序构建是由其他库开发的,这些库发出标准的JSON协议,该协议描述了门的功能组成,这些门计算加法,乘法和带线运算。 该库可以简单地使用任何其他编译器或库来发出JSON作为其交换格式。 包提供了电路构造语言的参考库。 受信任的设置 可以从命令行运行受信任的设置。 这将生成为特定电路设置所需的一次参数。 设置参数可以随后销毁,也可以在Shamir秘密共享配置中分发。 Shamir共享允许一个n-of-m的设置,其中至少n个参与者必须组合其秘密部分以重建受信任的设置。 zkp setup --prover Groth16 --input
1
Snarkjs 这是zkSNARK方案的JavaScript和Pure Web Assembly实现。 它使用Groth16协议(仅3点和3对)。 该库包括执行受信任的设置多方仪式所需的所有工具:包括仪式的通用以及第二阶段电路特定的仪式。 任何zk-snark项目都可以从公共阶段1进行回合,开始其特定于电路的阶段2仪式。 该库中用于多方计算的格式与和使用的格式兼容。 该库使用由编译器生成的编译电路。 它既可以在 ,也可以直接在。 这是一个,因此可以使用或将其直接导入到更大的项目中。 低级加密直接在wasm执行,并使用工作线程并行化计算。 结果是一个高性能的库,其基准可与主机实现相媲美。 初赛 安装节点v14 首先,请确保您已安装最新版本的Node.js 尽管v12之后的任何版本都可以正常运行,但我们建议您安装v14或更高版本。 如果不确定安装的是哪个版本的Node,可以
2021-09-16 10:44:27 919KB JavaScript
1
零知识证明zkSNARK的相关知识整理,帮助理解零知识证明的原理
2021-06-11 18:08:04 4.05MB zkSNARK 零知识证明
1
密码学中的零知识证明zksnark技术入门知识,包含零知识证明中的一些数学知识,比如多项式问题转换、群概念等等。
2021-01-28 05:05:35 478KB zksnark
1