Your Node Could be Slowing You Down & Costing You Money
By: Eleni S.
Tags: Blockchain, Ethereum, Technology, Crypto, Cryptocurrency

We explain why this happens and how to fix it.

By Eleni Steinman, Head of Strategy and Operations at bloXroute

Not all nodes are created equal, albeit, by design some nodes receive blocks and transactions first and then propagate that data onto the rest of the network, creating the peer-to-peer network. Your node likely is not among the first cycle of propagation, and probably not even the second or third. If you’re a trader, this could be costing you money. If you’re using a node as a service provider, it’s likely your node has not been optimized for speed.

In this article we explore what speed means for your trading strategy, why your node is likely not the fastest, and what you can do about it.

What speed means for your trading strategy

Trading is a zero sum game: if there is money on the table, whoever takes it first gets it. It’s not uncommon for traders in traditional finance to pay for special high-speed data feeds or locate their servers next to exchange servers to minimize communication times.

In blockchains, to know what opportunities are available, you must know the latest state — i.e. the last block. To capture such opportunities, you must beat out your competitors to get your transaction to a miner to be included in the next block. Even in scenarios where you may think speed isn’t important, such as simply swapping two tokens, in a fee rising environment, beating congestion could make the difference between transaction execution or the pending wheel of death. And if you want to get really sophisticated, being among the first to hear about other pending transactions can help you build better predictions about future opportunities.

You can check out our other articles Sending Transactions Fast and Hearing of Transactions and Blocks Fast for more details. The TL;DR: speed matters!

How much money are you leaving on the table?

In a recent post, bloXroute’s Co-Founder and Chief Architect Professor Aleksandar Kuzmanovic looked at one example: the value of sending a transaction fast to increase your chances of being mined in the next block. The TL;DR: A miner must hear about your transaction to include it, and with blocks being mined roughly every 11 seconds, even a 600ms speed improvement translates to an 8% increased chance your transaction will make it to the miner to be included in the next block and not the following one.

Why your node is likely slowing you down

The short answer: your node is likely not optimized for speed. Server location, internet speeds, processing power, etc., can all affect your node’s performance. But these features don’t compare to having well connected peers in the network. Let’s explore why.

Sending data in a P2P

Whichever node generates a transaction or mines a new block needs to send this data to the rest of the network. In a P2P network, data is propagated in “cycles.” In the first cycle, the origin node sends data to its immediate peers (25 to 50 in Ethereum’s case). Then in the second cycle, these immediate peers send the same data to their own peers, and so on. Hence, being directly connected to an origin node brings the obvious advantage of hearing about blocks and transactions fast.

How do you connect to origin nodes?

In the case of blocks, connecting to origin nodes means being directly connected to miners. In the case of transactions, this is a bit tricky as anyone can generate a transaction, so you’d want to connect to many peers that generate high amounts of transactions. The problem is your node randomly picked 25 to 50 peers without any consideration for speed.

bloXroute deployed a Blockchain Distribution Network (BDN), i.e., a global network that speeds up data propagation in blockchain systems to better connect nodes, without undermining the P2P system. Below we’ll explain how you can utilize bloXroute with your existing node infrastructure, but the key is: network connectivity matters.

You can read more about the importance of good peers here.

Can you improve your node’s speed?

Yes. As outlined above, each node has its own unique level of connectivity and this varies with each new piece of data sent. So to gauge how much faster a node can be with the use of bloXroute, we looked at the two largest nodes as service providers — Infura and Alchemy.

Our test results show that if node infrastructure as a service providers, Infura and Alchemy, use bloXroute, their users are able to send transactions faster to the Ethereum network. We saw a speed differential of up to 600ms faster for transactions that used the bloXroute BDN. This translates into real money for Ethereum users.

To test the effect of such an integration, we completed another round of testing, integrating the BDN with Infura. Every transaction that was submitted to Infura was sent by the Infura node to the BDN as soon as possible. The results show an impressive improvement of 350–400ms.

What you can do about it

Speed matters in trading and optimizing your node is low hanging fruit. If you’re using Infura or Alchemy, ask your provider to add in bloXroute. If you’re running your own node, you can install our Gateway or connect via our Cloud-API. You can check out our pricing page for additional features, such as our Real-Time Fee Estimator and Frontrunning Protection.