mip161是由以太坊创始人Vitalik Buterin提出的一项针对以太坊虚拟机(EVM)的升级方案,旨在提高以太坊网络的安全性和效率。
mip161的全称是“EVM脆弱性修复和优化”,它的主要目标是解决现有EVM中存在的脆弱性缺陷,包括那些可能导致智能合约中断或存储损坏的漏洞。同时,该升级还将优化EVM的执行机制,提高以太坊网络的性能。
目前,mip161的升级计划已经完成了初步的设计,并且正在进行代码开发和测试。该升级计划将在未来的以太坊硬分叉(hard fork)中实现,具体时间预计在2022年初。
从技术层面来看,mip161的升级计划主要分为两个方面,分别是针对EVM脆弱性的修复和优化EVM执行机制的升级。
为了解决EVM中存在的脆弱性缺陷,mip161提出了一系列的安全性改进,包括:
(1)减少脆弱性攻击面:通过规范化智能合约的编写方法,排除一些可能导致缓冲区溢出和整数漏洞的危险因素;
(2)增加对合约调用栈的限制:限制调用栈深度,防止循环调用和递归调用引起的栈溢出;
(3)限制合约内存:限制合约使用的内存大小,防止恶意合约通过大量内存消耗攻击其他合约。
为了提高EVM的执行效率,mip161还提出以下升级:
(1)优化高频操作的执行效率:将一些高频操作,如SHA3哈希操作和ECDSA签名操作,使用特定的预编译合约实现,提高其执行效率;
(2)引入快取机制:引入缓存机制,将一些高访问频率的数据缓存在快取中,减少EVM访问存储的次数,提高执行效率;
(3)整合EIP2929:EIP2929是以太坊网络的另一个升级方案,其主要目标是提高以太坊的安全性。mip161将EIP2929的部分功能整合到其升级计划中,包括消耗固定的燃料费用和更新EVM操作码价格。