There has been an increasing interest in Blockchain systems since Bitcoin was launched in 2009. Many different platforms have been proposed, each with its own assumptions and goals (examples include Ethererum and Hyperledger). There are still several open challenges for blockchain platforms, especially in topics related to scalability, performance, and sustainability. However, frameworks for evaluating new proposals are rare and too specific: most researchers develop ad hoc tools for evaluating their proposals.
In this project, we will develop a general framework for evaluating blockchain systems (or any other decentralized P2P system) in an emulated environment. The goal is to deploy nodes as Docker containers on an emulated network with specified conditions, such as bandwidth, latency, jitter, and loss rate between different pairs of peers. The main advantage is being able to evaluate a new blockchain system with hundreds of nodes in a local cluster, as if it was running in real-world conditions, such as the Internet. The framework may include, for example, automation scripts, APIs, compilers, Docker or Kubernetes plugins. Identifying the necessary elements is part of the project.
The project will start by studying already existing open source projects [1-6] and other technologies that might be employed [7-9]. Then a minimum set of features will be defined and implemented into a prototype. The prototype will then be employed to evaluate a few selected blockchain systems (examples: Ethereum, IOTA, Algorand, Hyperledger Fabric).
If you are interested, please send an e-mail to email@example.com in order to schedule a meeting.