At the “Beyond Block” conference in Taipei, Ethereum’s founder, Vitalik Buterin, unveiled the plans for “Ethereum 2.0,” the next-generation version of Ethereum.
Ethereum 1.0 Problems
The Ethereum network was born as an idea for next-generation cryptocurrency network, which could do far more interesting things than just financial transactions. The Ethereum network has also been called the “programmable blockchain,” because you could develop “distributed applications” (dapps) on top of it.
However, the network’s rapid growth in recent years has also revealed a few major issues within the network. According to Buterin, there are currently three major problems that need to be solved to push the Ethereum network to the next level: privacy, consensus safety, smart contract safety, and perhaps the biggest of them all: scalability.
When Bitcoin first came out, everyone started calling its transactions “anonymous,” because you didn’t have your name directly tied to a transaction like you do with a credit card, especially if you were using a PC wallet to transact the money, rather than a centralized exchange.
However, Bitcoin and many other cryptocurrencies’ core technology is something called the “blockchain,” a distributed ledger in which all transactions and wallet addresses are inscribed. What that means is that every single transaction and its corresponding address is recorded.
The blockchain is also public for most cryptocurrencies, including Ethereum, which means anyone can look up all the transactions done from a given wallet address. That wallet address could then be tied to a real person’s identity if that person does any transaction that may reveal it.
For instance, if the person in question transfers the money from that address to a centralized exchange’s address where his or her name is used, then all the previous transactions can be traced back to them. This is somewhat similar to using Tor for anonymity but then logging in to your real Facebook account or to an email address into which you’ve logged before with your real IP address.
The Ethereum developers have already taken steps to address this by implementing the same zero-knowledge proof privacy technology used by Zcash in a recent upgrade. The technology should enable distributed apps (such as voting apps, for instance) to have mathematically provable anonymity.
Buterin said that the privacy issue should be 75% solved already at the network-level, with the remaining 25% to be solved by apps that work on top of Ethereum which would need to actually implement those privacy features.
Consensus is currently achieved through a “proof of work” system, where the miners have to “mine” blocks on the network by using computational resources. The system is necessary to ensure that the network isn’t taken over by an attacker who could then control how the money is spent on the network.
However, the big downside to this system is that it keeps using increasingly more power. A recent report said that Bitcoin mining consumes as much power in a year as 159 countries. Buterin admitted at the recent conference in Taipei that Ethereum isn’t much better.
However, the plan is to eventually start switching Ethereum (slowly) to a “proof of stake” system, which wouldn’t require anywhere near as many computational resources.
Smart Contract Safety
Ethereum has gone through its own share of cryptocurrency drama over the past couple of years. One of the most appealing things about Ethereum is that it’s also a smart contract platform. A smart contract is a self-executing contract where the terms between a buyer and a seller, as well as the enforcement of the clauses, are all written into code.
It turns out that smart contracts can be about as buggy as any other piece of software. The only difference is one buggy smart contract can cost people hundreds of millions of dollars if something goes wrong - and it has.
On one occasion, a hacker was able to temporarily steal $55 million from a distributed app running on top of Ethereum. The Ethereum developers were able to stop the attack by forking the Ethereum blockchain, thus creating what is now called Ethereum and the "old" Ethereum Classic.
Buterin said that Ethereum will eventually introduce formal verification for smart contracts as well as a new Python-like “Viper” smart contract programming languages that’s supposed to enable the development of safer Ethereum applications.
The biggest problem with Ethereum, as with the majority of cryptocurrencies, is scalability. If Ethereum is to be used universally by big banks and everyone in the world, it needs to be able to do many orders of magnitude more transactions per second than it can right now.
Buterin said there are multiple scalability solutions being explored by different cryptocurrencies, including Bitcoin, but these involve some compromises. For instance, most cryptocurrencies, including Ethereum, currently sacrifice scalability to get safety. To increase scalability, some cryptocurrencies plan to sacrifice some safety by off-loading some transactions to other cryptocurrency networks where the transaction fees are cheaper.
Buterin explained that the next generation of Ethereum will use a new architecture called “sharding,” which will enable the network to process thousands of transactions per second -- all on the same chain, which means safety will not be sacrificed.
Sharding will enable multiple “parallel universes” or domains to exist on the same network, but the transactions that occur in one of those universes won’t affect the speed of the network in other universes. There will also be protocols to link the different universes, but they will be more limited. Transferring data from one universe to another could, for instance, take two weeks, according to Buterin.
These universes will share consensus, so if an attacker wants to take over one of the universe, would have to take over all of them, so the entire Ethereum network.
For now, this new architecture still looks very much in the planning mode as not all of the details seem to have been figured out. The Ethereum team does plan to release a more limited version of this idea in the near future.
Buterin also noted that sharding will create new types of addresses on the network, which will give Ethereum the opportunity to evolve by adopting new backwards incompatible protocols without disrupting the main blockchain.