Rethinking blockchains: exploring new paradigms

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). A common trade-off across different platforms refers to scalability, in terms of size (number of nodes) vs performance (transaction processing throughput and latency).

For instance, permissionless systems (where anyone can join or leave), such as Bitcoin or Ethereum, scale well in terms of size, since the performance and security of the system is not affected when more nodes join. However, these systems have poor scalability in terms of the transaction load: there is a low limit to the maximum number of transactions they can process (for example, 7 transactions per second on average for Bitcoin). On the other hand, permissioned systems (where only authorized nodes can join), such as Hyperledger Fabric, often have much better transaction processing capabilities, but scale poorly in terms of size. This trade-off comes mainly from the different security requirements and technological features of each type.

Many approaches have been proposed for addressing this trade-off. Several proposals focus on improving different layers of a blockchain system, such as networking and consensus. But there is a limit to how much it is possible to improve scalability following this approach. In this project, we are interested in investigating more radical shifts in the paradigms often followed when designing blockchain systems.

For example, recent works show that consensus is not necessary for performing online payments [1,2]: the authors replace consensus with a more lightweight primitive, Reliable Broadcast. Other examples refer to the data structure used to build the ledger containing blocks and/or transactions: many works employ DAGs or authenticated single-writer append-only logs, instead of a blockchain [2,3,4,5,6]. Yet another approach is to allow temporary inconsistencies to exist in the ledger (metastability) which will stochastically converge to a consistent state [5,7]. Replication based only on gossiping (or epidemic) broadcast primitives [8], and how to select random unbiased nodes [9], are also other approaches being explored recently.

Goals

This topic is wide in scope and may result in multiple master theses. As a first step the student will have to narrow down the scope of the thesis to focus on just one or two of the following research questions:

  • Which types of applications different designs can support? Examples of applications: payments, supply chain, reputation management, service discovery, data logging, data aggregation
  • What probabilistic guarantees (relative to security and liveness) can we have under different scenarios?
  • How much scalability (in size and performance) do we gain while following different paradigms?
  • What are the impacts of loosening (or removing) the consensus layer?
  • What are the impacts of using different data structures to record the ledger?
  • How different gossip/epidemic broadcast protocols impact the system under different scenarios?
  • What type of incentives can be employed in different paradigms?
  • How to evaluate/analyze each component/layer?

Expected tasks

  • Read many academic papers
  • Understand the different layers of a blockchain system
  • Understand the impact of modifying different components in each layer of a blockchain system
  • Design new platforms replacing just a few components each time
  • Comparative evaluation: program, simulate and demonstrate the improved performance

Qualifications

  • Good understanding of distributed systems principles
  • Capability of reading and understanding academic papers
  • Programming skills
  • Experience with deploying software on multiple nodes
  • Experience with network and/or event-based simulators is a plus

Contact

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

References

[1] R. Guerraoui et al., “The Consensus Number of a Cryptocurrency,” ACM Symposium on Principles of Distributed Computing (PODC), 2019, https://dl.acm.org/doi/abs/10.1145/3293611.3331589

[2] D. Collins et al., "Online Payments by Merely Broadcasting Messages," IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2020, https://ieeexplore.ieee.org/abstract/document/9153430

[3] A. Kermarrec et al., “Gossiping with Append-Only Logs in Secure-Scuttlebutt,” International Workshop on Distributed Infrastructure for Common Good (DICG), 2020, https://dl.acm.org/doi/abs/10.1145/3428662.3428794

[4] Q. Wang et al., “SoK: Diving into DAG-based Blockchain Systems,“ 2020, https://arxiv.org/abs/2012.06128

[5] Team Rocket et al., “Scalable and Probabilistic Leaderless BFT Consensus through Metastability”, 2020, https://arxiv.org/abs/1906.08936

[6] IOTA, https://www.iota.org/

[7] S. Popov et al., “FPC-BI: Fast Probabilistic Consensus within Byzantine Infrastructures,” Journal of Parallel and Distributed Computing, 2021, https://www.sciencedirect.com/science/article/pii/S0743731520303634

[8] C. Patsonakis et al., "Revisiting Asynchronous Rumor Spreading in the Blockchain Era," IEEE International Conference on Parallel and Distributed Systems (ICPADS), 2019, https://ieeexplore.ieee.org/abstract/document/8975840

[9] A. Auvolat et al., “BASALT: A Rock-Solid Foundation for Epidemic Consensus Algorithms in Very Large, Very Open Networks,” 2021, https://arxiv.org/abs/2102.04063
 

Emneord: blockchain, distributed ledger, distributed systems
Publisert 8. sep. 2021 14:07 - Sist endret 8. sep. 2021 15:26

Omfang (studiepoeng)

60