关于Sinsemilla哈希函数在OlaVM中的应用-ODAILY_STA:star币最新价格

很高兴,我们在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)。为了能更好的理解,我们需要先了解一些概念。

Coinbase发布关于1月29日宕机事件的报告:金色财经报道,Coinbase发布博客文章称,此前在1月29日太平洋标准时间4:25至9:31之间,coinbase网站出现故障。在这段时间内,许多用户在尝试使用Coinbase应用程序时遇到错误,并且加密购买、出售和交易功能间歇性的可用。Coinbase表示,发生问题后,在许多端点上发现了很高的错误率,并被诊断为一个用于存储货币兑换即期汇率的Redis集群问题,此Redis集群上的CPU负载突然达到100%,并导致多个API端点和后台作业失败。[2021/2/6 19:01:31]

1.cryptographichashfunction(CHF)的安全属性有哪些?

根据论文CryptographicHash-FunctionBasics里的定义可知,CHF对应的安全属性有以下3类:

?preimage-resistance—基本上对于所有预先指定输出,要找到任何散列到该输出的输入,在计算上是不可行的,例如,当给定任意未知输入的y时,要找到使h(x')=y的所有原像(preimage)x'。

V神调侃Quantstamp关于“ETH 2.0已准备好发布”言论:刚刚,V神在回答网友有关ETH 2.0具体发布时间的问题时表示,不知道,但显然Quantstamp说已经准备好发布了。他引用外媒晚间报道的“智能合约审计公司Quantstamp称,已完成Consensus开发的Ethereum 2.0客户端Teku的审计,Ethereum 2.0已准备好发布”相关报道,并评论称,理论上说,如果客户端团队因为我们没有说“发布”而太生气,他们可以自己来。[2020/10/26]

?2nd-preimageresistance—要找到与任何指定输入具有相同输出的任何第二输入,在计算上是不可行的,例如,给定x,要找到一个第二原像x'=x,使h(x')=h(x)。

?collisionresistance—要找到任意两个散列到相同输出的不同输入,在计算上是不可行的,例如,使h(x')=h(x)。

动态 | 金砖国家成员国主要银行签署关于DLT发展的谅解备忘录:据Cointelegraph消息,在约翰内斯堡举行的第十届金砖国家峰会上,来自巴西、俄罗斯、印度、中国和南非等新兴经济体的银行同意对区块链分布式账本技术(DLT)进行联合研究,金砖国家五个主要银行签署了关于DLT发展的谅解备忘录。[2018/7/27]

需要注意的是:

a.2nd-preimageresistance可以归约为collisionresistance,即collisionresistance满足,则2nd-preimageresistance必定满足。

b.preimage-resistance不可以归约为collisionresistance,即collisionresistance满足,则preimageresistance未必满足。

2.什么是randomoracle(RO)?

Andrew Miller拜访Hyper Pay团队 为该团队带来关于密码学以及更好开发服务安全性的见解 :近日,Andrew Miller 拜访了全球数字货币跨境支付整合平台Hyper Pay团队并进行了友好交谈。Hyper Pay团队非常感谢 Andrew 为他们带来了一些关于密码学以及更好开发服务安全性的深入见解。 ?[2017/12/19]

randomoracle(RO)用以下模型来描述:

?有一个黑盒子。盒子里住着一个侏儒,还有一本大书和一些骰子。

?我们可以向盒子里输入一些数据。

?给定侏儒一些事先没有看到的输入,他用骰子在一些常规空间中均匀且随机地生成一个新的输出。侏儒还会在书中写下输入和新生成的输出。

?如果给定侏儒一个已经看到的输入,他就用书来恢复他上次返回的输出,并再次返回。

简单来概括下RO的行为,假设输入为x:

韩国国家税务局公布关于比特币等加密货币税收计划:韩国国家税务局(NTS)已经公布了关于比特币等加密货币税收的计划。这是在周二与国家税务总局和韩国财政研究所共同主办的2017年国家税务管理论坛上公布的。韩国国家税务局官员表示:“我们将追求比特币等虚拟货币的税收。由于虚拟货币是房地产,证券等财产,应按“收入所得税”的原则征税。”[2017/12/7]

?如果x之前输入过,则直接返回对应的H.

?如果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哈希函数等。

关于我们

Sin7y成立于2021年,由顶尖的区块链开发者组成。我们既是项目孵化器也是区块链技术研究团队,探索EVM、Layer2、跨链、隐私计算、自主支付解决方案等最重要和最前沿的技术。

微信公众号:Sin7Y

GitHub|Twitter|Telegram|Medium|Mirror|HackMD|HackerNoon

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

水星链

MANABitfinex一周简报(0829-0904)-ODAILY_BIT:INE

BitfinexAlpha|比特币是否正被囤积?你现在不应该对美联储的想法有任何疑问。联储主席杰罗姆·鲍威尔在杰克逊霍尔年度研讨会的主题演讲中明确表示:加息将持续到至少达到美联储2%的目标通胀率.

FIL一文读懂ZK-KYC与ZK认证过程-ODAILY_WEB:WEB3Token

2022年是Web3与Web2平行世界交错和焦灼发展的一年。前者经历了将Celsius,Luna和3AC连串洗劫的新次贷危机,后者代表滴滴在接受80亿罚款时也明确了其过度收集用户隐私数据的行为.

[0:0ms0-0:911ms