Scaling Ethereum to Billions of Users
Fred Ehrsam

Focus on Interoperability not Scale

A blockchain is a single system with a decentralized architecture. That architecture gives the system some great properties but it also imposes a number of restrictions on the system, the most obvious, as this article points out is scale.

If a single system distributes itself across millions of nodes, and the operation of the system depends on all of those nodes coming to consensus on the state of the system, it should be obvious that this architecture will be less efficient than a centralized one. Trying to get a single blockchain-based system to compete with Facebook is a futile exercise.

What many proponents of blockchain systems often get wrong is conflating blockchain protocols with the interoperability protocols of the Internet, leading to claims like X blockchain is the new Internet for Y. Consensus protocols are not interoperability protocols. The Internet isn’t even a “thing”, it’s actually just a theoretical construct.

Specifically, the Internet is a network of data networks, and the protocol for inter-networking the world’s data networks and moving data between them is very very mature (Version 1 was published almost 50 years ago).

If the goal is to replicate the architecture of the Internet for computation, storage, identity, value, and other functions, then trying to scale a single system (no matter how decentralized it is) is going about it all wrong.

Computation on Web 3.0 won’t be Ethereum or Trubit. It will be Ethereum and Trubit and EC2 and Azure and many other systems that don’t even exist yet. By then we’ll have figured out the protocol for distributing and moving computation between these computation networks seamlessly, the way we move data between data networks today.

In the Interledger community we’re doing just that for value. How can value move from one value system to another? How does $10 in a bank account move to a Bitcoin wallet? In the same way a packet of data on your smartphone moves to a server on the other side of the world; inter-networking payment networks. (i.e Not by writing every transaction in the world in some distributed global super-ledger.)

The world is already full of payment networks, all with different properties. Some are run by banks (domestic ACH in most countries), some by large companies (VISA, Mastercard, Paypal, Alipay etc.) and some by the community of users using the network (Bitcoin, Ethereum, Ripple etc. or even a credit system like Hawala). At their core they all do the same thing, they allow value to move from one account to another.

We can think of the Internet of Value as a graph, with billions of nodes (holders of value), just like the Internet is a graph of nodes holding data.

On the IoV, each node holds its value in accounts on one or more of these payment networks; bank accounts, crypto-currency wallets, Paypal accounts, IOUs between friends. These accounts are the node’s connections into the networks on which the accounts are held. Each channel, between two accounts, on a single network is an edge on the graph (a payment channel, often underwritten by a ledger).

To inter-network these networks, we have developed a simple open protocol, the Interledger Protocol (ILP), heavily inspired by IP, that allows nodes to act as gateways between the networks on which they hold accounts, and for value to flow across the networks and around the world.

We demonstrated this a few weeks ago at our workshop in Berlin sending a payment across 7 networks, including Ethereum, Bitcoin, Chain, and Ripple.

Just like the Internet Protocol (IP), ILP is simple, it has no token, there is no blockchain and yet it could be as revolutionary as IP if we get it right.

For a lot of people the romance of owning a token and contributing to a project that gives that token some value distracts them from the real problems they’re trying to solve.

With every new ICO on top of a blockchain another project subjects itself to the risk of a single system failing, under the illusion that building on a distributed system protects them from this. Don’t be mistaken, even distributed systems can fail, and the risk of malicious attacks only grows as more and more systems are built on this central core.

I don’t want to discourage developers from joining these projects. Without the revolution we have had in permission-less innovation around payments our work on Interledger wouldn’t be possible. But, if the developers on those projects focused more on making their systems interoperable with others they may be able to accept their scaling limitations and move on. Consider a world where there are 100 Ethereum-like networks in operation and they are all interconnected? How can we achieve that in a way that a dApp on one can still interact with a dApp on another? Why are there no ICOs being done on Ethereum Classic or other blockchains to spread the risk?

So my appeal is, “if you are a developer getting into the space and want to work on hard problems with large impact”, also consider working on a project like Interledger or coming up with something similar for computation, or for identity, or for storage. Interoperability solves the scaling problem better than incremental improvements to a single system, it creates an ecosystem.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.