本文摘要:zk_proof_systems-Groth16证明了系统profiler-性能测试逻辑非常了解libsnark合作伙伴,应该很容易熟悉这些术语。distributedsetupdistributedsetup构建了分散的setup逻辑:main/Java/ZK_Proof_systems/ZKsnark/distributedsetup。

分布式

对DIZK感兴趣的合作伙伴很少修改DIZK的源代码: https://github.com/scipr-lab/dizkdizk, 网络新闻网络最后的patch也是2018年底: commit 81 d 72 a 3406 e 2500561551 CBF 4d 651 f 230146 BB 92 Merge : e 98 DD 9C 7a FD0be Author 3360 Howard Wu [ EMAA date : wed dec 12113360173360572018-0800 mergepullrequest #6from gnosis/profiler _ error #5- throwerrorwheet源代码的结构是algebra – bace – batch证明的关联构建。relations -电路响应: r1cs和QAP。reductions -构建从r1cs到QAP的转换。

zk_proof_systems – Groth16证明了系统profiler -性能测试逻辑非常了解libsnark合作伙伴,应该很容易熟悉这些术语。2.distributedsetupdistributedsetup构建了分散的setup逻辑: main/Java/ZK _ Proof _ systems/ZK snark/distributed setup。publicstaticfieldtextendsabstractfieldelementexpandedfieldt,G1T extends AbstractG1G1T,G2T extends AbstractG2G2T, G2T extends abstract g2G2T pairingtextendsabstractpairingg 1t,g2t,GTTCRSFieldT,g1t,g2t,generate (final R1 csrelationrdfieldtr1cn final G2T g2Factory,final PairingT pairing,Finalconfigurationconfig ) { 2.1 QAP到FinalQaPrelationrer QAP在QAPRelationRDD类中响应。

2.2计算deltaabc/gammaabcfinaljavapairddlong,Fieldtbetaat=QAP.AT ().MAP values final JavaPairRDDLong,Fieldtabc=Beta AT.union (ALPHA BT ).Union (QAP.CT fieldtgammaabc=ABC.Filter (e-e._1num inputs ).MAP values e._2.isZero()).count (); finallongnumnonzerobt=qap.Bt ().filter (e -! e._2.isZero()).count (); 2.4 fixed MSM (G1/G2 ) Final G1 TGeneratorg1=G1 Factory.Random finallongscalarcountg1=numnonzeroatnumnonzerobtnumvariables; finalintwindowsizeg1=fixedbasemsm.get windowsize (scalarcountg1/num partitions,generator G1 ) finallistlistg1twindowtableg1=finallistlistg 1 以上是G1的MSM计算(类似G2 ),关注windowSizeG1,所有“非零”系数的个数除以Partition的个数。2.5分解CRS (PK/VK ) Final Proving Keyrdfieldt,G1T,G2 TProving Keyrdd (ALPHA G1,betaG1,BeTA G1 ) Final verification gttverificationkey=newverificationkey (ALPHA G1 betag 2,gammaG2,deltaG2,uvmag2)注意: Pk用于DD (预配keyrdd )响应。3.distributedproverdistributedprover构建了分散的prover逻辑: main/Java/ZK _ Proof _ systems/ZK snark/distri buttes。

publicstaticfieldtextendsabstractfieldelementexpandedfieldt,G1T extendsAbstractG1G1T,G2 textendsabstractg 2g2tproofg 1t, G2T prove(3.1分解witnessfinalqapwitnessrdfieldtqapwitness=R1 cstoqaprdd.R1 cstoqapwitness (proving key.r1cs () qapwitnessrdd是main
3.2随机数finalfieldtr=fieldfactory.random (config.seed (),config.secureSeed () ); finalfieldts=fieldfactory.random (config.seed (),config.secureSeed () ); 3.3计算evaluationfinaljavardtuple2fieldt,G1 tcomputationa=.join (proving key.querya (),numpartitions ) )。根据final G1 tEvaluationat=variablebasemsm.distributed MSM (computation a ) variablebasemsm计算A/B/deltaABC和h的evaluation。3.4分解证明//a=alphasum _ I (a _ I * a _ I (t ) ) r * deltafinalg1ta=alpha G1.add (evalua TT )//b=betasum _ I (a G2B=NewtuPle2(Beta G1 )//c=SUM _ I * ((Bet A * A _ I 在scripts目录中也获得了Spark运行的脚本。

轮廓、DIZK是用于在Amazon的EC2设备上展开测试的。/spark-ec2/copy-dir/home/ec2-user/export Java _ home=’ doexportapp=dizk-largeexportmemory=16 gexportmultiplier=2export cores=1export num _ executors=$ () export num _ partitions=$ ((TT spark/bin/spark-submit .– class ‘ Profiler.Profiler ‘/home 总结: DIZK是Spark大数据计算框架下的分布式零科学知识证明系统。DIZK的代码很清楚,评论也是原创的。

分布式设置和分布式检测器是Setup和检测器的构建。DIZK获得了原始Profiling的代码。

本文关键词:亚博app下载安装,计算,分散,检测器

本文来源:亚博app下载安装-www.aepl.cn

相关文章