Modular Blockchain Simulation Framework

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 simulating blockchain systems. The goal is to be able to modify different layers of blockchains systems, such as network, consensus, persistence and application layers, in a modular way. The main advantage is being able to evaluate just specific modifications in a blockchain system with thousands of nodes, while keeping all other aspects intact. For example, the simulation framework should allow mixing different elements, such as the gossip protocol in Ethereum, with the block format of Bitcoin, and a new consensus protocol implemented by the user.

The project will start by studying other simulation frameworks [1-6]. The main goal of this initial study is to understand the requirements of the framework and what can be reused from other projects. The next step will be to define a general architecture and data flow that all DLTs follow. Then, an initial API for the simulation framework will be designed. Selected protocols in different layers will be chosen (gossip, consensus, etc) from existing blockchain systems (such as Ethereum, IOTA, Algorand, etc) and implemented following the defined API. The prototype will then be used to evaluate a few selected blockchain systems, and different combinations of their protocols.

If you are interested, please send an e-mail to thiagoga@ifi.uio.no in order to schedule a meeting.

[1] https://github.com/iotaledger/multiverse-simulation
[2] https://omnetpp.org/ 
[3] https://github.com/carlosfaria94/blocksim 
[4] https://github.com/dsg-titech/simblock 
[5] https://github.com/hyajam/jabs 
[6] https://github.com/i13-msrg/vibes 

 

Emneord: blockchain, distributed ledger, distributed systems, Simulation, Experiments, API, Software Architecture, measurement, software engineering, open source
Publisert 11. juli 2022 16:05 - Sist endret 11. juli 2022 16:20

Veileder(e)

Omfang (studiepoeng)

60