Vitalik Buterin says Ethereum may one day be able to handle millions of transactions per second.
In a new AMA video with OmiseGo, Buterin describes a layer one scalability solution called sharding, and a layer two solution called plasma, which he says could combine to create exponential growth in network capacity. Here are some of the key highlights from the AMA.
“The reason I think layer ones and layer twos are complimentary is because ultimately, if you look at the math, the scalability gains from layer one improvements and layer two improvements do ultimately multiply up with each other. If you have a sharding solution, then the sharding solution by itself might increase the scalability of Ethereum by a factor of 100, or eventually even more.
But then, if you do plasma on top of a scalability solution, then what that means is that you’re not doing 100 times the amount of activity but you are doing 100 times the amount of entrances, 100 times the amount of exits, 100 times the amount of the speed resolutions, and all of that also improves the number of users the system can handle, the number of disputes the system can handle, and ultimately the maximum safe capacity that the layer two system can handle by a factor of 100 as well. So if we get 100x from sharding and 100x from plasma, those two together basically give you a 10,000x scalability gain, which basically does mean that blockchains will be powerful enough to handle most applications people are trying to do with them.”
Buterin then takes a closer look at Ethereum’s transaction capability now, and where it can reach with the addition of software improvement, sharding and plasma combined.
“So the Ethereum blockchain as it currently exists can support 15 transactions a second. I think that with software improvements alone, Ethereum-style blockchains can probably get up to possibly 100 or so.
Then, you have sharding. And the first version of sharding is what we call quadratic sharding, which is like if every computer can do ‘n’ things per second, then we have ‘n’ shards, and then each shard has ‘n’ transactions. So basically a computer will have to process all the shards, which is ‘n’ units of work, and then one shard is also ‘n’ units of work, so you can have a network made out of of those computers, but the network itself has ‘n’ squared capacity altogether, and so if you actually plug in the constants then you can get to something like 100 shards where each of those shards has that amount of capacity and so you get to possibly something like 10,000 transactions a second.
Then you can go to potentially super quadratic sharding which is where you sort of layer that structure on top of itself and then the scalability can go to into hundreds of thousands and millions and so forth. But there are natural upper bounds, being from the number of users, from certain safety properties that don’t easily scale quadratically. So I do expect sharded systems to get to the tens of thousands, hundreds of thousands eventually, but there is a bit of an upper limit. And then on top of that, plasma state channels I do expect to be possibly something like a two to three order of magnitude gain in the long term, once everything runs really squeaky and smooth.
You can also look at the question of how much scalability we need from the demand side. So the numbers I usually give are, the Ethereum does 15 transactions a second, Uber does 12 rides a second. The major stock exchanges go up to 80,000 transactions a second. And then if we talk about the future where we have 25 billion IoT devices by 2025 or whatever it is the buzz words people are pushing out these days, then that’s probably going to go into like a million, low millions of operations per second. Especially if you go into non financial stuff, the volume goes way up. So I think that approximate figure of something in the low millions is sort of the intersection of what it’s feasible to get to with technology improvements and also, kind of the upper limit of what people want.”