Schäffer, M. (2019). Performance and scalability of smart contracts in private ethereum blockchains [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2019.56625
Recently, the term blockchain has been on everyones lips due to the media hype which has emerged around the cryptocurrency Bitcoin. Soon the blockchain paradigm has become an inspiration for additional applications next to cryptocurrencies. One type of such applications are smart contracts, i.e. programs which are executed on a blockchain network and move digital assets according to arbitrary pre-specified rules. Utilizing the combination of cryptographically secure mechanisms of a blockchain and the possibility to execute programs on a blockchain network results in promising use cases for the public and the private sector. In order to run smart contracts, a platform such as Ethereum can be used. In contrast to a public smart contract platform, a private version allows to configure some blockchain-specific parameters when setting up the system. Examples of these configuration parameters are the time passing between two consecutive blocks, the size of blocks, the hardware of the nodes running the blockchain software or simply the size of the network. However, how these and other parameters of a private Ethereum smart contract platform affect the performance of the system is still poorly understood. Moreover, it is not clear to which extent these parameters scale and which parameters represent the bottleneck of such systems. In order to tackle this problem, this thesis introduces a novel concept for measuring the performance and scalability of private Ethereum smart contract platforms. This concept is practically implemented in a framework which allows to automatically deploy differently configured private Ethereum smart contract platforms on the cloud for the purpose of gathering performance-related data. Based on the gathered data, various charts were created which visualize the effects on performance when changing a specific parameter. The results of the data analysis conducted show that the effect of variations in one parameter is highly dependent on the configuration of other parameters as well, especially when running the system near its limits. Nevertheless, a structure which depicts the bottlenecks of current private Ethereum smart contract platforms has been identified. Further research may be conducted in order to support additional Ethereum clients and APIs.