ZKEVM是一个具有可编程性,以ZK技术为基础的虚拟机,它可以为虚拟机执行的所有操作生成一个零知识证明,用来证明虚拟机执行操作的正确性。有关ZKEVM的几种实现方案介绍及优劣对比,可以参考V神的文章:ThedifferenttypesofZK-EVMs;如果你想了解更多的设计细节,你也可以阅读PSE的ZKEVM方案(native-level):privacy-scaling-explorations/zkevm-specs?Polygon的ZKEVM设计(bytecode-level):?PolygonzkEVMDocumentation;Sin7y的ZKEVM设计(language-level):OlaVM:AnEthereumcompatibleZKVM。
无论是哪种方案,都需要用zk去约束VM的所有的行为,这些行为包括:
?执行合约计算逻辑
??执行内存访问
??执行哈希计算
??执行世界状态更新
??...
众所周知,zk在计算压缩领域,具有极大的应用的前景;无论原始的计算多么复杂,其验证过程都十分高效,这是所有zk算法的基本技能。因此,对于VM执行过程中的计算部分,zk可以很好的发挥作用;而在VM执行的过程中,除了计算本身外,还存在一些内存访问操作,我们需要把一些数据提前放在内存里,然后在执行计算的时候取出来。
Worldcoin代币持有者数量激增148%:金色财经报道,数据显示,7月25日,WLD代币持有者数量为164,195个钱包。而截止到8月5日,该数字已增加148%达到408,721个唯一地址。最大的地址占据了主导地位,占据了惊人的57.8604%的供应量,包含103,494,839个WLD代币,而前100位持有者总共拥有95.08%的所有权。自该代币在Optimism上推出以来,已发生1,912,129笔WLD转账。
Worldcoin最大的两个合约地址,牢牢掌握在Worldcoin项目方的控制之下,分别持有WLD供应量的57.86%和17.88%。第三大地址由币安保管,第四大地址由Wintermute公司维护。[2023/8/7 21:28:56]
而由于大部分的VM都是读写内存,因此不得不约束这些内存访问操作的正确性;对于内存访问的约束本身并不复杂,但是由于内存访问的次数很高,所以导致多项式的阶数很高,使得内存相关的约束证明耗时比较可观。
在ZK(E)VM的方案中,我们更应该把zk主要应用在对于计算本身的证明,对于EVM的其他行为,我们可以在VM层面去优化,以减少zk约束的规模。
Memory的设计
A股收盘:深证区块链50指数上涨0.67%:金色财经消息,A股收盘,上证指数报3284.16点,收盘上涨0.72%,深证成指报12113.61点,收盘上涨1.14%,深证区块链50指数报3176.11点,收盘上涨0.67%。区块链板块收盘上涨0.66%,数字货币板块收盘上涨0.82%。[2023/2/13 12:03:44]
以EVM为例,EVM的内存是一块很简单的字节数组,可以存储32字节或者1字节的数据,也可以读取32字节的数据。
图片来源:ethereum_evm_illustrated,page51
在EVM中,和Memory相关的指令有:
???MLOAD(x):从地址x处加载32字节的数据到调用栈(stack)
???MSTORE(x,y):从地址x开始,写入32字节的y
Escape Velocity为其首支加密基金募资2500万美元:金色财经报道,加密货币风投机构Escape Velocity已为其首支加密基金募资2500万美元,在未来几周基金正式关闭之前,募资总额可能会达到3000万美元的上限。投资者包括Castle Island Ventures、a16z和Framework Ventures等知名风投机构的创始人以及Apollo Global Management的高级合伙人。
新基金寻求投资于早期项目,投资规模为25万美元到100万美元不等,资金将在三年内部署。大约三分之一的现金将用于后续投资。该基金已经进行了5笔投资,包括Xnet和Andrena。[2023/1/20 11:23:22]
???MSTORE8(x,y):从地址x开始,写入8字节的y(低位开始)
有兴趣的读者可以在EVMPlayground上感受下,上述内存操作带来的内存和栈的变化。
Memory的约束
在OlaVM的5.3.5节,你可以看到关于Memory约束的设计原则(OlaVM内存相关的指令和EVM类似)。
NEAR与风险投资基金GFS Ventures合作在越南推出Web3区域中心:金色财经报道,负责NEAR协议治理和发展的瑞士非营利组织NEAR基金会今天宣布与风险投资基金GFS Ventures合作在越南推出Web3区域中心,致力于该地区区块链创新、教育和人才发展,该中心将主要由GFSVentures领导。目前,NEAR Vietnam已经是东南亚地区规模最大的NEAR社区之一,NEAR Vietnam Telegram Group拥有超过14,000名成员,此外越南市场的NEAR活跃钱包数量已占到NEAR钱包总数的20%,现阶段NEAR区块链开发社区主要建立在几个地区的主要城市,包括河内、岘港和胡志明市。(ffnews)[2022/9/13 13:27:07]
在OlaVM中,RAM的所有操作组成一个独立的table,table里的内容由memory和storage两种类型组成。在这里,我们只关注对于memory的约束。
内存的操作类型大体可以分为三类:
??Init操作
??write操作
??read操作
触发Init的场景有三种,分别是ctx的变换,type的变化,addr的变化;当任何一个场景触发时,需要约束,操作类型为w(write),v(value)为0。
NFT Worlds团队:正与《我的世界》团队沟通,并考虑备选方案:7月21日消息,针对“《我的世界》禁止在游戏中使用NFT或其他区块链技术”,NFT Worlds项目团队在其Discord频道发文回应称,目前正在与《我的世界》(Minecraft)团队相关人员进行沟通,了解禁令发布原因,并争取在Minecraft平台继续运营。
如果沟通不能取得预期效果,NFT Worlds也在考虑以下备选方案:
1. 将项目迁移至类似Minecraft的游戏引擎和游戏平台;
2. 转型为GameFi平台,为游戏开发者或游戏工作室提供技术服务。
此前消息,《我的世界》(Minecraft)更新其使用指南,宣布禁止Minecraft客户端和服务器应用程序集成区块链技术,也不得用于创建与任何游戏内容相关的NFT,包括世界、皮肤、角色物品或其他模组。[2022/7/21 2:27:59]
当上述三种场景没有触发时,则需要根据当前的操作类型来约束;
??如果是w(write)操作,需要约束clk是递增的,写入的值v是对的。
??如果是r(read)操作,需要约束clk是递增的,读取的值和上次写入的值是相同的。
一些可能性的提升
??对于Init操作,需要约束一个内存地址的初始化的值为0么?
我认为没有必要对初始化的操作进行约束;实际上,对于任何地址,你可以约束它的第一次访问必须是write操作,而不是read操作;而如果是write-once内存模型,这个限制将天然存在,因此,如果虚拟机的内存模型改为write-once模型,将减少对内存的访问约束。
??对于read操作,能否避免对应的约束,即避免校验读取的值和上次写入的值一致?
由于VM本身定义的memory类型的读写内存,无法保证,VM在读取这个内存地址的值之前,这个地址的值没有被修改,因此需要增加一个相等性校验,如下图所示:
由此可以看出,产生这个约束的核心原因,内存模型是读写内存,地址的值存在被改写的可能,因此,如果尝试使用只读内存,那么就不需要在memory的约束去实现上述的一致性约束。
注意:这可能会增加虚拟机的实现难度,因为这是一个不常用的内存模型;并且,我们应该不会首先在这个虚拟机上面去定义一个高级DSL,因为这个语言对Dapp开发者会有些不友好,需要在编译器层面去消除,使得这些不友好,对开发者不可见。
所以,如果采用上述内存模型,内存模块的约束,将只剩下针对write操作的约束,即使用copyconstraints来保证写入的值是对的即可。无须约束:
??读取的值等于写入的值,因为内存只能被写一次
??读的clk大于写的clk,因为只能先写再读
??内存的初始化值为0
参考
1.ThedifferenttypesofZK-EVMs:
https://vitalik.ca/general/2022/08/04/zkevm.html
2.privacy-scaling-explorations/zkevm-specs:
https://github.com/privacy-scaling-explorations/zkevm-specs
3.PolygonzkEVMDocumentation:
https://docs.hermez.io/zkEVM/Overview/Overview/
4.OlaVM:AnEthereumcompatibleZKVM:
https://olavm.org/whitepaper/OlaVM-07-25.pdf
5.EVM:
https://ethereum.github.io/yellowpaper/paper.pdf
6.ethereum_evm_illustrated,page51:
https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf
7.EVMPlayground:
https://www.evm.codes/playground
8.OlaVM:
https://olavm.org/whitepaper/OlaVM-07-25.pdf
关于我们
Sin7y成立于2021年,由顶尖的区块链开发者和密码学工程师组成。我们既是项目孵化器也是区块链技术研究团队,探索EVM、Layer2、跨链、隐私计算、自主支付解决方案等最重要和最前沿的技术。
微信公众号:Sin7y
GitHub:Sin7y
Twitter:@Sin7y_Labs
Medium:Sin7y
Mirror:Sin7y
HackMD:Sin7y
HackerNoon:Sin7y
Email:contact@sin7y.org
来源:金色财经
昨天早间给出的ETH思路是完美的,预测是直接1240附近多单进场,而结果与我预测完全一致,把行情掐死在计算当中,行情涨至1340附近,收获100多点利润.
1900/1/1 0:00:00PFP需要认真思考这三点才能生存下去。?原文标题:《PFPNFT下一步将走向何方?》撰文:Teng,DelphiDigital研究员PFP他们曾经是NFT领域的宠儿,但在近几个月的冲击下,现在下.
1900/1/1 0:00:00BTC方面:经过周末的盘整后是迎来了空头的放量,比特币昨日晚间在关键位19600一线下方运行,今早就来了一波快速下跌,均线空头排列,当前币价在布林线下轨附近取得短期支撑.
1900/1/1 0:00:00市场消息联储会议前美股收高,美股三大股指全线上涨,道指上涨近200点。美联储将从本周二召开最新货币政策会议,周三公布利率决议与政策声明.
1900/1/1 0:00:00大家上午好,昨晚靠近午夜录播视频解说以太坊行情走势看点,逢阻力附近一带范围内空头下跌,行情目前也算是跌势到1363附近示弱,行情还会进一步震荡下探;今日以太坊思路;第一:上方阻力稍微改变些.
1900/1/1 0:00:00品牌切入数字藏品,可创构建完整生态元宇宙概念的兴起、3D化创作与区块链等技术的发展下,数字内容、产品与消费等数字经济也逐步迈入新的阶段,而数字藏品正是这一趋势下的代表性产物之一.
1900/1/1 0:00:00