“optimized”:true
“witnesses”:5,
“A”: [[0,”2″],[-1,”6″],[5,”4″],….],
}
2. zkInterface
8343172040488935114927077578242952867610624″, …]一个约束由A/B/C三个数组构成。每个数组中的元素是一个二元组:输入的index以及输入的系数。输入的index是负数的话,代表的是果真输入;输入的index是整数的话,代表的是隐私输入。}
总结:
https://www.sikoba.com/docs/SKOR_GD_R1CS_Format.pdf
输入分成两种,一种是果真(public input)输入,一种是隐私(private input)输入。inputs代表果真输入,witnesses代表隐私输入。
玩过zkSNARK的小同伴都知道,R1CS是今朝描写电路的一种语言。今朝实现zkSNARK电路的框架有libsnark(C++),bellman (Rust),ZoKrates(DSL),Circom(js)等等。有的时候,需要将一个框架中生成的电路,导入其他框架。网络上研究了一下,发明两个有意思的项目。
} }
“witnesses”: [“1″,”1”,,”243202698575991946913848952725080
“r1cs”:{
今朝有一些零常识证明证明的框架,框架中的电路都由R1CS描写电路。J-R1CS提出了一种R1CS电路导出的名目。zkInterface更进一步,提供了多种框架下的电路的转换。
今朝,zkInterface已经实现了如下的导入导出本领: “inputs”:[“0″,”1″,”0″,”1″,”3″,”8”, …],
“C”: [[0,”3″],[-1,”2″],[-2,”7″],[3,”4″],[4,”1″]…]
https://github.com/QED-it/zkinterface
“instances”:3,
1. J-R1CS
{
“extension_degree”:1,
2)输入描写
{
“constraints”:2000,
一个电路的R1CS主要由三部门构成:
“B”: [[0,”5″],[-6,”3″],[3,”4″],….],
}
3)约束描写
描写了J-R1CS的版本,,椭圆曲线的属性,电路的果真/隐私输入的个数以及R1CS的约束个数。
{
{
“field_characteristic”:”133581199851807797997178235848527563401″,
J-R1CS提出了一个导出RICS的名目尺度。用一个json文件表述一个电路需要的所有信息。
zkInterface更进一步,提供了多种框架下的电路的转换。zkInterface作为“中间”接口,可以将”Frontend”的电路名目,导出到”Backend”的证明框架中。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。