Skip to content

Latest commit

 

History

History
79 lines (56 loc) · 5.74 KB

README.md

File metadata and controls

79 lines (56 loc) · 5.74 KB

Research on Scaling Blockchains

Scalability is one of the major limitations of blockchains. This repository summarizes the ongoing research on increasing the scalability of blockchains and provides a high level overview on blockchains.

Blockchains are public, distributed, decentralized ledgers which record data that cannot be tampered with. Data is stored in blocks, where each block is built on top of a previous block, forming a chain of blocks (blockchain). Nodes in a distributed peer-to-peer network agree on a chain of blocks (via consensus). Consensus establishes a single view of the data on the blockchain with multiple, mutually untrusting nodes in the network.

Blockchains suffer with poor performance and low scalability as they form a network of replicated state machines and run consensus amongst all of them and also because of the inherent sequentiality in blockchains (Blocks are sequentially built on top of one another), as explained in detail in the overview on blockchains.

Repository Contents

This repository summarizes the papers aiming at scaling blockchains. The efforts towards scaling blockchains are placed along these three axes:

Architecture (New architectures for scalable blockchains)

  • Hyperledger: A novel execute-order-validate architecture for permissioned blockchain systems.

Consensus (Efficient and scalable alternatives to Nakamoto consensus)

  • Algorand: Byzantine agreement amongst a few users, selected using verifiable random functions.

  • Bitcoin-NG: A leader is selected using Nakamoto consensus and serializes transactions until a new leader is chosen.

  • Conflux: Concurrent blocks are optimistically processed without discarding any as forks.

General (General ideas and alternatives towards scaling blockchains)

  • GHOST: Novel construction and reorganization of blockchain (Greedy Heaviest-Observed Sub-Tree)

Quick Summary

Let's take a quick look at the major contributions towards scaling blockchains.

A summary of the peak reported throughput (number of transactions per second or tps), corresponding transaction confirmation latencies and the configuration parameters.

Paper Peak Throughput (tps) Txn Confirmation Latency Block Size, Rate of Blocks (Details)
Algorand 875 ~ 1 minute 10 MB, 10 minutes
Conflux 6400 4.5 - 7.5 minutes 4MB, 2.5 seconds
HoneyBadger 1500 < 6 minutes (104 nodes)
HyperLedger 3000 0.3 - 0.5 seconds 2 MB (32 vCPUs)
OmniLedger 13,000 ~ 1 minute 16 MB (800 hosts, 25 shards, 12.5% adversary)

A summary of the maximum number of peers or nodes reported in the paper. If the scalability is reported against the total number of nodes in the network, then the type of the nodes is "T". If scalability is reported against the number of nodes participating in the consensus, then the type of the nodes is "C".

Paper # Nodes (Type) Config (VMs, nodes per VM) Geo-distribution
Algorand 500,000 (T) 1000, 500 20 cities
Conflux 20,000 (T) 800, 25 20 cities
HoneyBadger 104 (C) 104, 1 5 continents
HyperLedger 3 (C), 100 (T) 20 per datacenter 5 datacenters
OmniLedger 1800 (T) 60, 30 Limit bandwidth, latency

Note:

  • The numbers are not presented for a direct comparison between the systems.
  • Comparing different blockchain based systems is very challenging as there are numerous aspects affecting the transaction throughput of these systems, as summarized in this blog post.
  • There is a lot of interesting ongoing work on analyzing different attacks and the security of blockchains, proposing applications of blockchains in various fields and so on... However, these are not a part of the current study.

Contact Info

Please let me know if there are any papers that could be a good addition to the list by writing to me at [email protected].