EShield: Protect Smart Contracts Against Reverse Engineering

Wentian Yan,Jianbo Gao,Zhenhao Wu,Yue Li,Zhi Guan,Qingshan Li,Zhong Chen
DOI: https://doi.org/10.1145/3395363.3404365
2020-01-01
Abstract:Smart contracts are the back-end programs of blockchain-based applications and the execution results are deterministic and publicly visible. Developers are unwilling to release source code of some smart contracts to generate randomness or for security reasons, however, attackers still can use reverse engineering tools to decompile and analyze the code. In this paper, we propose EShield, an automated security enhancement tool for protecting smart contracts against reverse engineering. EShield replaces original instructions of operating jump addresses with anti-patterns to interfere with control flow recovery from bytecode. We have implemented four methods in EShield and conducted an experiment on over 20k smart contracts. The evaluation results show that all the protected smart contracts are resistant to three different reverse engineering tools with little extra gas cost.
What problem does this paper attempt to address?