Ethereum can handle roughly 13 transactions per second; half that or less for smart contract transactions. We’ll use 10 transactions per second for this article which represents a nice mix of regular transactions and smart contract usage (and it makes the maths easier). Now keep in mind this is a shared network, so the entire world shares this transaction rate.
What’s a Dapp? A Decentralized Application. You can deploy code to a blockchain which will run when someone sends a transaction to it. This functionality is what makes Ethereum so special.
10 DApps at 1 transaction per second
If there are only 10 apps on the entire Ethereum blockchain and those apps all did 1 transaction per second or less, then everything would be fine and dandy. Ethereum can handle this and we’re all good. But the reality is there are a lot more apps and popular apps need a lot more than 1 transaction per second. Facebook would need 16,203 transactions per second (1.4B daily active users / 86,400 seconds in a day) and that’s if each user only did one thing per day on Facebook. Most users do more than one thing.
1000 DApps with 1 transaction in the same second then no further transactions
This example means that all 1000 DApps sent in a transaction at the same time, then didn’t send anymore transactions again for a while. So what happens now?
Think of it as a queue at the grocery store with 10 cashiers and each cashier can check someone out each second (that’s one helluva fast cashier huh?!). If 1000 people are ready to checkout at the same time, then 10 get through each second. After the first second, 10 are through and 990 people are waiting in line. It would take 100 seconds, just over a minute and a half, to get through all 1000 people.
1000 DApps at 1 transaction per second
Now we’ve got a serious problem. And sadly, this is the most realistic scenario of the three (it’s actually still too slow, but we’ll let it slide). If we use the cashier scenario here, the store will fill up like sardines, all waiting to get to the cashier. Some will get through, others will be thrown out by security (the transaction will never go through) and some will pay the VIP access fee (higher gas price) that means the more they pay, the quicker they get to the front of the line. So the people who pay more will checkout first and the rest will have to wait, sometimes for many hours. And they may still get thrown out of the store after a few hours of waiting, you just never know.
Here’s how this plays out:
- After 1 second: 10 make it through and 990 are in line.
- After 2 seconds: 20 have made it through and 1980 are in line.
- After 3 seconds: 30 have made it through and 2970 are in line.
- You get the idea.
More DApps and more transactions per second?
Unfortunately, Ethereum can’t really be used for any real world application that has any significant usage. Even a single application can easily overload the network (CryptoKitties for example). GoChain’s number one goal is to solve this very problem. GoChain can handle 100x the volume of Ethereum today and plans to increase that to 1000x by 2019.