Abstract:
Blockchains were introduced as an innovative means of storing and processing transactions securely and in a decentralized manner. They function by recording transactions in a sequential chain of blocks, wherein each block incorporates the cryptographic hash of its preceding block. However, the emergence of blockchains as a way to organize and protect user data across the internet has come with some concerns, mainly how to deal with the issue of scalability while still maintaining the security standards as well as the decentralized nature inherent to blockchains. Many different implementations were offered. This paper investigates the concept of sharding, which offers a promising solution by partitioning a blockchain into smaller clusters to optimize performance through efficient load balancing. First, we will explore the existing literature on the subject and related algorithms. Then provide a detailed explanation of the functioning of the existing centralised and decentralised algorithms, as well as the one proposed by this thesis. Next, we will elicit the settings and conditions of the simulation environment, both in data collection and preparation. Finally, we will provide the results obtained as well as a comparative analysis of the tested algorithms and give an overview of possible future endeavours in the advancement of load-balancing algorithms concerning sharded Blockchains.