常见的 EVM 版本以及它们的区别

简介: 常见的 EVM 版本以及它们的区别

EVM版本的演进是为了引入新的特性和改进以太坊平台的安全性、效率和功能性。每个版本通常伴随着以太坊网络的硬分叉,这是以太坊协议的重大升级。以下是一些常见的EVM版本及其主要区别:

  1. Homestead (2016年3月)
    Homestead是以太坊的第一个稳定版本,引入了智能合约和去中心化应用的基本功能。它标准化了账户余额的存储格式,并修复了前端bug

,提高了安全性。

  1. Tangerine Whistle (2016年10月)
    主要是为了降低DoS攻击的风险,使得某些操作更加昂贵,从而提高了网络的安全性。
  2. Spurious Dragon (2017年3月)
    引入了对DAO事件的修复,限制了合同的代码大小(最大24576字节),并且降低了调用数据的gas成本,以提高智能合约的性能。
  3. Byzantium (2017年10月):Byzantium引入了一系列改进,包括:
  • 新的预编译合约,用于椭圆曲线操作和随机数生成。
  • 改进了智能合约的性能和安全性。
  • 引入了REVERT操作码,允许智能合约在失败时返回数据。
  1. Constantinople (2019年2月)
    优化了gas成本,使某些操作更加便宜,特别是与SHA3哈希函数相关的操作。此外,它还引入了新的操作码,如CREATE2,用于确定性地创建智能合约地址。
  2. Istanbul (2019年12月)
    进一步优化了gas成本,引入了更多预编译合约,并提高了智能合约的安全性和性能。
  3. Muir Glacier (2020年1月)
    主要是推迟了难度炸弹,这是一个旨在鼓励向权益证明过渡的机制,它会逐渐增加挖矿难度。
  4. Berlin (2021年4月)
    Berlin引入了更多预编译合约,优化了gas成本,并且增强了智能合约的调试能力。
  5. London (2021年8月)
    最显著的改变是引入了EIP-1559,这是一种新的交易定价机制,它包括基础费用的燃烧,从而改变了以太坊的经济模型。
  6. Arrow Glacier (2021年12月)
    延迟了难度炸弹,为向权益证明的过渡准备。
  7. Gray Glacier (2022年6月)
    再次延迟了难度炸弹。
  8. Merge (2022年9月)
    是以太坊历史上最大的升级之一,实现了从工作量证明到权益证明的转变,极大地提高了网络的能源效率和安全性。

每个EVM版本都有其特定的目标和改进,从安全性、性能到经济模型的调整,这些变化都反映了以太坊社区对网络未来发展的愿景。随着技术的发展,EVM将继续进化,以适应不断变化的需求和挑战。

相关文章
|
4月前
|
安全 Linux 测试技术
|
JavaScript API
说说AMD、CMD、commonJS模块化规范的区别?
说说AMD、CMD、commonJS模块化规范的区别?
141 0
|
JavaScript API
AMD、CMD、commonJS模块化规范的区别
AMD、CMD、commonJS模块化规范的区别
91 0
|
存储 程序员 编译器
「Arm Arch」 ISA 概述
「Arm Arch」 ISA 概述
214 0
|
存储 Unix Linux
不同操作系统的API差异及FreeBSD Port 使用源代码
不同操作系统的API差异及FreeBSD Port 使用源代码
120 0
试图在loongarch64上编译JNA失败
试图在loongarch64上编译JNA失败
81 0
OpenJDK8 272在MIPS上的编译修改记录
OpenJDK8 272在MIPS上的编译修改记录
68 0
|
Oracle 网络协议 关系型数据库
|
Ubuntu Linux 区块链
Ubuntu 16.04下安装以太坊编译环境以及设置合约功能(支持geth 1.6以及solc 0.4.16版本以上)
由于没有苹果电脑,所以在这里使用Linux环境进行操作,Windows也可以,但是没有试过,也看过不少文章,说道会遇到很多问题。 本文解决了下面几个问题: 1.geth升级到1.6版本后,不再使用eth.getCompilers()或者admin.setSolc()等通过JS的方式实时编译,而是采用了ABI合约接口的二进制表示。