Evaluation of a novel blockchain-based distributed ledger

DegreeBachelor / Master
Status
Supervisor(s)Patrik Keller, MSc

Description

We are developing a novel blockchain protocol based on proof-of-work that might improve on Nakamoto consensus (Bitcoin, and similar) in several ways. So far, we have a prototype implementation of the consensus layer and a basic network simulation. Since the existing results look promising, we want to pursue a complete implementation and further evaluation.

The goal of the thesis is to extend our work in one of the following aspects. We plan to assign several related theses on this topic. The scope of each topic can be adapted to either Bachelor or Master levels.

  • The reward scheme of Bitcoin drives risk averse miners to join mining pools. We have in mind a basic reward scheme for motivating the participation in our proof-of-work consensus. The task of this thesis is to evaluate how likely the formation of mining pools is with our protocol and reward scheme as compared to Bitcoin.
  • We evaluated our protocol assuming a perfect proof-of-work puzzle based on an ideal hash function. There are proposals for puzzles that deviate from this assumption (Ethash, Cuckoo, MTP) but improve on other aspects. The goal of this thesis is to analyze to which degree our protocol tolerates such deviations.
  • Currently we simulate multiple nodes executing the protocol on a single machine. We want to evaluate how the protocol behaves for real-world latencies. The goal of this thesis is to simulate the protocol on a global network.
  • Our simulation does not implement the network layer. The goal of this thesis is to implement a peer-to-peer broadcast network similar to the one in used Bitcoin. The work should review the known weaknesses of Bitcoin’s peer-to-peer layer and try to adapt the lessons learned as much as possible to the requirements of our consensus protocol.
  • In order to be useful outside of academia, we also need an implementation of the application layer. The goal of this thesis is to implement an UTXO or account-based transaction logic on top of the existing consensus layer.
  • An alternative route to a complete implementation is to integrate our proposed consensus mechanism into an existing distributed ledger like, e.g., Tezos. This would sidestep the previous two implementation tasks but comes with other problems (e.g., working with a complex code base).

Prerequisites

Interest in distributed systems and, ideally, OCaml