Termination of Ethereum’s Smart Contracts
Résumé
Ethereum is a decentralized blockchain technology equipped with so-called Smart Contracts. Acontract is a program whose code is public, which can be triggered by any user, and whose actualexecution is performed by miners participating in Ethereum. Miners execute the contract on theEthereum 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 resultinto delays or a denial of service in the Ethereum system. To prevent this scenario, termination ofEthereum’s Smart Contracts is ensured using a gas mechanism. Roughly, the EVM consumes gasto process each instruction of a contract and the gas provided to run a contract is limited. Thistechnique could make termination of contracts easy to prove but the way the official definition ofthe EVM specifies gas usage makes the proof of this property non-trivial. EVM implementationsand formal analysis techniques of EVM’s Smart Contracts use termination of contracts as anassumption, so having a formal proof of termination of contracts is crucial. This paper presents amechanized, formal, and general proof of termination of Smart Contracts based on a measure ofEVM call stacks.
Origine | Fichiers produits par l'(les) auteur(s) |
---|