宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 莱特币 > 正文

关于在ZKEVM中移除内存限制的一些想法-ODAILY

作者:

时间:1900/1/1 0:00:00

ZKEVM是一个具有可编程性,以ZK技术为基础的虚拟机,它可以为虚拟机执行的所有操作生成一个零知识证明,用来证明虚拟机执行操作的正确性。有关ZKEVM的几种实现方案介绍及优劣对比,可以参考V神的文章:ThedifferenttypesofZK-EVMs;如果你想了解更多的设计细节,你也可以阅读PSE的ZKEVM方案(native-level):privacy-scaling-explorations/zkevm-specsPolygon的ZKEVM设计(bytecode-level):PolygonzkEVMDocumentation;Sin7y的ZKEVM设计(language-level):OlaVM:AnEthereumcompatibleZKVM。\n\n无论是哪种方案,都需要用zk去约束VM的所有的行为,这些行为包括:

?执行合约计算逻辑

?执行内存访问

Helium关于将网络迁移至Solana的提案已开启投票:9月13日消息,去中心化无线通信网络Helium已开启HIP 70提案投票,该提案建议将覆盖证明(PoC)和数据传输会计转移到专用的Helium Oracles,并将Helium的代币和治理迁移至Solana上。该投票将于北京时间9月22日9:12左右结束,如果在截止日期前以2/3的投票权通过,该提案将被视为批准。目前该投票的支持率为74.05%。

在迁移前,验证者的质押解锁冷却期从5个月减少到3个月,以支持向Solana过渡。在Solana过渡后的前7天内,任何保持质押的验证者或veHNT的新质押者都会得到价值3倍veHNT的奖励。所有活跃的Helium钱包将被注入足够100笔交易的SOL,以确保顺利过渡到Solana。[2022/9/13 13:26:18]

?执行哈希计算

?执行世界状态更新

?...

动态 | 日本加密货币商业协会发布“关于加密资产管理的意见书”:日本虚拟货币商务协会(JCBA) 10月11日公布了《关于加密资产管理的意见书》。针对将于2020年4月生效的《资金结算法》内的虚拟货币托管商的托管范围以及虚拟货币的管理方法提出修改建议。为了防止和保护用户,对于修改后的《资金结算法》中规定的“为他人管理加密资产”这一语句的解释,JCBA要求在事务引导等方面明确其范围,应解释在何种情况下才属于“加密资产管理”。(Cointelegraph)[2019/10/15]

众所周知,zk在计算压缩领域,具有极大的应用的前景;无论原始的计算多么复杂,其验证过程都十分高效,这是所有zk算法的基本技能。因此,对于VM执行过程中的计算部分,zk可以很好的发挥作用;而在VM执行的过程中,除了计算本身外,还存在一些内存访问操作,我们需要把一些数据提前放在内存里,然后在执行计算的时候取出来。

而由于大部分的VM都是读写内存,因此不得不约束这些内存访问操作的正确性;对于内存访问的约束本身并不复杂,但是由于内存访问的次数很高,所以导致多项式的阶数很高,使得内存相关的约束证明耗时比较可观。

动态 | 迪拜商会与迪拜最大银行签署关于区块链贸易解决方案的谅解备忘录:据Gulfnews消息,迪拜工商会(DCCI)已与迪拜最大银行阿联酋银行NBD签署了一项谅解备忘录。根据该备忘录,阿联酋银行NBD将为DCCI推出的数字丝绸之路平台提供贸易融资解决方案,该平台旨在应用区块链技术消除全球贸易体系中的重大漏洞。[2019/10/14]

在ZK(E)VM的方案中,我们更应该把zk主要应用在对于计算本身的证明,对于EVM的其他行为,我们可以在VM层面去优化,以减少zk约束的规模。

Memory的设计

以EVM为例,EVM的内存是一块很简单的字节数组,可以存储32字节或者1字节的数据,也可以读取32字节的数据。

动态 | 中国进出口银行与金砖国家银行签署关于区块链的谅解备忘录:据Financialexpress消息,中国进出口银行(Exim Bank)与金砖国家银行于周三签署了一份关于分布式账簿和区块链在数字经济发展背景下合作研究的谅解备忘录。[2018/9/13]

图片来源:ethereum_evm_illustrated,page51

在EVM中,和Memory相关的指令有:

?MLOAD(x):从地址x处加载32字节的数据到调用栈(stack)

?MSTORE(x,y):从地址x开始,写入32字节的y

?MSTORE8(x,y):从地址x开始,写入8字节的y(低位开始)\n有兴趣的读者可以在EVMPlayground上感受下,上述内存操作带来的内存和栈的变化。

Memory的约束

在OlaVM的5.3.5节,你可以看到关于Memory约束的设计原则(OlaVM内存相关的指令和EVM类似)。

俄罗斯财政部正起草一份关于数字货币的法律提案 将数字货币交易合法化:俄罗斯财政部正在起草一份关于数字货币的法律提案,法案可能会对数字货币交易所进行合法化,财政部已经在对各交易所进行调研。俄罗斯可能会是日本之后,第二个对数字货币交易所合法化,并颁发执照的大国。 ????[2018/1/13]

在OlaVM中,RAM的所有操作组成一个独立的table,table里的内容由memory和storage两种类型组成。在这里,我们只关注对于memory的约束。\n内存的操作类型大体可以分为三类:

?Init操作

?write操作

?read操作

触发Init的场景有三种,分别是ctx的变换,type的变化,addr的变化;当任何一个场景触发时,需要约束,操作类型为w(write),v(value)为0。

当上述三种场景没有触发时,则需要根据当前的操作类型来约束;

?如果是w(write)操作,需要约束clk是递增的,写入的值v是对的。

?如果是r(read)操作,需要约束clk是递增的,读取的值和上次写入的值是相同的。

一些可能性提升

?对于Init操作,需要约束一个内存地址的初始化的值为0么?

我认为没有必要对初始化的操作进行约束;实际上,对于任何地址,你可以约束它的第一次访问必须是write操作,而不是read操作;而如果是write-once内存模型,这个限制将天然存在,因此,如果虚拟机的内存模型改为write-once模型,将减少对内存的访问约束。

?对于read操作,能否避免对应的约束,即避免校验读取的值和上次写入的值一致?

由于VM本身定义的memory类型的读写内存,无法保证,VM在读取这个内存地址的值之前,这个地址的值没有被修改,因此需要增加一个相等性校验,如下图所示:

由此可以看出,产生这个约束的核心原因,内存模型是读写内存,地址的值存在被改写的可能,因此,如果尝试使用只读内存,那么就不需要在memory的约束去实现上述的一致性约束。

注意:这可能会增加虚拟机的实现难度,因为这是一个不常用的内存模型;并且,我们应该不会首先在这个虚拟机上面去定义一个高级DSL,因为这个语言对Dapp开发者会有些不友好,需要在编译器层面去消除,使得这些不友好,对开发者不可见。\n\n所以,如果采用上述内存模型,内存模块的约束,将只剩下针对write操作的约束,即使用copyconstraints来保证写入的值是对的即可。无须约束:

?读取的值等于写入的值,因为内存只能被写一次

?读的clk大于写的clk,因为只能先写再读

?内存的初始化值为0

参考

ethereum_evm_illustrated,page51

关于我们

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

微信公众号:Sin7Y

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

标签:OLAMEMEMOMORCryptosolartechAIMEME价格FREEMOONRICKMORTYDOXX

莱特币热门资讯
三大顶级永续期货DEX有哪些特点?-ODAILY

Sept.2022,ThiagoFreitasDataSource:dYdX&GMX$GainsNetworkComparison在金融系统中,永续期货合约,也被称为永续合约,是一种代表在未来某个不确定的时间点买卖资产的协议.

1900/1/1 0:00:00
波场TRON月报(2022.11.01-2022.11.30)-ODAILY

波场TRON月报新鲜出炉,一起来看看11月波场TRON都有哪些亮眼表现吧。 一、核心数据 1、新增账户数:6,732,783波场TRON交易总数突破19.5亿:6月4日,根据TRONSCAN区块链浏览器最新数据显示,波场TRON交易总.

1900/1/1 0:00:00
USDD实时抵押率超206%,抵押资产总价值远高于USDD流通总价值-ODAILY

据官方数据,去中心化超抵押稳定币USDD当前抵押率超206%。 BiKi ETF专区UNI3L/USDT 24H最高涨幅72.09%:据BiKi平台ETF专区行情显示,截至今日18:00,ETF3L专区UNI3L/USDT 24H最高.

1900/1/1 0:00:00
Starknet与Aptos优质生态项目盘点-ODAILY

Aptos AptosLabs 官方成立的实验室,推出了Petra和收购了Aptosnames,子项目发币自治的概率不大,但安全性远高于其它项目。之前有博主指出Aptos链上代币的授权风险,链上资金量大的可以选择Petra保管.

1900/1/1 0:00:00
DAOrayaki:签名在数字资产和加密货币中的作用-ODAILY

可能你正在阅读本文的时,所使用的浏览器和内容终端之间的通信保密也正在运行中,这一过程得益于核心密码原语实现的身份验证.

1900/1/1 0:00:00
平行链开发指南(二)-ODAILY

“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡.

1900/1/1 0:00:00