EVMPatch: Timely and Automated Patching of Ethereum Smart Contracts

10/01/2020
by   Michael Rodler, et al.
0

Recent attacks exploiting errors in smart contract code had devastating consequences thereby questioning the benefits of this technology. It is currently highly challenging to fix errors and deploy a patched contract in time. Instant patching is especially important since smart contracts are always online due to the distributed nature of blockchain systems. They also manage considerable amounts of assets, which are at risk and often beyond recovery after an attack. Existing solutions to upgrade smart contracts depend on manual and error-prone processes. This paper presents a framework, called EVMPatch, to instantly and automatically patch faulty smart contracts. EVMPatch features a bytecode rewriting engine for the popular Ethereum blockchain, and transparently/automatically rewrites common off-the-shelf contracts to upgradable contracts. The proof-of-concept implementation of EVMPatch automatically hardens smart contracts that are vulnerable to integer over/underflows and access control errors, but can be easily extended to cover more bug classes. Our extensive evaluation on 14,000 real-world (vulnerable) contracts demonstrate that our approach successfully blocks attack transactions launched on these contracts, while keeping the intended functionality of the contract intact. We perform a study with experienced software developers, showing that EVMPatch is practical, and reduces the time for converting a given Solidity smart contract to an upgradable contract by 97.6 functional equivalence to the original contract.

READ FULL TEXT
research
12/18/2018

Detecting Standard Violation Errors in Smart Contracts

We present Aloes, a new technique and system for automatically detecting...
research
06/21/2022

ProML: A Decentralised Platform for Provenance Management of Machine Learning Software Systems

Large-scale Machine Learning (ML) based Software Systems are increasingl...
research
11/19/2022

Contract-Backed Digital Cash

We characterize digital cash as the digital equivalent of physical cash:...
research
02/14/2019

Decentralized Release of Self-emerging Data using Smart Contracts

In the age of Big Data, releasing protected sensitive data at a future p...
research
03/01/2022

Practical Mitigation of Smart Contract Bugs

In spite of their popularity, developing secure smart contracts remains ...
research
04/06/2021

Bandcoin: Using Smart Contracts to Automate Mobile Network Bandwidth Roaming Agreements

We propose a new way to share licensed spectrum bandwidth capacity in mo...
research
07/09/2021

Game theory on the blockchain: a model for games with smart contracts

We propose a model for games in which the players have shared access to ...

Please sign up or login with your details

Forgot password? Click here to reset