BLOCKCHAIN SCALABILITY RESEARCH
Abstract view of BLOCKCHAIN
Blockchain is a digitized, decentralized, public ledger in which transactions made in a cryptocurrency are recorded publicly in a chronological order. It is best known and sometimes interchangeably used in the context of bitcoin, the first digital currency that introduced the concept of blockchains to the world. Bitcoin relies on a network of volunteer nodes that collectively implement a replicated ledger and verify transactions.Bitcoin introduced proof of work to realize distributed trustless consensus in order to solve the problem of double spending
Problems in BLOCKCHAIN
In all blockchain protocols each node stores all states and processes all transactions. This provides a high level of security but also hampers the scalability of the network.Bitcoin is a self-regulating system that works by discovering new blocks at approximate intervals, its highest transaction throughput being capped by maximum block size divided by block interval.
At the time of development of bitcoin, these parameters were arbitrarily chosen, the block interval being 10 minutes and the block size being 1MB. Current blockchains do not have the capability of performing more transactions than the capacity of a single node which is currently around 3-7 on the bitcoin network and around 7-15 on the Ethereum network.
Possible Solutions to BLOCKCHAIN problem.
Increasing the block size: This can work and in some situations may well be the correct prescription, as block sizes may well be constrained more by politics than by realistic technical considerations. But regardless of one’s beliefs about any individual case such an approach inevitably has its limits: if one goes too far, then nodes running on consumer hardware will drop out, the network will start to rely exclusively on a very small number of supercomputers running the blockchain, which can lead to great centralization risk.
Decreasing the block interval: Decreasing the block intervals lets us mine more blocks in a certain time, which directly improvises throughput. Although, if not given enough time for the block to propagate through the network, miners might end up having more orphan blocks than pushing blocks to the mainchain. This will lead to miners having a lower profitability and thus leaving the network. Ethereum currently uses very low block intervals, but it also incentivizes orphan blocks for the work leading to better throughput, faster blocks without losing the miner network.
Multi-tier Networks: Multi-tier networks can help in scaling blockchains. The additional tier of nodes may not entirely be volunteer similar to the way Dash implements it. Dash in addition to the volunteer full nodes on the network, also has high bandwidth nodes known as Masternodes. These nodes require a collateral of 1000 dash to run as a proof of stake. Since these nodes have high bandwidth, they lead to faster block propagations and may cause less orphan blocks.
Therefore, Dash utilizes a much lower block interval (~2.5 minutes) as compared to Bitcoin (10 minutes), which is enough for the block to propagate through the network with a lower orphan block rate. Ethereum in its future research plan wants to create “layer 2” protocols that send most transactions off-chain and only interact with the underlying blockchain in order to enter and exit from the layer-2 system and in case of attacks on the system.
Bitcoin-Simulator: The simulator(bitcoin) was built originally by ETH Zurich to run experiments for the hypothesis in the research paper “On the Security and Performance of Proof of Work Blockchain”. The simulator is built on NS3 (Network Simulator 3). Network Simulator 3 is an open source product built to a model different topology of networks. The simulator has capabilities to plug in various network related environments without the use of actual hardware.
The capabilities offered by the simulator are flexible block sizes, flexible block intervals, size of the network, propagation techniques such as standard, send headers, Relay network, Unsolicited, unsolicited relay network.
Dash-Simulator: We have used this simulator and advanced it to model the two-tier network of Dash, the second tier being the masternode layer. Since transactions are the building blocks of a blockchain and form half the traffic of the network, it is useful to take their propagation into account and add it as traffic that a node has to handle.
Currently, we are adding modules to simulate transaction propagation through the network. This will help us maintain a mempool for each node. With these modules being added, we can increase the traffic on the network at any time and experiment with more advanced techniques of propagation such as Compact blocks and Xthin blocks.These techniques are important to model because they ultimately use the transactions being propagated to recreate the block rather than propagating them again causing the network to be more congested.
Compact blocks aim at reducing the block propagation traffic in the network by sending short transaction IDs which take advantage of the fact that each node already has all or most of the transactions in their mempool. Xthin blocks use the same technique, but xthin also adds an additional bloom filter in order to recreate the missing transactions without taking a second trip the source node.