作为不需要可信设置的零知识证明算法代表之一,STARK算法被应用于StarkNet生态的各个项目中,比如dydx,immutableX等,并表现出了不俗的性能。本文将主要从代码层面剖析STARK算法的实现过程,帮助大家对STARK算法有更深入的理解。
Step1.Buildtrace
标红部分为Publicinfo
Step2.ProverforTrace
协议参数选取:
1.AIR实例化
2.验证AIR和Trace的一致性
2.1校验基础参数
2.2校验assertion有效(boundarycs)
币安灵魂绑定代币有效铸造量突破70万枚:金色财经报道,据Dune Analytics数据显示,币安灵魂绑定代币有效铸造量已突破70万枚,本文撰写时达到795,633枚,当前累计铸造总量达到790,128枚,其中撤回数量为84,495枚。[2023/5/1 14:36:14]
2.3校验Trace满足transitioncs
Transcript
3.Commitfortrace
域参数选取:
3.1Interpolate->LDE->evaluateoverLDE-domain
3.2Commitment
数据:Binance灵魂绑定代币BAB累计铸造总量突破48万枚:金色财经报道,据Dune Analytics最新数据显示,BNBChain灵魂绑定代币BAB累计铸造总量已突破48万枚,本文撰写时达到480,361枚,其中已撤销的代币数量为17,148枚,实际共计有效铸造463,213枚。
Binance此前表示,BAB将作为已完成KYC用户的身份证明,用户可以在BNBChain上铸造BAB Token作为身份凭证,并参与建设多个项目并获得奖励。[2022/11/1 12:02:11]
Tracescript
4.EvaluateCS
4.1获取线性组合系数
系数个数和约束的个数一致
在本例中,transitioncs2个;boundarycs3个
4.2为t-cs和b-cs构建evaluator
4.2.1t-cs
数据:Binance灵魂绑定Token BAB累计铸造总量突破30万枚:金色财经报道,据Dune Analytics最新数据显示,BNB Chain灵魂绑定Token BAB累计铸造总量已突破30万枚,本文撰写时为303,510枚,其中已撤销的Token数量为5,367枚,实际共计有效铸造298,143枚。按照Binance此前表示,BAB将作为已完成KYC用户的身份证明,用户可以在BNBChain上铸造BAB Token作为身份凭证,并参与建设多个项目并获得奖励。[2022/9/18 7:04:12]
4.2.2b-cs
4.3Evaluatet/s-csoverce_domain
4.3.1定义evaluatortable
5CommitmenttoEvaluateCS
5.1建立constraintscompositionpolynomial
5.2commitmenttocompositionpoly
数据:Binance灵魂绑定Token BAB已累计铸造139,446枚:9月12日消息,据Dune Analytics数据,BNBChain灵魂绑定Token BAB已累计铸造139,446枚,其中1955枚已撤销,实际共计有效铸造137,491枚。[2022/9/12 13:23:43]
Example:
Compose_poly=a*x^3+b*x^2+c*x+d=(a*x^2+c)*x^+(b*x^2+d)
(a*x^2+c),(b*x^2+d)分别对应两个column
6.建立DEEPcomposition多项式
Thegeneralformal:f(x)=q(x)*t(x)
Needcheckatrandomz
1.f(z)=q(z)*t(z)
2.f(x),q(x),t(x)indeedequalrespectivelyf(z),q(z),t(z)
3.calculateDeep_composition=(q(x)-q(z))/(x-z)
4.CheckLDTforq_q(x)
6.1selectzwhichoutofdomain(ood)
drawanout-of-domainpointz.DependingonthetypeofE,thepointisdrawneitherfromthebasefieldorfromanextensionfielddefinedbyE.
动态 | SingularityNET(AGI)与平安保险在AI方面达成合作意向:人工智能+区块链项目SingularityNET(AGI)发博客称,已与中国控股集团平安保险公司在AI方面达成合作意向,未来可能会在光学字符识别(OCR),交叉验证(CV)和模型培训等三方面进行合作。[2019/3/18]
Thepurposeofsamplingfromtheextensionfieldhere(insteadofthebasefield)istoincreasesecurity.
6.2evaluatetraceandconstraintpolynomialsattheOODpointz
6.2.1trace_polyatz&z*g
6.2.2compositionpolyatz
6.3建立Deepcompositonpolynomial
6.3.1产生随机数
6.3.2calquotientpoly
6.4evaluateDeepoverLDE
7.计算Deep的FRILayernum
8.确定query位置
从lde_domain中选取多个query的位置。
9.构建proof对象
9.1生成FRIproof
9.2querytracepolyatabovepositions
和上述类似
9.3queryconstraintpolyatabovepositions
和上述类似
9.4构建STARKPROOF
Step3.Verifyforproof
从?transcript中读取pub-info,用来获取相关的数据,以执行验证过程。
1.Oodconsistencycheck
验证章节5.2描述的数学关系的一致性。
2.实例化FRI-verifier对象
3.计算Deeppolyonquerypositions
计算方式和章节6.4相同
4.执行FRIVERIFY过程
关于我们
Sin7y成立于2021年,由顶尖的区块链开发者和密码学工程师组成。我们既是项目孵化器也是区块链技术研究团队,探索EVM、Layer2、跨链、隐私计算、自主支付解决方案等最重要和最前沿的技术。
微信公众号:Sin7y
GitHub:Sin7y
Twitter:@Sin7y_Labs
Medium:Sin7y
Mirror:Sin7y
HackMD:Sin7y
HackerNoon:Sin7y
Email:contact@sin7y.org
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。