Tokens are selling at valuations which imply they’ll have millions of users. But can the blockchain support it? If not, how far away are we?

Requirements to building scaled decentralized applications (dApps)

There are two requirements to building scaled dApps:

Having all of the necessary parts of the dApp developer stack. I’d say we are 70% to a shaky first version of each.

2. Scalability of these components. I think this will be the main limiting factor and what will be discussed in this post.

Facebook as a measuring stick

Let’s do the math on running something like Facebook. Facebook handles about 175k requests per second (900k users on the site in any given minute, assume an action is taken every 5 seconds). And this probably doesn’t include API requests, which are a better analogue and probably 3–4x higher.

Where is Ethereum now?

First, a note: I am not an Ethereum maximalist, but I think Ethereum is the furthest along and best suited for thinking about scalability right now.

At the moment, Ethereum can handle about 13 transactions per second, which cuts in half to about 7 transactions per second for tokens (4.7m gas limit, 21k avg gas price for standard txn = ~220 standard txns every block, current avg block time 17s = 13 txns/sec, gas requirement roughly doubles for token transactions). And this doesn’t include more expensive smart contract execution.

By this estimate we’re roughly 250x off being able to run a 10m user app and 25,000x off being able to run Facebook on chain. And since these systems are open rather than proprietary, we’ll see applications bigger than Facebook. This estimate isn’t perfect because the dApp stack functions differently in places than the current Web 2.0 stack. But I believe it’s in the right ballpark. This is why I believe scalability will be the primary bottleneck for the industry for the foreseeable future.

Scaling to billions of users

So how do we get closer to supporting billions of users? Here’s a summary of the scaling efforts I’m aware of: