Maturing Blockchains With Propagation, Scaling and Adoption
Unless you’re hiding under a rock, I am sure you’d have heard of blockchain and the associated technicalities jarring it. Concepts including decentralization, bitcoin, mining, and ledgers seem to be finding new admirers every day with more romanticism being built around “Satoshi”. While the enthusiasm amongst the crypto-community is burgeoning, the need for a secure and scalable infrastructure is becoming all the more imminent.
Social Media On-Chain
Scalability, the big buzzword around the community, has been the strongest point of debate for over a year now by crypto critics, experts and enterprises alike, thwarting mainstream adoption of the technology. Interestingly so, if blockchain in its current shape were to support Facebook, it would only be able to support 15 likes/second, against the millions which otherwise flow through the platform. Now, couple those millions with the amount of activity happening at Snapchat, Instagram, and YouTube, and it’s easy to visualize the instant need for scalability in blockchains?
Breaking Down “The Chain”
For simplicity of discussion, we will consider Bitcoin as the base blockchain, but the problem remains identical for other blockchains.
Deconstructing a Block
“Blocks” are the founding pillars of a blockchain which store sets of information and links. Each “block” of information connects to the next, forming a “chain” of information.
Utilizing the Bitcoin blockchain, each time a transaction is executed, the associated information needs to be stored in a so-called digital container, or block, preserved immutably forever in bounds of code and algorithms. Approximately every ten minutes, a new block is minted, or created through the mining process. As each new block is mined, that block is propagated throughout the entire Bitcoin network using a “P2P Propagation Mechanism.” This is a fancy way of expressing an “information diffusion process” where one miner sends the block to its 8–10 peers, or networks, who further sends it to their peers until the block reaches the entire network.
3 Planes of a Crypto Network
Imagine the entire cryptocurrency network as a pyramid with three planes: Network, Consensus, and Ledger.
The “network” plane is where the P2P propagation runs.
The “consensus” plane is the functionality that mines blocks for a distributed consensus, or agreement, is reached. It ingests messages from the network plane, outputting transactions for insertion into the system ledger for integration into the Blockchain.
The “ledger” plane is where the blocks are finally stored once they are mined.
In the last year alone, several projects have emerged addressing how to scale Blockchains with a primary emphasis on the “consensus” plane. However, the “network” plane which is the foundation behind these systems, has been mostly identified as a “black box” which just works.
Block Propagation on Network Planes
Bitcoin’s P2P network consists of “miner nodes” where the nodes are randomly connected with each other. Transactions and blocks are transmitted over this network by these nodes until each has received the message. For a message to be diffused through the network, the transaction travels in hops. With each iteration, a set of two (2) nodes are sent the message, while the network diffusion grows by a factor of 2^n. The diffusion increases exponentially as the hops increase, and after 12-15 hops, the entire network receives the message.
Blockchain Throughput is measured by the number of transactions per second that it can support and is measured as:
- Throughput = Transactions/Block * Blocks/second (Inverse of Block interval), where Transactions/Block is a factor of Bitcoin’s current block capacity and average transaction size
- Transactions/Block = Bitcoin capacity /average Transaction size
The current Block capacity for Bitcoin is 1MB for a Block interval of 10 minutes and given the average transaction size of nearly 540 bytes, the Bitcoin network currently processes ~1950 transactions per Block, which translates to ~3 transactions per second (TPS).
To increase the throughput one can either increase the Transactions/Block or Blocks/second.
A lot of work has already gone into increasing the number of transactions per block using both on-chain and off-chain methods. To increase the capacity by a factor of 10x, teams have tried increasing the block size by 10x. An increased block-size generally keeps the number of hops intact – 12-15 hops for the whole network but requires sending a larger block (1 * 10MB) over the Bitcoin link. Although the transaction/block here increases, it leads to the issue of network throttle, increasing the propagation time by a factor of 10x, further opening up an even more critical debate of Bitcoin forks. The hard-fork of Bitcoin into Bitcoin Cash stands testimony to one such attempt.
Blocks/second, on the other hand, is another significant area of consideration for network scaling, but till date has been oft-neglected due to several throttling factors. The current system of gossip that determines travel time in a Network plane, is certainly inefficient for its lack of features like latency optimization, pipelining, redundancy, message losses, congestion, and others, which hinders Bitcoin’s network stack from reaching the per-node link bandwidth.
On keen observation, one can now easily sense a stage being perfectly set, for a further exploration in this area, which can decrease the propagation time by a factor of the scale a new efficient system can bring in, without affecting the fork rates. If any project can make the network layer more efficient and reduce the block propagation time significantly, enhancing transaction finality, it would open doors for the next wave of blockchain adoption.
It’s Time For Network Layers to Drive the Next Wave
After analyzing the various aspects of a block’s journey, let’s circle back to where we had started the discussion. In the last year, several projects primarily targeting the consensus plane have emerged.
Both on-chain and off-chain scaling solutions have been explored widely with on-chain projects like Dfinity, Zilliqa, Cardano and EOS trying to modify the overall consensus to achieve higher throughput while side-chain and off-chain projects like Plasma, Lightning Network, and Raiden Network, are creating ways to achieve scale by computing off the chain and storing the final output on-chain.
Unfortunately, most of these have compromised on security and/or decentralization or have fragmented the network enough causing concerns for adoption.
There’s a new wave of projects that are attempting to increase the speed of block propagation at the network level while strengthening the security and decentralization of blockchains. Focusing on roughly two main issues — block compression to limit the amount of data needed to be propagated over the network, and relay speed to minimize the time it takes for blocks to propagate, these projects are agnostic to and interoperable with any on-chain or off-chain scaling solution.
- BloXRoute, a startup founded by lab mates of the team behind the Falcon Project aims to commercialize cut-through routing with a high-speed centralized network.
- Marlin Protocol, a project founded by researchers from Stanford and MIT is building a decentralized relay network with crypto-economic incentives to speed up P2P propagation of packets.
- Marconi is a networking startup working on creating secure communication pipes designed down to the ethernet level to bring in security and upgradability to the communication network.
- Orchid Labs is creating an incentivized Tor network.
- Other projects like Fast Relay Network, Fibre and Falcon have tried to optimize for speed, packet losses, and smarter routing, but have mostly been limited to a privileged group of miners.
Amongst the sea of new consensus protocols coming by the day, these networking startups are a refreshingly new direction to scaling Blockchains.
According to Marlin’s CEO Siddhartha Dutta, network layer scaling solutions require minimal changes on the part of existing or newly developed blockchain platforms.
“Given the ubiquity of the network layer in any P2P system and the low friction involved in integrating a faster relay network, solutions such as Marlin are an easy way for blockchains to achieve higher throughput. Unlike existing relay networks, Marlin’s permission-less network powered by its dynamic traffic steering technology is immune to centralized crackdowns and provides a great deal of flexibility to developers.”