How bloXroute Achieves Its Performance

bloXroute Team
bloXroute

--

By Eleni Steinman, Strategy & Operations

*This post has been updated from its original version. Please visit our documentation page for more information.

In our last blog post we talked about the importance of neutrality in building a system that solves the scalability bottleneck. In this post, we will discuss how bloXroute’s Blockchain Distribution Network (BDN) scales blockchains by optimizing the networking layer known as Layer-0.

For a more in depth technical look at the BDN, you can read our documentation here.

How are blocks currently propagated?

Blockchain nodes connect to peer nodes — who are often geographically dispersed around the world — to create a peer-to-peer (P2P) network. (Read our post on how peer nodes connect here). When a new block is mined, the winning node sends the block to its peers, who wait until they receive the entire block, validate that block and then sends the block on to their peers, until the block is propagated throughout the entire P2P network.

Slow block propagation has been an issue for many years. In late 2013 / early 2014, the Fast Relay Network (FRN) was introduced to mitigate this problem. The FRN was a volunteer service operated for many years for the benefit of the miner community, until its support was abruptly stopped, and later replaced by FIBRE. The Falcon Network is another relay service run by Cornell University and offers several enhancements over FRN such as faster block propagation.

Source: http://bitcoinstats.com/network/propagation/

While these relay networks have provided some performance benefits, they are not enough to remove the scalability bottleneck. This is because they were not built with the goal of scalability in mind (albeit FIBRE is specifically optimized for small blocks).

The scalability problem is a networking problem and requires a solution specifically designed to solve it. In all blockchains, regardless of the consensus mechanism, miners and validators must receive the latest block before they can produce the next one. Sending larger blocks takes linearly longer to reach the entire network, thus, if a miner sends a 10x larger block, it will take 10x longer to reach everyone, and no scale will be achieved. As a refresher, read our CEO and Co-Founder, Uri Klarman’s post here for a more in depth explanation.

The bloXroute BDN

The bloXroute BDN is a new broadcast primitive that is able to capture the efficiencies of a single source node data transmission to send data faster while preserving the trustless nature of blockchains (read more about how we do this here). We employ four elegant, yet powerful techniques to achieve this performance: transaction caching, cut-through routing, optimized dynamic scale topology, and dynamic route selection.

Transaction caching: bloXroute reduces network redundancy through the use of transaction caching. Since transactions are already known when it’s time to send out the block (as an unconfirmed transaction stored in the mempool, rather than send a block with “raw” transactions) the BDN sends just a few bytes representing the transaction. It does this by indexing the transactions, and then utilizing the indexes when transmitting blocks.

The transaction and block propagation process is as follows:

When a miner builds and then sends its block to the Gateway, the Gateway replaces each transaction with a 4-byte internal ID. This technique allows bloXroute to effectively compress the block size by more than 100x (given that the average raw transaction is approximately 500 bytes, the index size is 4 bytes and the Gateway has a full mapping of the transactions that exist in the block) and in turn, propagate blocks over 100x faster (or 100x larger blocks at the same speed). If a transaction in a block has no internal ID, it is not replaced in the block.

Next, the block is propagated throughout the BDN (servers). Once the block is received by the Gateways on the other end it is reconstructed using their internal index tables.

Xthin blocks, Graphene and Compact blocks are similar techniques that compact blocks by replacing each transaction with its 6 bytes hash (not the usual 32 bytes SHA-256 hash). In our previous post, Uri, Co-Founder and CEO, explains the limitations of these solutions when the volume of transactions increases as keeping mempool in sync becomes harder, and collisions become frequent. Conversely, the bloXroute BDN does not suffer from the same desynchronization as the servers have a clear picture of all the data.

Cut-through Routing: Without bloXroute, each hop in the block propagation checks the validity of the block it is receiving before sending that block on. A node will transmit blocks to its peer only when the block is fully received and validated. The bloXroute BDN does not wait until the entire block is received before it sends the block to a peer node but rather immediately streams each packet of data as it is received through a well-provisioned dedicated network infrastructure. This technique, known as cut through routing, allows bloXroute to broadcast data 10–100x quicker. Only once the blocks are received by the node through the Gateway are they validated.

Optimized topology: Another advantage of the BDN is its optimized topology. New Bitcoin nodes can find initial network peers by querying a set of hard-coded DNS servers. The DNS servers provide joining nodes with their initial peer list to connect to and from there, new bitcoin nodes can crawl through the network. The result is a web of random connections where data is not propagated throughout the network in the most optimal route.

Conversely, bloXroute has strategically placed servers around the world to send data as efficiently as possible to the geographically dispersed set of nodes that comprise the various blockchain networks.

Furthermore, the BDN Control Plane will dynamically select the optimal relay peers (transaction relay and block relay) based on network latencies and load. In most cases, the Control Plane will connect the Gateway to the closest server in terms of latency (ping distance).

This optimized topology allows the BDN to propagate data to the entire network more efficiently than a P2P network. Because bloXroute is by design neutral, it is able to take advantage of this efficiency without impacting the decentralized nature of blockchains.

Dynamic Route Selection: bloXroute utilizes dynamic routing selection to automatically determine, in real time, the optimal network route to communicate block and transaction information. Our dynamic routing protocol takes various variables into consideration such as distance, reliability and bandwidth. This enables bloXroute to flexibly work around network bottlenecks to find the fastest and most reliable route possible to reach its destination.

Conclusion

bloXroute is able to remove the scalability bottleneck in all blockchains using internal IDs, cut-through routing, optimized topology and dynamic route selection. These techniques can provide scale that far surpasses the current needs of any single blockchain and are compatible with all blockchains as they run underneath the consensus layer.

— — —

We’re always looking for good people!

If you’re equally excited to solve the scalability bottleneck for blockchains, consider joining our team! We are always looking for passionate partners to help us on this important journey. Check out our available positions to work with us in our Chicago offices.

— — — — — —

Learn more

--

--

bloXroute Team
bloXroute

Scaling blockchains to thousands of on-chain transactions per second. Today.