y蛇 最近的新闻: 2020年3月11日:更新到最新的snarkjs (这是对PySNARK原始版本的重写,仍可。) PySNARK允许您直接在Python 3中编程zk-SNARK(又名可验证计算)。例如,以下代码运行SNARK程序以计算数字的立方,生成键材料,生成证明并验证它: import sys from pysnark.runtime import snark @snark def cube(x): return x*x*x print("The cube of", sys.argv[1], "is", cube(int(sys.argv[1]))) PySNARK可以使用或作为后端。 对于使用pysnark提供的PubVal数据类型(或使用@snark装饰器)执行的任何计算,该库都会跟踪该计算的Rank-1约束系统。 计算完成后,将生成(或重复使用)用于计算的关
2023-04-21 11:56:29 99KB smart-contracts python3 zero-knowledge zk-snarks
1
该源代码对应本人博文《zk-SNARKs实战:使用circom和snarkjs实现简单版的Tornado(含源码)》,如要看该文章,可直接在百度中根据题目搜索
2022-04-12 14:07:34 9.63MB tornado 百度 python 零知识证明
1
我们构建了一个系统,为冯·诺依曼RISC体系结构上的程序执行提供简洁的非交互式零知识证明(zk SNARKs)。该系统由两部分组成:一个用于验证算术电路可满足性的密码验证系统,以及一个用于将程序执行转换为此类电路的电路生成器。与之前的工作相比,我们对这两个组件的设计在功能和效率方面都有所提高,如下所示。我们的电路生成器是第一个通用的:它不需要知道程序,只需要知道它的运行时间。此外,输出电路的大小取决于程序大小(而不是乘法),从而允许验证较大的程序。加密证明系统通过利用新算法和根据协议定制的配对库,提高了证明和验证时间。我们对我们的系统进行了评估,以获得多达10000条指令的程序,运行多达32000个机器步骤,每个步骤都可以任意访问随机存取存储器;并演示了如何执行使用即时编译的程序。我们的证明在80位安全性时长230字节,在128位安全性时长288字节。不管原始程序的运行时间如何,典型的验证时间为5毫秒。
2022-04-06 03:14:20 507KB 零知识证明 区块链
1
ZKP ZKP是一种实用的零知识证明系统,可提供任意计算的小型且计算效率高的零知识证明。 该系统使我们能够以廉价,快速的验证时间构造简洁的非交互式证明。 下图描述了证明生成系统的拓扑。 编译阶段 程序建设 受信任的设置 证明生成 证明验证 程序建设 程序构建是由其他库开发的,这些库发出标准的JSON协议,该协议描述了门的功能组成,这些门计算加法,乘法和带线运算。 该库可以简单地使用任何其他编译器或库来发出JSON作为其交换格式。 包提供了电路构造语言的参考库。 受信任的设置 可以从命令行运行受信任的设置。 这将生成为特定电路设置所需的一次参数。 设置参数可以随后销毁,也可以在Shamir秘密共享配置中分发。 Shamir共享允许一个n-of-m的设置,其中至少n个参与者必须组合其秘密部分以重建受信任的设置。 zkp setup --prover Groth16 --input
1
zk-SNARK是一个快速发展的领域,仅在过去的两个月里,就宣布了数个突破性的zk-SNARK构建。曾经必须的可信设置现在已经是冗余的了,这意味着可以使用任何计算。然而关于这些新的zk-SNARK构建的资料很难找到。在这片文章中,我将比较这些新出现的zk-SNARK构建,并在以后不定期更新。 像zk-SNARK这样的零知识证明有很多应用:Zcash利用零知识证明来保护隐私,Coda和Mir利用零知识证明将整个区块链压缩到只有几K字节,0x和Matter则利用零知识证明将许多交易封装为以太坊 上的单一证明。如果你还不了解零知识证明,可以看一下这里的解释。 相关链接:以太坊 | 比特币 | EOS
2021-09-19 16:33:23 289KB zk 通用 零知识证明
1