HIGHLY AVAILABLE ETHEREUM BLOCKCHAIN NODES

Abstract

Blockchain technologies are taking the world by storm and a plethora of use-cases
have come up in recent years. It is no longer restricted to cryptocurrencies, instead forming the basis of decentralized applications-Blockchain3.0. According to
the Gartner hype-cycle-for-blockchain-2021 report, blockchain technology has
crossed the disillusionment trough of the hype cycle and is ready to see increased
adoption in enterprises. However, another report from Deloitte on enterprise
blockchain adoption, stated that even though more and more enterprises are looking into integrating Blockchain technology as part of their portfolio but only a few of them are actually able to integrate and take it to the production phase. The primary reason was attributed to challenges faced by organizations related to scalability and management of blockchain node deployment, at least for public blockchains. This could limit the adoption. With more and more applications using Blockchain for critical functionalities, service availability is a significant cause of concern. Blockchain architecture inherently has support for high availability. However, applications can suffer downtime in case the respective participant node goes down - Single point of failure. Although the process of creating a new participant node isn’t necessarily complicated, the process of deploying and maintaining a blockchain node can be intimidating. So, this becomes a bottleneck for production applications.

In this thesis, we propose a system to attain highly-available Ethereum nodes for cloud-native blockchain-based applications. The application is deployed on the Kubernetes platform. We evaluated our system by running it on the Ethereum mainnet network and our experiments demonstrate that a considerable improvement can be achieved in the availability of the system by creating an efficient backup-restore mechanism for blockchain nodes and having a rigorous health monitoring system. We found that our solution is capable of reducing the synchronization time for a new node by 10-times when compared to the default approach.

Publication Type
Publication Year
Department
Computer Science and Software Engineering
Subject
Computer Science