KEVM is a version of the Ethereum EVM virtual machine with the variant that KEVM was developed on the K framework. This K-Framework is a semantic platform that is used to create programming languages and formally verified virtual machines. This is in line with the fact that Cardano is a project where formal and scientific review is essential for all technologies within the project.
In this way, the K-Framework enables developers to define or implement the formal semantics of a programming language in an intuitive and modular manner. From its formal specification, K also generates an executable virtual machine that is “correct by design”. That way, it’s fast and powerful enough to run real programs and smart contracts.
On the other hand, the developers of this framework hope in the long term and with the help of other companies such as Runtime Verification, Create a K environment in which new virtual machines can be “plug and play”. This would make it possible to raise blockchain interoperability to a level where the cryptocurrency VMs themselves are able to enable this process without second layers.
With the implementation of KEVM, Cardano would like to make various support resources available to its community members. Including a test network that gives developers the opportunity to test all functions of the main Ethereum network as well as the Shelley and Goguen networks. These resources include stakeholder operations, token locking, metadata, and more. Cardano’s testnet also offers pre-release functions for the mainnet.
Verifiable accuracy and semantics
In KEVM, a formally strict and executable instance of the EVM semantics is also defined in the K framework, which covers all EVM instructions. Based on the formal semantics provided in K, it can find ambiguities in the original EVM specification that are obviously formal but incomplete, which confirms the approach of the K framework itself. KEVM is open source for use as reference semantics in Ethereum client development.
KEVM also works as an EVM reference interpreter. Using the formal semantics of the K-Framework, an EVM reference interpreter is automatically generated that can execute EVM transactions and update the EVM world state accordingly. In which some details of the blockchain system itself are abstracted and a formally derived interpreter is provided with which the official test suite of EVM can be executed with a reasonable execution time.
This is the first formally strict full Ethereum interpreter that does not depend on an integrated implementation of the EVM, and the first formally specified EVM interpreter to pass the set of 40683 tests according to the EVM. What’s more The inferred interpreter performs well, which makes it useful as a real-world test platform.
Checking the functionalities
In his role as program reviewer of EVM, one can also observe features that make KEVM a suitable tool for working on Ethereum. The stated property includes both the correctness of the EVM program and the gas complexity of the program. In this way, strictly derived EVM software analysis tools are demonstrated, supported by a formal, comprehensive, and human-readable EVM semantics of the EVM semantics.
On the other hand, KEVM represents a unified set of tools. There are many software analysis tools for the Ethereum ecosystem. KEVM enables these tools to be automatically generated from a single formal, verifiable, and executable semantic, reducing the likelihood of errors in these tools due to dissimilar models.