Ethereum founder Vitalik Buterin says the platform needs to be capable of processing at least 100,000 transactions per second to remain viable in the long run. In a new interview with Abra CEO Bill Barhydt, Buterin says he’s now mainly focused on three overarching issues.
“As far as the big problems, my top three at this point are probably scalability, privacy and usability. So scalability – the Ethereum blockchain right now can process 15 transactions per second. Really, we need 100,000.
Privacy – every single thing you do right now is totally public to everyone and that just doesn’t do for a whole bunch of use cases. So this is part of why we’re working on some fancy cryptographic technology like zk-SNARKs to try to solve that.
Useability is a super big challenge. A lot of blockchain applications are just very poor on the usability side. They have a lot of hiccups and like, ‘Oh, why did this suddenly just totally not work? Why did this take 10 minutes longer than I expected?’
The other big challenge that I care about is usability of security. So coming up with easy-to-use ways for people to store their private keys that don’t become vulnerable to someone just losing everything because they lost their private key or their private key got stolen. And there are some interesting solutions that are coming out for that. But it will still take a couple of years for all these different strands to get somewhere.”
Buterin also expanded on the two strategies Ethereum’s core developers are pursuing in order to push the limits of the platform’s scalability to new heights.
“There are two major kinds of strategies that we’re working on for scalability. One is layer-one scaling and the other is layer-two scaling. Layer-one scaling basically means improving the blockchain protocol itself to process a larger set of transactions. And the main bottleneck with blockchains right now is basically every user has to download the whole blockchain. Which basically means the blockchain can’t hold more transactions than one guy’s computer can store.
And our solution to this, called sharding, basically means that you split up the different transactions to randomly selected, different groups of computers. And this basically means that the blockchain can process way more things than one single computer can hold. And that can increase scalability by maybe a factor of 1,000 or so, but then potentially even more, much later down the road.
The other kind of scaling that we are working on is layer-two scaling. Which basically means designing applications in such a way that not everything that happens actually goes on the blockchain. So basically, instead of going to the blockchain every single time any user does anything, you perform most of your operations off-chain using cryptographically signed messages. And you only need to put data onto the chain when there is some kind of dispute.
So there’s two major classes of systems we’re working on in this regard. One is called state channels. And there’s a bunch of teams working on this. There’s a team called L4 in Toronto that’s done some really good work. And another project is Plasma. And there’s a lot of work that’s been done on that. OmiseGo is this decentralized exchange that’s building on plasma. There’s TheMatter. There’s more and more of these projects. And then, there’s one of our researchers, Karl Floersch, who has been working on implementation of a reasonably complete Plasma prime specification, which is the latest version of Plasma – which has some really cool features in terms of increasing scalability and reducing the amount of data you have to store.”
As for Bitcoin, Buterin says core developers will have to boost transactions per second at the base layer, or they’ll risk losing adoption for day-to-day transactions, in which case BTC would remain a store of value.
“If Bitcoin wishes to just be a store of value, then realistically it’s probably fine, though I think they should switch to proof-of-stake. If they want to actually be a currency that people use for transactions, then I do think base-layer scaling, and also speeding up the blockchain and reducing block times at the base layer, is also something which is very important.
There are serious limits to what you can do at layer two. There are limits to usability of layer two, and there’s attacks on layer two. And also, the other thing to keep in mind is that the scalability of gains from layer-one enhancements and using layer two are multiplicative. So if layer one can be made to be 1,000 times more scalable, that’s also a 1,000 times increase in the amount of transactions per second that you can push to layer-two things safely.”