Formal and Executable Semantics of the Ethereum Virtual Machine in Dafny

03/01/2023
by   Franck Cassez, et al.
0

The Ethereum protocol implements a replicated state machine. The network participants keep track of the system state by: 1) agreeing on the sequence of transactions to be processed and 2) computing the state transitions that correspond to the sequence of transactions. Ethereum transactions are programs, called smart contracts, and computing a state transition requires executing some code. The Ethereum Virtual Machine (EVM) provides this capability and can execute programs written in EVM bytecode. We present a formal and executable semantics of the EVM written in the verification-friendly language Dafny: it provides (i) a readable, formal and verified specification of the semantics of the EVM; (ii) a framework to formally reason about bytecode.

READ FULL TEXT

page 4

page 6

research
02/23/2018

A Semantic Framework for the Security Analysis of Ethereum smart contracts

Smart contracts are programs running on cryptocurrency (e.g., Ethereum) ...
research
09/29/2020

Ethereum's Recursive Length Prefix in ACL2

Recursive Length Prefix (RLP) is used to encode a wide variety of data i...
research
10/22/2021

Formal Verification of the Ethereum 2.0 Beacon Chain

We report our experience in the formal verification of the reference imp...
research
05/12/2020

Blockchain Superoptimizer

In the blockchain-based, distributed computing platform Ethereum, progra...
research
05/17/2021

Summing Up Smart Transitions

Some of the most significant high-level properties of currencies are the...
research
05/16/2022

Specification is Law: Safe Creation and Upgrade of Ethereum Smart Contracts

Smart contracts are the building blocks of the "code is law" paradigm: t...
research
03/29/2022

Extracting Godl [sic] from the Salt Mines: Ethereum Miners Extracting Value

Cryptocurrency miners have great latitude in deciding which transactions...

Please sign up or login with your details

Forgot password? Click here to reset