EVM是类似于JVM的虚拟机,提供了操作系统之上的一层抽象,使得合约可以忽略底层,合约代码被翻译为虚拟机的指令集。EVM有三个存储区,一个不可变的代码存储区,一个可变的内存区,一个永久的存储区,作为以太坊状态的一部分。