Introducing the EVM Enforcer


There was some interest in the EVM Enforcer aka SolEVM during the last implementers call, so I’m writing a short summary here:

What is the Enforcer?

The EVM Enforcer is a computation verification engine that allows on-chain enforcement of off-chain EVM execution. That means, whatever result you can compute in an EVM off-chain, you can prove to be correct to an on-chain contract. The EVM Enforcer allows to build computation markets that incentivize participants to rent out their computation power and check on each other through stakes. In addition it allows to exceed the known levels of gasLimit, contract size, and msg Data, as the next diagram indicates:

How can I use the Enforcer?

Until recently the interactive verification game only allowed to deal with state that comes through call data. There was no access to a global state of storage and other contracts as you are used to it from the Ethereum mainnet. To provide extensibility and support application-specific state we have created a plugin architecture called the Intercetptor that is described in this class diagram.

If you are interested in using the EVM Enforcer or the extension system, don’t hesitate to check out the repo or get in contact. Don’t forget to give :heart::heart::heart: to EVM Enforcer development.