区块见闻 区块见闻
Ctrl+D收藏区块见闻

AUR:无版本区别的EVM(以太坊智能合约虚拟机)_Aurory

作者:

时间:

编者注:本文为Parity开发者WeiTang写作的,关于如何增强EVM后向兼容性的文章,改进Gas机制的方案堪称大胆。

如果我们有机会可以重新设计EVM、提升其后向兼容性、让它对功能升级更为友好,而且可以完全不必考虑我们现有的历史包袱,我们该怎么做呢?

在这篇文章中,我会探究这个问题,并记录下由此演化出来的技术说明和设计哲学。

目标

Web是没有版本区别的,而且已经存在了几十年。因此我在此假设,我们想做一个同样没有版本区别的EVM。

我们同样希望保证,这种虚拟机具备良好的后向兼容性。也就是说,至少能良好兼容我们现有的合约,而且,也可以轻松加入新功能。

受攻击事件影响,Zunami Protocol稳定币UZD下跌96.8%:金色财经报道,据行情数据信息,受攻击事件影响,ZunamiProtocol推出的稳定币UZD短时下跌94%,现报价0.03151567美元。[2023/8/14 16:24:22]

无效操作码

要设计一个永续的EVM,最简单可能也最重要的改动便是为合约部署添加一个验证过程。并非所有的字节序列都是有效的EVM代码,任何无效的操作码都不应该被部署到链上,因为在未来,这些代码可能会被分配以一个新的操作码,有不一样的功能。

此种检查的技术详述初次成文化是在EIP-1712中。简要来说,在执行合约创建的状态转变函数之前,执行下列检查:

PeckShield:从未审计过“ZDSC”项目:近期,有用户向区块链安全公司PeckShield反应,某个名为ZDSC的DeFi项目,声称其通过了PeckShield的安全审计服务。经PeckShield核实发现,此为“ZDSC”项目方单方面盗用PeckShield名义作背书,向市场兜售其“高”收益“ZDSC DeFi项目”的恶意欺诈行为。PeckShield团队在此郑重声明,团队并没有对“ZDSC”项目进行安全审计,请广大用户保持警惕,谨防受。任何审计报告,请留意PeckShield官方Twitter消息。[2020/10/23]

遍历代码的字节码

声音 | Omer Ozden::Libra让各国知道加密货币必须支持,走的慢的会被甩到后面:7月25日晚九点,石木资本创始人兼CEO、RockTree LEX创始人、Facebook法律顾问及美国国会小组成员Omer Ozden在“No.21 499小姐姐人物访谈”接受Brink Asset CEO Grace访谈时表示,7月对于加密货币非常重要,因为在Libra听证会举行的7天内,最强大的政府都发表了关于加密货币的重要声明,美国总统特朗普、英国领导、中国人民银行领导、美国议会和国会,同时还有世界上其他的政府。Facebook让所有的科技公司、投资银行、商业银行和所有的世界领导者理解了两件事,一是加密货币必须支持,二是走的慢的会被甩到后面,因为正如中国人爱说的一句“币圈一天,人间一年”。[2019/7/26]

如果代码是一个PUSH(n)操作码,则跳过接下来n个字节

如果字节码是一个有效的操作码,或者指定了无效指令,继续

否则,捕捉到错误

上述检查有点类似于jumpdestination检查。注意,对于例外情形,我们在这里使用的是“trap”,下文我们会详细解释。

功能调查

如果EVM要消弭掉版本的差别,基于EVM的代码执行应有能力调查出底层环境是否支持一种特定的功能。给定EVM所承担的角色,我们总是希望一个已经定义好的操作码的功能可以保持不变,并且还可以引入新的操作码来添加功能。而一些合约可能在引入某些特定功能之前就已经部署上去了。这些合约可以安排一个备用的子程序,在EVM不支持某功能的时候就运行子程序,而一旦硬分叉激活后就立即开始使用新功能。功能调查组件就像这里要用到的跳转器。因此,我们正式地定义一种新的操作码HAS_FEATURE。

该操作码接收一个堆栈参数。它会检查该参数是否位于0到2^8之间,如果不是,就捕捉错误

如果参数不受支持,就把0x0推回栈中;否则就推入0x1

例外与捕捉

在EVM的运行过程中,可能有很多因素会导致执行失败。单个交易可能因为耗尽Gas而失败;调用栈中的每一层都可能单独失败,而其错误必须被父调用框架明确处理。这些特性给了我们一定的弹性,但对于要运行在区块链上的合约来说,并不必然就是好事。这里,我们想重新定义一下,任何EVM本身发出的异常,都可以有trap行为,作为对fail的替代。也就是说,所有调用框架的所有执行过程中、消耗任意gas的时候、甚至被当前的状态函数回滚变更的时候,都可以有trap。合约接下来就被会鼓励使用返回值,在它们想跟父调用者交流非致命错误的时候。

Gas消耗量

过去的经验已经证明,我们总是想调整Gas消耗量。因为我们要这样做,我们不希望合约开发者对交易的Gas消耗量甚至是任何操作码的Gas消耗量作任何假设。要实现这一点,只需将EVM内所有关于Gas消耗量的公开信息都移除。这样Gas消耗量就成了一个外在于EVM、被隐藏起来的“实现上的细节”,只需在区块层执行中妥善处理。正式地移除0x5a的Gas操作码。此外,重新定义CALL、CALLCODE和DELEGATECALL,不再使用gas栈参数,而是采取现有执行框架中所有可用的Gas。

原文链接:

https://that.world/~essay/nevm/

作者:WeiTang

翻译:阿剑

标签:ALLCALITAAURWALLYSCALERemita CoinAurory

狗狗币最新价格热门资讯
ARI:数据显示:ICO融资超5000万美元的16个项目中,仅有3个项目投资回报率为正_MES

Messari数据显示,通过ICO融资超过5000万美元的代币中大多数代币的投资回报率都为负,代币价格距历史高点跌幅均超过70%.

MES:专访降维安全实验室:还原28000个比特币丢失背后的罗生门_EOS

9月3日,某自媒体发布了一篇名为《1万枚BTC悬赏!矿圈大佬丢失2.8万枚BTC压缩包密码》的文章,引起了圈内一定的争议。之后涉及该事件的矿圈大佬“凉白开”接受该自媒体采访,透露了事件原委.

TPS:BQB上线AO公告_加密的pdf怎么转换成word文档

尊敬的币权BQB用户: BQB上线AO,并开放AO/USDT具体时间如下:AO交易开启时间:9月10日18:00AurumOx通过采用DDPOS共识协议.

LAD:巴比特MatPool矿池宣布加入LAD-NPoS众星揽月节点竞选_MILADY

日前,巴比特MatPool矿池宣布加入LAD-NPoS众星揽月节点竞选。LAD-NPoS众星揽月节点竞选规则发布以来,受到了众多业内矿池的关注,巴比特MatPool矿池以“发现价值,创造价值,分.

MAT:市场情绪低落 但大资金对于市场坚定的看好_ATP

狂人说 前段日子比特币大涨,狂人认为是阿根廷货币的外汇管制造成的,不少人提出了反对意见,他们认为是Bakkt即将上市所致,这种观点是没有抓到重点的.

CCA:分析:Ripple前CTO此前收到的1亿枚XRP一旦出售,将对持有者产生不利影响_xrp币会涨到多少

Ripple前CTOJedMcCaleb在过去两年一直在大规模倾销他的XRP代币。最近,McCaleb的钱包再次收到了1亿枚的XRP.