首页 > 业绩展示
R1CS导入导出:亚博APP

2021-06-28 

本文摘要:玩游戏过zkSNARK的小伙伴都告诉,网卓新闻网,R1CS是目前叙述电路的一种语言。

亚博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)输出。

亚博APP

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更进一步,获取了多种框架下的电路的切换。


本文关键词:亚博下注,亚博下注网,亚博APP

本文来源:亚博下注-www.khargosh.net

  • 首页| 关于我们| 新闻中心| 产品中心| 业绩展示| 联系我们|
  • Add:黑龙江省双鸭山市腾冲市计明大楼66号

    Tel:068-253370272

    黑ICP备60007553号-9 | Copyright © 亚博下注 - 亚博下注网 Rights Reserved