By Professor Aleksandar Kuzmanovic, Co-Founder and Chief Architect
Blockchain and net neutrality are two fairly distant topics. So why is net neutrality so important to blockchains and by extension to bloXroute, the blockchain scaling project?
Net neutrality: Defined
Let me start with net neutrality in the way most people might be familiar with the term. Broadly speaking, a fundamental question in the decade long net neutrality debate is the extent to which network operators (or ISPs — Internet Service Providers) should be allowed to discriminate among Internet packet streams to selectively block or adjust quality of service. Application providers (e.g., Google, Amazon) as well as numerous net neutrality proponents, want ISPs to behave like utilities and simply transfer bits. On the other side, ISPs (e.g., AT&T and Comcast) want to boost (and charge more to) certain applications over others.
I was an active participant in this debate. My 2008 NSF CAREER project (a five-year project) was among the first to explore the extent to which network endpoints can detect if ISPs are biased or discriminatory. This wasn’t a purely academic exercise — I was one of the founders of the Measurement Lab, a Google-initiated platform for monitoring net neutrality. Supported by Google’s robust infrastructure and openness to researchers to contribute their monitoring and auditing systems, the Measurement Lab became the largest collection of open Internet performance data on the planet. In principle, it is hard for an ISP, anywhere in the world, to discriminate against an application without the Measurement Lab being capable of detecting it.
Thus, when Uri Klarman, now bloXroute Labs Co-Founder and CEO, came to me and said that net neutrality is the key to scaling blockchains, I was quite intrigued given that the topic was familiar. The core idea behind bloXroute is the following: given that the slow peer-to-peer (P2P) network utilized by blockchains is the main barrier to scaling blockchains today, why not replace the P2P network with a powerful distribution network? People know how to effectively distribute content on the Internet. For example, YouTube alone has more than a billion users¹, and a striking 70% of North American internet traffic² in peak evening hours comes from streaming video and audio sites like Netflix and YouTube. Such massive content distribution would not be possible without content delivery networks. This is in stark contrast with blockchains, where sending a single block once every tens of seconds (Ethereum) or minutes (Bitcoin) is a bottleneck.
Trust is Key
Undoubtedly, Content Delivery Networks (CDNs, such as Akamai) could improve blockchains’ performance, as we explained in one of our previous blogs. The issue is trust. In a blockchain ecosystem, a node does not trust its immediate peers, so how will it trust an entire network, which is far more powerful than any individual node? Content delivery networks are centralized systems that can censor transactions, blocks, or miners of a blockchain network. For example, the network administrators may reject blocks which contain transactions from unauthorized parties, or blocks mined by unauthorized miners according to their own policies, business interests, or legal requirements.
The key question is how to make content delivery networks trustless, such that they can be utilized to scale blockchains, yet deprived from the ability to exercise its censorship and other powers mentioned above. Thus, contrary to the “classical” net neutrality problem, where ISPs aim to differentiate traffic in order to monetize their services, here, the bloXroute network must prove to blockchains that it cannot be biased (even if it wanted to) without being caught and replaced. We call this concept provable net neutrality. The key properties associated with this concept are the following. First, the network should not be able to censor information based on the content of blocks. Second, the network should not be able to censor nodes. Third, nodes should be able to continuously audit the above properties, and in case of network misbehavior, to abandon and replace the network. Fourth, the network should be available for use by all nodes and miners.
Censorship Resistant: Information and Nodes
To prevent bloXroute from stopping the propagation of any block based on its content, blocks are propagated after being encrypted. If the network cannot see the content of blocks, it cannot discriminate blocks based on the content. This is essential for bloXroute because any request (e.g., from third parties, authorities, or anyone else) to stop serving a particular transaction cannot be fulfilled, simply because bloXroute has no insight into the content of blocks. Indeed, any miner is capable of placing an arbitrary transaction in a block and disseminating it through bloXroute’s network, and no-one can stop it. Hence, the most powerful blockchain primitive is retained.
In order to ensure bloXroute is not preventing individual nodes from propagating their blocks, nodes do not have to propagate blocks directly to bloXroute. In case a block is not propagated by bloXroute (e.g., due to a temporary server failure), the sending node will propagate it to a peer on the P2P network, which will relay it to bloXroute, obscuring the block’s origin from bloXroute. For example, a node that mined a block in China could relay it to a node in Europe, which then sends the block via bloXroute.
It is essential for bloXroute to enable nodes to continuously monitor its service. Such monitoring is achieved by allowing nodes to send encrypted invalid blocks, test-blocks, directly to bloXroute, and measuring the time required for peers to report the arrival of the test-blocks. bloXroute is unable to employ discriminatory policies over valid blocks alone, and to faithfully propagate test-blocks, since the two are indistinguishable until their keys are published.
Thus, in a similar way that the Measurement Lab’s clients send test traffic through ISPs to measure their performance, so are bloXroute clients entitled to send such traffic through bloXroute. Hence, they are capable of detecting potential network bias in a similar way, using similar techniques and statistical methods like those applied in Measurement Lab.
Available for All Miners
The speed at which bloXroute can send blocks around the network creates a clear competitive advantage for nodes that deploy bloXroute vs. those which do not. Such a situation will be inevitable in early days of bloXroute adoption. The discrepancy in block propagation times among bloXroute vs. non-bloXroute-enabled nodes can be rather dramatic, i.e., blocks are distributed up to an order of magnitude faster with bloXroute. This has two important consequences. First, this provides strong incentives for the adoption of bloXroute network, given that early adopting miners gain an advantage of hearing about transactions and blocks sooner. Second, this is why it is essential for bloXroute to be, by design, open to everyone (all miners and mining pools, big or small), auditable, and provably neutral. Such an open network will allow late bloXroute adopters to catch up with early adopters, and put them all on equal footing.
Solving scalability is not only about speeding up the slow P2P network, but also, and more importantly, about how to do this in a way that is provably neutral. bloXroute is the first and only content delivery network that is trustless and proves to its users that it cannot be biased. We built this system to support all blockchains to fully unlock their potential.
- https://www.factslides.com/s-YouTube, https://www.youtube.com/yt/about/press/
— — —
We’re always looking for good people!
If you’re equally excited to solve the scalability bottleneck for all 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.