ICEVM – Towards an Ethereum Virtual Machine on the Internet Computer
The Ethereum Virtual Machine (EVM) has been the first and is still the world's most-widely-used smart contract execution environment. The EVM features synchronous smart contract call semantics which simplifies certain aspects of smart contract implementation, but greatly impedes scalability. Currently, the EVM is the environment of choice of most DeFi dApps and therefore EVM-compatible chains can benefit from network effects resulting from easily-portable DeFi smart contracts, a large tooling ecosystem and developer community and still the largest user community. In this talk we shed some light onto what it would take to make the Internet Computer EVM compatible. We particularly consider the option of running an EVM as a smart contract on the Internet Computer. The major challenges of bringing the EVM to the Internet Computer result from the impedance mismatch between the asynchronous messaging model of the Internet Computer and the synchronous smart contract call semantics of the EVM. We present limitations of EVM architectures on the Internet Computer and potential solutions to the main challenges. This talk is intended as a starting point of a wider (technical) discussion on how to best bring an EVM to the Internet Computer.