Skip to Main content Skip to Navigation

Termination of Ethereum's Smart Contracts

Thomas Genet 1 Thomas Jensen 1 Justine Sauvage 2
1 CELTIQUE - Software certification with semantic analysis
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
2 ARIC - Arithmetic and Computing
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Abstract : Ethereum is a decentralized blockchain technology equipped with so-called Smart Contracts. A contract is a program whose code is public, which can be triggered by any user, and whose actual execution is performed by miners participating in Ethereum. Miners execute the contract on the Ethereum Virtual Machine (EVM) and apply its effect by adding new blocks to the blockchain. A contract that takes too much time to be processed by the miners of the network may result into delays or a denial of service in the Ethereum system. To prevent this scenario, termination of Ethereum's Smart Contracts is ensured using a gas mechanism. Roughly, the EVM consumes gas to process each instruction of a contract and the gas provided to run a contract is limited. This technique could make termination of contracts easy to prove but the way the official definition of the EVM specifies gas usage makes the proof of this property non-trivial. EVM implementations and formal analysis techniques of EVM's Smart Contracts use termination of contracts as an assumption, so having a formal proof of termination of contracts is crucial. This paper presents a mechanized, formal, and general proof of termination of Smart Contracts based on a measure of EVM call stacks.
Complete list of metadatas
Contributor : Thomas Genet <>
Submitted on : Monday, April 27, 2020 - 3:31:55 PM
Last modification on : Wednesday, June 24, 2020 - 4:19:51 PM


Files produced by the author(s)


  • HAL Id : hal-02555738, version 1


Thomas Genet, Thomas Jensen, Justine Sauvage. Termination of Ethereum's Smart Contracts. [Research Report] Univ Rennes, Inria, CNRS, IRISA. 2020. ⟨hal-02555738v1⟩



Record views


Files downloads