Source-level change data capture of persisted smart-contract state

Smart contracts are computer programs on the Ethereum network. For a variety of reasons, such as security concerns, we would like to be able to analyze these smart contracts. However, the source code is only available for a limited subset of these contracts. But, the result of the compilation of these contracts, the bytecode, is available for all smart contracts. The main goal of this work is the decoding of smart contracts’ bytecodes. The path towards this goal is automated decompilation of the bytecode. But, current decompilation tools are not compatible with the ethereum bytecode. So, we will first translate ethereum bytecode into a form amenable to known decompilation approaches. Then, we will transform it into a program maintaining its original semantics and data.

Fatemeh Bagheriesfandabadi
Faculty Supervisor: 
Chen Feng;Victoria Lemieux
British Columbia
Partner University: