POSI:Sin7y团队解读:STARK - 深度解析_MAIN币

作为不需要可信设置的零知识证明算法代表之一,STARK算法被应用于StarkNet生态的各个项目中,比如dydx,immutableX等,并表现出了不俗的性能。本文将主要从代码层面剖析STARK算法的实现过程,帮助大家对STARK算法有更深入的理解。

Step1.Buildtrace

标红部分为Publicinfo

Step2.ProverforTrace

协议参数选取:

1.AIR实例化

2.验证AIR和Trace的一致性

2.1校验基础参数

2.2校验assertion有效(boundarycs)

Beosin发现Move VM严重级别漏洞:金色财经报道,近日,区块链安全公司Beosin发现Move VM严重级别漏洞。Beosin安全研究团队在Move虚拟机中发现了一个没有限制递归调用深度而导致的栈溢出漏洞,这个漏洞可以导致整个网络崩溃(total network shutdown),还会让新的validator节点无法加入到网络中,甚至有可能导致硬分叉(hard fork)。Sui mainnet_v1.2.1、Aptos mainnet_v1.4.3以前的版本都受此漏洞影响。目前该漏洞已被官方修复。Suimainnet_v1.2.1、Aptosmainnet_v1.4.3、Move-language 2023年6月10日之后的版本修复了此漏洞。[2023/6/15 21:37:59]

2.3校验Trace满足transitioncs

Transcript

3.Commitfortrace

域参数选取:

Beosin:SnarkJS 0.6.11及之前的版本中存在严重漏洞:金色财经报道,Beosin 安全研究人员在 SnarkJS 0.6.11及之前的版本的库中发现了一个严重漏洞,SnarkJS 是一款用于构建零知识证明的开源 JavaScript 库,广泛应用于 zk-SNARK 技术的实现和优化。Beosin在提了这个漏洞以后,第一时间联系项目方并协助修复,目前该漏洞还处于修复测试中。Beosin提醒所有使用了SnarkJS库的项目方,在SnarkJS 库这个漏洞还没完全修复时,一定要注意安全风险。[2023/5/18 15:11:20]

3.1Interpolate->LDE->evaluateoverLDE-domain

3.2Commitment

Tracescript

4.EvaluateCS

4.1获取线性组合系数

FarmApp 合约singer私钥疑似丢失,目前MMT价格已经下跌81%:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,2023年2月12日,FarmApp 合约singer私钥疑似丢失,攻击者(0x2a45a576beecc945527a1b106c6d41d3ea52f9f7)使用singer的签名调用sowSeed函数生成42 的sowid的newSowData,并再次调用claimedSeed函数盗取了936,387枚MarsMinerToken (MMT),最后将盗取的MMT兑换约为301枚BNB(价值约93000 USD)转入了Tornado.Cash,目前MMT价格已经下跌81%。[2023/2/12 12:01:42]

系数个数和约束的个数一致

在本例中,transitioncs2个;boundarycs3个

4.2为t-cs和b-cs构建evaluator

4.2.1t-cs

4.2.2b-cs

4.3Evaluatet/s-csoverce_domain

4.3.1定义evaluatortable

Beosin:Gnosis Omni Bridge跨链桥项目存在合约层面的重放漏洞:金色财经报道,Beosin 安全团队发现,在以太坊合并并分叉出 ETHW 后,Gnosis Omni Bridge跨链桥项目,由于合约代码中固定写死了chainID,而未真正验证当前所在链的chainID,导致合约在验证签名时能够在分叉链上验证通过。攻击者首先在 ETH 主网上通过omni Bridge 转移 WETH,随后将相同的交易内容在 ETHW 链上进行了重放,获取了等额的 ETHW。目前攻击者已经转移了 741 ETHW 到交易所。

Beosin 安全团队建议如果项目方合约里面预设了chainID,请先手动将chainId更新,即使项目方决定不支持ETHW,但是由于无法彻底隔绝通过跨链桥之间的资产流动,建议都在ETHW链上更新。[2022/9/19 7:04:46]

5CommitmenttoEvaluateCS

5.1建立constraintscompositionpolynomial

5.2commitmenttocompositionpoly

Example:

Compose_poly=a*x^3+b*x^2+c*x+d=(a*x^2+c)*x^+(b*x^2+d)

SingularityDAO任命Chris Poulin为CTO和AI主管:8月25日消息,DeFi投资组合管理公司SingularityDAO已经任命研究科学家Chris Poulin为新的首席技术官和人工智能主管,Poulin将负责开发SingularityDAO的DynaSets,这是一个由人工智能驱动的系统,用于建立一个精心策划的加密货币投资篮。DynaSets在一份合同中持有DeFi代币的集合,使投资者能够更容易地管理他们的投资组合。工作内容还包括为DeFi领域开发新的人工智能驱动的产品。(cointelegraph)[2021/8/25 22:37:13]

(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.

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

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-3:677ms