Bachelor's Thesis Jonas Gebele
Analysis of the Solidity Compiler for Smart Contract Redundancy Detection
Abstract
Smart-Contracts based on decentralized blockchain-systems like Ethereum are one of the most promising emerging technologies that become more and more attractive while enabling completely new types of applications. Solidity, the most popular programming-language for smart-contract development, is regularly maintained and improved by a large community and the Solidity-Commandline-Compiler is integrated in a variety of development-environments for decentralized applications. However, how the compiler and the optimization-processes of the bytecodes work internally is unfortunately not easy to comprehend for the majority of developers. This bachelor thesis will shed light onto this topic by taking a closer look at the concrete implementation of the Solidity compiler and the involved optimizers.
In this thesis we will analyze the source-code of the Solidity compiler and look at the different optimization-procedures and how they affect the bytecode. By first determining the overall structure of EVM-bytecode and describing the functionality of the individual bytecode-segments, we then go into greater detail about the modifications in the different sections due to bytecode-optimization.
Furthermore, we explain how the different optimization-features of the compiler-instructions internally impact the optimizer-utilization in the compiler and how the different optimization influences the resulting bytecode and which modifications can be identified. We then look at the implications of different bytecode-optimization and hereby analyze how to detect potentially redundant bytecodes on the Ethereum blockchain due to lack of optimization. In this context we introduce a design-proposal of such an attempt and discuss conceptional and technical challenges.
| Attribute | Value |
|---|---|
| Title (de) | Analyse des Solidity Compilers zur Smart Contract Redundanzerkennung |
| Title (en) | Analysis of the Solidity Compiler for Smart Contract Redundancy Detection |
| Project | |
| Type | Bachelor's Thesis |
| Status | completed |
| Student | Gebele Jonas |
| Advisor | Dr. Ulrich Gallersdörfer |
| Supervisor | Prof. Dr. Florian Matthes |
| Start Date | 15.05.2020 |
| Sebis Contributor Agreement signed on | 11.05.2020 |
| Checklist filled | Yes |
| Submission date | 16.11.2020 |