bloXroute Labs
Published in

bloXroute Labs

bloXroute’s Experiences Scaling Ethereum

By bloXroute Labs Co-Founder & Chief Architect Professor Aleksandar Kuzmanovic

bloXroute Labs provides network scaling support for Ethereum Mainnet, better connecting the largest mining pools and end users. In this article, we summarize the key insights into bloXroute’s impact on Ethereum’s network-level performance since going live in November 2019.

bloXroute’s Blockchain Distribution Network

Before explaining how bloXroute strengthens Ethereum’s network layer, let us first briefly revisit the bloXroute architecture. bloXroute deploys a Blockchain Distribution Network (BDN) that helps Ethereum nodes propagate transactions and blocks quickier and more efficiently, and most importantly — — scale, i.e., achieve thousands of transactions per second (TPS) rates.

bloXroute’s BDN consists of Relays and Gateways. Relays are high-end servers connected among each other in a global and fast bloXroute backbone that transmits blockchain messages (transactions and blocks) in an efficient manner. A Gateway is a small piece of software, typically implemented on a server with low latency to the blockchain node, and from the perspective of the blockchain client is simply another peer in the network. On one end, a Gateway speaks the Ethereum “language” with an Ethereum node, and on the other end it speaks the bloXroute “language” with Relays.

A Gateway has several features, but most notably it compresses and decompresses blocks. In particular, bloXroute’s BDN initially broadcasts transactions generated by end-users. In addition, it also creates unique short identifiers (SIDs), i.e., one SID for each transaction. The BDN also broadcasts SIDs throughout the network, such that all Gateways and Relays become aware of them. Hence, once a block is mined, the local Ethereum miner’s Gateway compresses the block by replacing the original transactions with SIDs. All receiving Gateways do the opposite, i.e., replace SIDs with the original transactions. In this way, bloXroute improves the block propagation times, often significantly, in a fully transparent manner. This approach further enables the creation of much larger blocks, hence scaling.

bloXroute’s Experiences with Ethereum

Here, we explain how the above approach works in practice, and outline the key challenges that we encountered.

Demonstrating Immediate Value

The first challenge was to demonstrate that even without any scaling (i.e., the use of large blocks) bloXroute still brings value to Ethereum. The challenge lies in the use of very short blocks, several hundreds of kilobytes, that happen frequently, approximately every 15 seconds on average in Ethereum. Short blocks can, in general, be quickly propagated through the P2P network, hence it was a question of if the BDN improves the existing propagation times.

Our tests with large mining pools demonstrated that the block propagation times, even for such short blocks, are cut approximately by 50%. Moreover, we have shown that when the BDN is used, the block propagation times approach a theoretical lower bound. The BDN broadcasts transactions and blocks within several hundreds of milliseconds around the world and this performance paves the way for safely increasing the block size. Indeed, due to the use of SIDs, the effective block size and propagation times would remain short and grow moderately, even when the actual block size is substantially increased.

Connecting to China

The second challenge was the Internet connectivity to and from China, both for transactions and blocks. In particular, we observed that the network performance can degrade periodically. We applied several methods to address these challenges. First, we had to add dynamic monitoring and more redundancy to our routing algorithms. In particular, when a network path experiences degraded performance, we dynamically add redundant paths between bloXroute’s Relays. For example, if a path between Relays A to B is slow, we immediately enable concurrent paths A-C-B and A-D-B. This approach has been shown to be very effective. Second, addressing transaction propagation required additional effort. For bloXroute to operate effectively, it is essential that transactions are smoothly propagated through the system, because this enables compression and swift propagation of blocks. To address the problem, we enabled Gateways in China to connect concurrently to an additional transactions Relay. This added redundancy, further substantially improving the performance.

Continuous Monitoring

In addition to improving performance, we made it possible for a Gateway user to directly monitor the performance benefits it gets from the BDN, i.e., how often they hear about transactions and blocks from the BDN rather than from the P2P network. In the coming weeks, we will provide public access to a BDN Explorer. This will enable anyone interested in analyzing the performance of individual transactions or blocks, or in a detailed performance analysis of the Ethereum network properties, to conduct such research.

Conclusions

While bloXroute is successfully serving the ETH 1.0 community, we have our “eyes open” to ETH 2.0. In summary, while ETH 2.0 brings up a number of novel concepts, the Blockchain Distribution Network strictly improves performance and provides improved security and resilience to the Ethereum ecosystem.

______________________________

Learn more!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store