当前位置:主页 > 技术文章 >

技术文章

Technical articles

R1CS导入导出

时间:2021-02-25 00:16 点击次数:
  本文摘要:玩游戏过zkSNARK的小伙伴都告诉,网卓新闻网,R1CS是目前叙述电路的一种语言。目前构建zkSNARK电路的框架有libsnark(C++),bellman (Rust),ZoKrates(DSL),Circom(js)等等。有的时候,必须将一个框架中分解的电路,引入其他框架。 网络上研究了一下,找到两个有意思的项目。1. J-R1CSJ-R1CS明确提出了一个给定RICS的格式标准。用一个json文件阐释一个电路必须的所有信息。

亚博app买球安全

玩游戏过zkSNARK的小伙伴都告诉,网卓新闻网,R1CS是目前叙述电路的一种语言。目前构建zkSNARK电路的框架有libsnark(C++),bellman (Rust),ZoKrates(DSL),Circom(js)等等。有的时候,必须将一个框架中分解的电路,引入其他框架。

网络上研究了一下,找到两个有意思的项目。1. J-R1CSJ-R1CS明确提出了一个给定RICS的格式标准。用一个json文件阐释一个电路必须的所有信息。

https://www.sikoba.com/docs/SKOR_GD_R1CS_Format.pdf一个电路的R1CS主要由三部分构成:1)电路的属性叙述{"r1cs":{ "version":"1.0", "field_characteristic":"133581199851807797997178235848527563401", "extension_degree":1, "instances":3, "witnesses":5, "constraints":2000, "optimized":true} }叙述了J-R1CS的版本,椭圆曲线的属性,电路的公开发表/隐私输出的个数以及R1CS的约束个数。2)输出叙述{ "inputs":["0","1","0","1","3","8", ...], "witnesses": ["1","1",,"243202698575991946913848952725080 8343172040488935114927077578242952867610624", ...]}输出分为两种,一种是公开发表(public input)输出,一种是隐私(private input)输出。inputs代表公开发表输出,witnesses代表隐私输出。

3)约束叙述{{ "A": [[0,"2"],[-1,"6"],[5,"4"],....], "B": [[0,"5"],[-6,"3"],[3,"4"],....], "C": [[0,"3"],[-1,"2"],[-2,"7"],[3,"4"],[4,"1"]...] }}一个约束由A/B/C三个数组构成。每个数组中的元素是一个二元组:输出的index以及输出的系数。输出的index是负数的话,代表的是公开发表输出;输出的index是整数的话,代表的是隐私输出。

2. zkInterfacezkInterface更进一步,获取了多种框架下的电路的切换。zkInterface作为“中间”模块,可以将"Frontend"的电路格式,给定到"Backend"的证明框架中。

https://github.com/QED-it/zkinterface目前,zkInterface早已构建了如下的引入给定能力:总结:目前有一些零科学知识证明证明的框架,框架中的电路都由R1CS叙述电路。J-R1CS明确提出了一种R1CS电路给定的格式。

zkInterface更进一步,获取了多种框架下的电路的切换。


本文关键词:R1CS,导入,导出,玩游戏,过,zkSNARK,的,小伙伴,都,亚博app买球安全

本文来源:亚博app买球安全-www.indexorange.com

Copyright © 2005-2020 www.indexorange.com. 亚博app买球安全科技 版权所有 备案号:ICP备39671786号-7

在线客服 联系方式 二维码

服务热线

0627-42316031

扫一扫,关注我们