Improving blockchain network layer: topology, broadcast, node discovery, and beyond

There has been an increasing interest in Blockchain systems since Bitcoin was launched in 2009. Many different platforms have been proposed, such as Ethereum and Hyperledger. Blockchain systems are usually built on top of peer-to-peer (P2P) networks, in which information is propagated following broadcast protocols.

Although blockchain systems are highly reliant on the propagation of information, the network layer of such systems is not as well explored in academic literature as other layers, such as consensus [1]. A high propagation delay may result in forks, slower consensus, and worse transaction throughput and latency. Therefore, it is important to accelerate information propagation, incentive nodes to relay data as fast as possible, while not creating unnecessary overhead and maintaining the system security.

For instance, propagation delay may depend on the P2P overlay topology, nodes real geographic location, nodes bandwidth, and specific features of the broadcast protocols employed, among others. In this project, we are interested in improving the network layer, by exploring different topologies [2,3,4], broadcast protocols [5,6,7], incentive schemes [8,9,10], node discovery mechanisms [11,12], etc.

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:

  • How to incentivize nodes to relay transactions and blocks?
  • How to design and evaluate a secure reputation-based incentive scheme?
  • How to enforce and/or incentivize a specific bandwidth allocation scheme?
  • Is it possible to opportunistically broadcast information from other layers to improve their performance?
  • Is it possible to securely organize nodes in a more structured topology?
  • What is the impact of different topologies on propagation delays and on consensus?
  • Can we establish trade-offs between security, network overhead, and propagation delay?
  • How to discover new nodes to connect to in an unbiased way?
  • Can we identify which nodes in a given topology are the more influential?
  • How to ensure honest nodes are well-connected?
  • How link failures impact information propagation?
  • Which protocols from P2P literature can be safely employed in the context of blockchain systems?

Expected tasks

  • Read many academic papers
  • Understand the network layer of blockchain system and its components
  • Understand the impact of the network layer components on other layers, such as consensus
  • Understand the communication patterns of transaction propagation, block propagation and different consensus protocols
  • Perform modifications on different components of the network layer
  • Comparative evaluation: program, simulate and demonstrate the improved performance

Qualifications

  • Basic understanding of distributed systems principles
  • Capability of reading and understanding academic papers
  • Programming skills
  • Experience with network measurements
  • 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] Dotan et al., “Survey on Cryptocurrency Networking: Context, State-of-the-Art, Challenges,” 2020, https://arxiv.org/abs/2008.08412

[2] Tochner et al., “How to Pick Your Friends A Game Theoretic Approach to P2P Overlay Construction,” ACM Conference on Advances in Financial Technologies, 2020, https://dl.acm.org/doi/10.1145/3419614.3423252

[3] Hao et al., “Towards a Trust-Enhanced Blockchain P2P Topology for Enabling Fast and Reliable Broadcast,” IEEE Transactions on Network and Service Management, 2020, https://ieeexplore.ieee.org/abstract/document/9034008

[4] Mao et al., “Perigee: Efficient Peer-to-Peer Network Design for Blockchains,” Symposium on Principles of Distributed Computing, 2020, https://dl.acm.org/doi/10.1145/3382734.3405704

[5] Ayinala et al., “PiChu: Accelerating Block Broadcasting in Blockchain Networks with Pipelining and Chunking,” IEEE International Conference on Blockchain, 2020, https://ieeexplore.ieee.org/abstract/document/9284784

[6] Rohrer et al., “Kadcast: A Structured Approach to Broadcast in Blockchain Networks,” ACM Conference on Advances in Financial Technologies, 2019, https://dl.acm.org/doi/10.1145/3318041.3355469

[7] 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

[8] Babaioff et al., “On Bitcoin and Red Balloons,” ACM Conference on Electronic Commerce, 2012, https://dl.acm.org/doi/10.1145/2229012.2229022

[9] Wang et al., “Incentivizing cooperative relay in UTXO-based blockchain network,” Computer Networks, 2021, https://doi.org/10.1016/j.comnet.2020.107631

[10] Ersoy et al., “Transaction Propagation on Permissionless Blockchains: Incentive and Routing Mechanisms,” Crypto Valley Conference on Blockchain Technology, 2018, https://ieeexplore.ieee.org/abstract/document/8525389

[11] Bortnikov et al., “Brahms: Byzantine resilient random membership sampling,” Computer Networks, 2009, https://doi.org/10.1016/j.comnet.2009.03.008

[12] 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, network protocols
Publisert 8. sep. 2021 14:22 - Sist endret 8. sep. 2021 15:26

Omfang (studiepoeng)

60