Towards the Development of Cost-Effective Decentralized Applications: An Investigation of Transaction Processing Times on the Ethereum Blockchain Platform
Transaction Processing Time , Smart Contracts , Ethereum , Blockchain , Machine Learning , Regression Model , Model Interpretation , Decentralized Applications (DApps)
Ethereum is one of the most popular blockchain platforms for the development of blockchain-powered applications (i.e. ÐApps). When engineering ÐApps, developers need to translate requests captured in the frontend of their application into one or more smart contract transactions. These transactions target specific smart contract functions, and execute once the transactions are processed by other nodes in the network. Developers also need to pay for these transactions, and thus for their code to be executed. Generally the more a ÐApp developer pays for their transaction (i.e., the higher the gas price), the faster the transaction is likely to be processed. In turn, developing cost-effective ÐApps is far from trivial, as developers need to optimize the balance between cost (transaction fees) and user experience (transaction processing times). Online services have been developed to provide ÐApp developers with an estimate of how long a transaction will take to be processed given a certain gas price. The accuracy of these estimation services are crucial in the Ethereum domain. However, despite their key role, the accuracy of such services has not been empirically investigated so far. Additionally, the platforms do not disclose any information regarding their models, particularly information about the used and most important features in the predictions of these models. These issues make it difficult for ÐApp developers to fully trust the predictions generated by such platforms, and also prevents them from being able to forecast variations of gas prices in the future. In this thesis, we study the transaction processing times in Ethereum, investigate the relationship between such processing times and gas prices, and determine the accuracy of state-of-the-practice estimation services. Next, we construct machine learning models using comprehensive sets of Ethereum-based features in order to determine the most important features by characterizing transaction processing times. From these results we can derive numerous implications in order to help ÐApp developers achieve adequate levels of QoS through means such as choices of gas prices for their application-issued transactions.