http://www.7klian.com

零常识证明 之 ethsnarks源代码导读

test - 以上两个成果的测试代码,回收python语言实现。

Author: Wanseob Lim <email@wanseob.com>





Date: Fri Aug 16 01:49:19 2019 +0900


contracts - 实现了groth16的验证智能合约(Verifier.sol),椭圆曲线的计较,MerkleTree以及MiMC Hash计较的智能合约。这些智能合约可以通过truffle举办陈设测试。陈设相关的剧本在migrations目次下。
ethsnarks在libsnark的基本上,实现了以太坊上与zkSNARK相关的智能合约和电路。ethsnarks自己也是libsnark应用很好的进修示例。


最近看知乎,发明知乎上有些文章真的醍醐灌顶。印象较量深的是,文因互联CEO 鲍捷的一篇文章:最快的生长方法就是逐步来。创业最要害的本领,就是“不被卡住”的本领。这才是“摸索力”的基础,是创业“执行力”的焦点。

src目次下的源代码布局如下:
Add Fr field class to the field.py





“不被卡住”,需要把握好“任务解析,快速迭代”的要领论,需要成立“交付”的立场(每个时期竣事都有可交付的状态),需要“勤于相同”, 需要”不顽强己见“,更需要”不绝复盘“。”不被卡住“,尚有个要留意的是,,有几多资本打几多仗,不要总想着打大仗,要学会从小仗逐步打。



ethsnarks - python实现的相关成果,包罗pedersen/mimc/poseidon等hash函数,groth16验证,以及椭圆曲线的计较。


2. gadget实现

1. 源代码布局

许多人都熟悉让别人奉告一个明晰的方针,然后清晰的执行。可是,创业是一种摸索,没有人会汇报你这样的明晰的方针。摸索,是一种反人性的勾当。大大都人会对摸索害怕,惊骇,抵触,茫然。

src - 基于libsnark的gadget1库实现的更多的gadget。本文着重先容这些gadget的实现。
本文中利用的ethsnarks源代码的最后一个commit如下:




ethsnarks的源代码地点:



depends - 依赖库,包罗libsnark,libfqfft等等。



commit 9adc64355adb9154ba5042c0fadf84c438b8a08a


https://github.com/HarryR/ethsnarks.git

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。