很高兴,我们在2022年7月25日发布了OlaVM,一个EVM兼容的ZKVM方案。由于ZKEVM本身一直是个热门的赛道,所以OlaVM一经发布,就很荣幸的受到了行业内大佬们的一些关注。
在这里,我们首先非常感谢DairaHopwood大佬(也是Zcash协议的主要作者)针对OlaVM的设计提出的一些问题。其中,比较核心的一点是ECDSA和Schnorr签名算法里Hash的选择问题,具体的表述如下图所示:
DairaHopwood的意思可以简单理解为:SinsemillaHash的安全级别只有collision-resistant,因此不能当做一个randomoracle(RO);而在ECDSA和Schnorr签名算法中,为了足够的安全,需要要求这个Hash可以当做randomoracle(RO)。为了能更好的理解,我们需要先了解一些概念。
1.cryptographichashfunction(CHF)的安全属性有哪些?
根据论文?CryptographicHash-FunctionBasics里的定义可知,CHF对应的安全属性有以下3类:
??preimage-resistance?—基本上对于所有预先指定输出,要找到任何散列到该输出的输入,在计算上是不可行的,例如,当给定任意未知输入的y时,要找到使?h(x')=y?的所有原像(preimage)x'。
新火科技旗下MPC自托管平台Sinohope宣布其Web3 Access功能已上线:据官方消息,新火科技旗下MPC自托管平台Sinohope宣布其Web3 Access功能已正式上线,DApp交易支持“自定义多人审批”功能。
Web3 Access功能支持企业或组织进行“自定义多人审批”,每个节点可添加多人进行审批,提升审批效率,用户可通过Google Play 、苹果App Store或 Sinohope 官网下载&更新Sinohope APP体验此功能。
据官方称,Sinohope通过采用MPC-CMP技术支持用户分布式管理私钥分片与协同签名,解决私钥单点风险,有效增加透明性和易用性。目前已支持Ethereum、Bitcoin、Avalanche、Cosmos、BNB Chain、Polygon、Arbitrum、Optimism、Near、Tron、Filecoin等主流公链。[2023/8/7 21:29:23]
??2nd-preimageresistance?—?要找到与任何指定输入具有相同输出的任何第二输入,在计算上是不可行的,例如,给定x,要找到一个第二原像x'=x,使?h(x')=?h(x)。
??collisionresistance?—要找到任意两个散列到相同输出的不同输入,在计算上是不可行的,例如,使h(x')=?h(x)。
需要注意的是:
去中心化音乐平台Audius任命Shamal Ranasinghe为首席商务官:3月2日消息,去中心化音乐平台Audius任命Shamal Ranasinghe为首席商务官。Shamal Ranasinghe将监督公司与音乐行业的关系,在创新方面发挥主导作用,并开发报告、分析和其他工具,以帮助艺术家、唱片公司和权利人取得成功。
Ranasinghe多年来一直担任该公司的顾问,此前他曾担任Sirius XM/Pandora的高管,负责监督艺术家、唱片公司、权利人、经理和现场音乐合作伙伴的产品开发。 (TheBlock)[2023/3/2 12:39:11]
a.2nd-preimageresistance可以归约为collisionresistance,即collisionresistance满足,则2nd-preimageresistance必定满足。
b.?preimage-resistance不可以归约为collisionresistance,即collisionresistance满足,则preimageresistance未必满足。
2.什么是randomoracle(RO)?
randomoracle(RO)用以下模型来描述:
?有一个黑盒子。盒子里住着一个侏儒,还有一本大书和一些骰子。
?我们可以向盒子里输入一些数据。
Beosin:1月各类攻击事件损失总金额约1464万美元,较去年12月下降约77%:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,2023年1月,各类安全事件涉及金额较2022年12月持续大幅下降。1月发生较典型安全事件超『19』起,各类攻击事件损失总金额约1464万美元,较去年12月下降约77%,比2022年任何一个月的损失金额都要低。
本月较大的安全事件为HECO生态跨链借贷平台LendHub因没有弃用旧合约而被攻击,损失近600万美元。此外,两起个人钱包被盗事件损失均超过百万美元,钱包的安全性问题依旧不容忽视。在黑客猖獗的2022年过去之后,2023开年的区块链安全态势总体相对平稳。本月针对项目方的攻击事件呈下降趋势,反倒是一些针对个人用户钱包、社媒账号的攻击事件有所增加。Beosin建议个人用户一定要提高防钓鱼意识,规范操作。本月发生的典型跑路事件均是通过后门代码进行Rug Pull,建议用户在交互前一定要仔细查看相关的审计报告,避免资产遭受损失。[2023/1/31 11:38:34]
?给定侏儒一些事先没有看到的输入,他用骰子在一些常规空间中均匀且随机地生成一个新的输出。侏儒还会在书中写下输入和新生成的输出。
?如果给定侏儒一个已经看到的输入,他就用书来恢复他上次返回的输出,并再次返回。
简单来概括下RO的行为,假设输入为x:
Beosin:BRA代币被攻击,损失820个WBNB:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,BRA代币被攻击,交易哈希:0x6759db55a4edec4f6bedb5691fc42cf024be3a1a534ddcc7edd471ef205d4047与0x4e5b2efa90c62f2b62925ebd7c10c953dc73c710ef06695eac3f36fe0f6b9348。据Beosin安全技术人员分析,该攻击是由BRA合约的逻辑漏洞所导致,BRA转移过程中如果调用方或接收方为pair,则会产生奖励。此处,攻击者直接转移部分BRA代币给0x8F4BA1交易pair合约,并调用pair的skim函数,该函数会将多余供应量的BRA代币发送给指定地址,此处攻击者设置本pair为接收地址,BRA又重新回到pair,导致经过一次skim,pair的BRA代币就会增加(奖励部分),多次skim后,pair中已经存在大量BRA代币。最后,攻击者通过pair的闪电贷功能,将UBST借贷出来,由于BRA代币异常多,所以pair在闪电贷最后判断余额的时候,就算UBST少了,也能通过检查(类似于乘积恒定的方式)。目前被盗资金全部存在攻击者地址(0xE2Ba15be8C6Fb0d7C1F7bEA9106eb8232248FB8B),Beosin Trace将持续对被盗资金进行监控。[2023/1/10 11:04:38]
??如果x之前输入过,则直接返回对应的H.
Sino Global Capital CEO:由于中国电力成本极具竞争力 减半对中国矿商影响较小:Sino Global Capital首席执行官Matthew Graham最近于播客节目中表示,冠状病对加密市场的影响,主要可以通过市场波动性增大来感受。此类事件对加密矿商也有影响,不过考虑到大多数比特币矿池都位于中国,与世界其他地区的矿商相比,即将到来的比特币区块奖励减半对中国矿商的影响较小。而其中一个主要原因就是中国的电力成本极具竞争力。(AMBCrypto)[2020/4/12]
??如果x未曾输入过,则RO会在完全随机的在值域里生成一个由0,1组成的字符串。
需要注意的是:
??这里的完全随机意味着,连RO自己都不知道最终会是一个什么值,它是没有规则可循的,这是和Hash的主要区别,任何Hash都是有自己的计算规则的。
但是在现实的世界中,实现一个真正的RO是很困难的;因此,我们需要为RO寻找一个潜在候选者,需要尽可能的使得输出看起来是随机的。Hash函数是一个不错的选择,一个安全的Hash函数需要满足preimage-resistance、2nd-preimageresistance、collisionresistance。一个可以当做RO的Hash是肯定要满足这三个属性的,但是满足这三个属性的Hash不一定就可以当做RO;它们之间是一种必要不充分关系。更多的细节可以参考Whatisthe"RandomOracleModel"andwhyisitcontroversial?
3.Hash在ECDSA和Schnorr签名算中的要求?
在论文OnthesecurityofECDSAwithadditivekeyderivationandpresignatures和OntheExactSecurityofSchnorr-TypeSignaturesintheRandomOracleModel中提到,ECDSA和Schnorr签名算法里的Hash函数都需要可以被认为是RO,才是安全的。根据前面的描述,则这个Hash需要满足CHF的所有安全属性preimage-resistance、2nd-preimageresistance、collisionresistance。
4.关于Sinsemilla哈希函数?
Sinsemilla哈希函数是由DairaHopwood和SeanBowe?一起设计,底层依赖ECDLP(EllipticCurveDiscreteLogarithmProblem)。在固定长度的输入下,Sinsemilla哈希函数满足collisionresistance,不满足preimageresistant属性,原因可以参考DairaHopwood的回答。
根据Zcash协议说明书,设计Sinsemilla哈希函数的初衷是为了在零知识证明算法Halo2的执行过程中,充分利用Lookup-friendly的优势,来提高Halo2的执行效率;因此,Sinsemilla哈希函数是一个Lookup-friendly的哈希函数,它更适合用于承诺的计算和Merkletreeroot的计算。
5.总结
再次感谢DairaHopwood的指导,让我们对cryptographichashfunction?(CHF)的使用有了更深的认知。我们将继续广泛听取意见,在高效性和安全性方面对设计方案进行持续优化。
Sinsemilla哈希函数会仍然用于Olavm设计中的其他合适模块;签名部分的Hash函数,我们将会在安全的哈希函数中,择优选择,比如Poseidon哈希函数、ReinforcedConcrete哈希函数等。
参考
1.OlaVM:https://ethresear.ch/t/whitepaper-olavm-an-ethereum-compatible-zkvm/13144
2.DairaHopwood:https://twitter.com/feministPLT
3.Zcash协议:https://zips.z.cash/protocol/protocol.pdf
4.ECDSA:https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm
5.Schnorr:https://en.wikipedia.org/wiki/Schnorr_signature
6.SinsemillaHash:https://zips.z.cash/protocol/protocol.pdf
7.CryptographicHash-FunctionBasics:
https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=C7364E9082B2726A10E1C712B476C82A?doi=10.1.1.3.6200&rep=rep1&type=pdf
8.randomoracle(RO):https://en.wikipedia.org/wiki/Random_oracle
9.Whatisthe"RandomOracleModel"andwhyisitcontroversial:
https://crypto.stackexchange.com/questions/879/what-is-the-random-oracle-model-and-why-is-it-controversial
10.OnthesecurityofECDSAwithadditivekeyderivationandpresignatures:
https://www.shoup.net/papers/2021-1330.pdf
11.OntheExactSecurityofSchnorr-TypeSignaturesintheRandomOracleMode:
https://eprint.iacr.org/2012/029.pdf
12.ECDLP(EllipticCurveDiscreteLogarithmProblem):
https://link.springer.com/referenceworkentry/10.1007/978-1-4419-5906-5_246
13.回答:https://twitter.com/feministPLT/status/1551856467145269249
14.Poseidon:https://eprint.iacr.org/2019/458.pdf
15.ReinforcedConcrete:https://eprint.iacr.org/2021/1038.pdf
关于我们
Sin7y成立于2021年,由顶尖的区块链开发者组成。我们既是项目孵化器也是区块链技术研究团队,探索EVM、Layer2、跨链、隐私计算、自主支付解决方案等最重要和最前沿的技术。
微信公众号:Sin7y
GitHub:Sin7y
Twitter:@Sin7y_Labs
Medium:Sin7y
Mirror:Sin7y
HackMD:Sin7y
HackerNoon:Sin7y
Email:contact@sin7y.org
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。