Why Do Smart Contracts Self-Destruct? Investigating the Selfdestruct Function on Ethereum

05/16/2020
by   Jiachi Chen, et al.
0

The Selfdestruct function is provided by Ethereum smart contracts to destroy a contract on the blockchain system. However, it is a double-edged sword for developers. On the one hand, using Selfdestruct function enables developers to remove smart contracts (SC) from Ethereum and transfers Ethers when emergency situations happen, e.g. being attacked. On the other hand, this function can increase the complexity for the development and open an attack vector for attackers. To better understand the reasons why SC developers include or exclude the Selfdestruct function in their contracts, we conducted an online survey to collect feedback from them and summarize the key reasons. Their feedback shows that 66.67 the Ethereum after destructing the old contract. According to this information, we propose a method to find the self-destruct contracts (also called predecessor contracts) and their updated version (successor contracts) by computing the code similarity. By analyzing the difference between the predecessor contracts and their successor contracts, we found six reasons that led to the death of the contracts; three of them (i.e., Unmatched ERC20 Token, Confusing Contract and Limits of Permission) might affect the life span of contracts. We developed a tool named LifeScope to detect these problems. LifeScope reports 0 false positives or negatives in detecting Unmatched ERC20 Token and Confusing Contract. In terms of Limits of Permission, LifeScope achieves 85.67 developers who exclude Selfdestruct functions, we propose suggestions to help developers use Selfdestruct functions in Ethereum smart contracts better.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/03/2020

Finding Ethereum Smart Contracts Security Issues by Comparing History Versions

Smart contracts are Turing-complete programs running on the blockchain. ...
research
08/07/2020

When Deep Learning Meets Smart Contracts

Ethereum has become a widely used platform to enable secure, Blockchain-...
research
07/01/2020

Maintaining Smart Contracts on Ethereum: Issues, Techniques, and Future Challenges

Smart contracts are self-executed programs that run on a blockchain. The...
research
12/28/2020

A Survey on Vulnerabilities of Ethereum Smart Contracts

Smart contract (SC) is an extension of BlockChain technology. Ethereum B...
research
01/30/2023

Neural-FEBI: Accurate Function Identification in Ethereum Virtual Machine Bytecode

Millions of smart contracts have been deployed onto the Ethereum platfor...
research
08/30/2019

An Empirical Study into the Success of Listed Smart Contracts in Ethereum

Since it takes time and effort to put a new product or service on the ma...
research
05/11/2023

SigRec: Automatic Recovery of Function Signatures in Smart Contracts

Millions of smart contracts have been deployed onto Ethereum for providi...

Please sign up or login with your details

Forgot password? Click here to reset