babySNARK:宝贝蛇(do do dodo dodo)

时间:2024-05-05 08:08:15
【文件属性】:

文件名称:babySNARK:宝贝蛇(do do dodo dodo)

文件大小:1.02MB

文件格式:ZIP

更新时间:2024-05-05 08:08:15

Python

宝贝蛇 NP的最简单的SNARK。 你知道的,对于孩子们! 这是用于NP的SNARK的独立开发。 它基于Danezis等人的 ,它们的表达能力足以对布尔电路进行编码。 该代码随附了有关定义和分析SNARK安全性的教程,重点是稳健性证明。 推荐用法 这仅用于教育目的。 与最先进的SNARK实现相比,它总体上效率不高,没有类型系统或任何程序分析来排除错误,并且不支持零知识功能。 但是,它确实演示了一些重要的SNARK设计概念和算法优化。 这是简洁的:证明是恒定大小的,并且验证它仅取决于语句的大小,而不取决于电路和见证人。 通过使用基于FFT的优化,它也实现了准线性开销。 因此,使用它来研究如何实现SNARK,并检查您对理解。作为一个项目,请考虑扩展此库以实现其他优化或协议变体。 这在原型开发和参考实现的开发中也可能有用。 组件 :平方跨度程序的简洁 :通过使用FFT优化对baby


【文件预览】:
babySNARK-master
----writeup()
--------refs.bib(3KB)
--------main.tex(34KB)
----babysnark_opt.py(9KB)
----tests()
--------test_circuit_sha256.py(2KB)
----circuit.py(11KB)
----util.py(212B)
----circuits()
--------xor.txt(23B)
--------sha256Final.txt(2.88MB)
--------eq_zero.txt(2KB)
----babysnark.py(9KB)
----babysnark_opt.ipynb(11KB)
----finitefield()
--------euclidean.py(889B)
--------modp.py(3KB)
--------__init__.py(0B)
--------polynomial.py(6KB)
--------finitefield.py(4KB)
--------numbertype.py(3KB)
----ssbls12.py(2KB)
----requirements.txt(33B)
----.gitignore(2KB)
----babysnark.ipynb(13KB)
----polynomial_evalrep.py(12KB)
----README.md(3KB)
----babysnark.pdf(313KB)
----polynomial_evalrep.ipynb(15KB)

网友评论