Ethereum explained: by Vitalik Buterin
Ethereum is a blockchain technology that is designed to be universal, supporting all manner of applications and functions, says its creator, Vitalik Buterin.
Vitalik Buterin, the 23-year old Russian who wrote the white paper for Ethereum, says the Monetary Authority of Singapore and the U.K. are among those governments studying using a permissioned version of the technology to issue digital currencies. “There’s a lot of government interest,” he said, addressing a crowd in Shenzhen who had gathered on July 29 to mark the establishment of a local society of Ethereum enthusiasts.
Great. So what is Ethereum?
Ethereum is a general-purpose blockchain. The original blockchain was designed to facilitate the creation, validation, recording and transferring of Bitcoins. That’s it, that’s all it does. Later blockchains emerged that provided multiple functions, but ones that were pre-defined. “Blockchain is like glue between systems,” Buterin said
The idea of Ethereum was to have a blockchain whose programming language made it possible to let people write any kind of application on it. “It’s like a decentralized operating system for blockchain,” Buterin said.
These programs are often ‘smart contracts’, which are programs on the blockchain that control digital assets. Smart contracts have been around for twenty years, but their use makes blockchains a lot more versatile.
“It’s like a vending machine,” Buterin said of smart contracts. “You put money in, and candy comes out. A vending machine is a physical device that executes the rules of agreement. But a vending machine can be broken. By digitalizing the concept, cryptography makes these contracts far more secure and powerful.”
In practical terms, this means defining conditions that lead to transactions: if some action occurs, then the blockchain will transfer a digital asset to a designated recipient. Such ‘if/then’ arrangements, if executed via a blockchain, allow security of financial contracts and escrow agreements, and mitigate the need to trust a third party or intermediary.
The adaptable nature of Ethereum, which is being developed through open-source protocols (i.e, anyone can work on the project or use it), has seen its popularity soar. This year, the number of transactions on the network increased ten times, driven in part by startups using Ether (the blockchain’s digital currency) to promote their own initial coin offerings, or digital token sales.
This represents an expansion in how Ethereum is being deployed. “Five years ago, blockchains were just to create crypto currencies,” Buterin said. Now startups are using them for ICOs and other functions that require a digital asset as a medium of exchange. “Ethereum now has a 70% marketshare of digital assets,” Buterin said.
Ethereum Alliance is the band of core developers developing the network, of which Buterin is a member. It is separate from Enterprise Ethereum Alliance, an open-sourced group of commercial businesses, including financial institutions, developing apps using the Ethereum blockchain.
There are a variety of emerging uses for Ethereum. An ‘Ethereum Name Service’ now lets people or organizations register an address on the blockchain. A U.N. program is piloting the tracking of remittances to remote or war-torn countries using Ethereum. A variety of developers are working on using it for prediction markets.
Another trend involves the ‘decentralized autonomous organization’, or DAO. These are like smart contracts – they can control assets and perform other services – but in the form of an organization, like a digital company.
DAOs have been established for investments, or to manage charities, and apps are being developed by DAOs for insurance, payments and supply-chain finance, Buterin says. (Unfortunately, coding bugs allowed hackers to access DAO programs and steal money – see below.)
For most people in financial services, there are questions regarding the suitability of blockchain as a trading system, given the desire by many banks or other institutions to include a form of centralization. Banks want to still have a say over what they’re processing, or put it in the hands of a trusted clearer or other party.
“Many centralized things will continue to exist,” Buterin said. “Blockchain is a digital layer for economically gluing users and applications. It’s fine to have centralized authority for specific functions.”
He acknowledges that a stock exchange, for example, that merely publishes transactions on a blockchain isn’t really adding value. But if blockchain also enables users to audit transactions, then the business model begins to change. “Partial decentralization is O.K. if it reduces the need for users to trust you,” Buterin argued.
The technology has a ways to go before it becomes adopted widely. There are three areas of improvement required: scalability, security and privacy.
- Scalability: Transacting on the blockchain remains ponderous. Ethereum and Bitcoin can now manage about three transactions per second. That’s too slow, Buterin says: Uber processes payments at the rate of 12 transactions a second; DTCC processes 10,000 transactions per second; and Alipay runs at 100,000 transactions per second.
- Security: As mentioned, DAOs have been robbed because of poor programming. Moreover, Ethereum needs to be able to respond to a variety of attacks, such as DoS (denial of service) hacks that overwhelm a system with a flood of superfluous requests, tying up the system. This is the flip side to having an open-source project: anyone can participate in developing it, and anyone can try to attack it. Similarly, the apps that work on top of Ethereum need to be secure. Smart contracts and user interfaces – how we interact with the functions that are powered by Ethereum – must also be secure; people need a way to recover a lost private key. Which leads to…
- Privacy: Banks or other users don’t want the world to see their payments history or how they voted on a corporate action. Some apps require privacy. There are other blockchain projects that are not open-sourced, which have an advantage in this regard, but Buterin said, “We are working on solutions for all of these problems.”
To enable many of these improvements, Ethereum’s developers are changing the way the system works, in particular how blocks are validated.
Traditionally, Ethereum, Bitcoin and other blockchains operate on consensus based on proof of work. This is an algorithm run by all the nodes on a network that must compute and solve mathematical puzzles. There is no intrinsic value to doing so, except to convince the network that a node has access to, and control over, some assets in the real world.
Both Bitcoin and Ethereum burn up to $5 million a day in electricity and hardware costs: mining and validating blocks is expensive and wasteful. So participants compute these puzzles to ‘prove’ their right to be on the network.
But it’s a wasteful means of achieving agreement about a transaction being true. So Ethereum is moving to a consensus algo based on ‘proof of stake’, in which participants prove they control digital coins inside the network. This in effect moves the consensus function from a physical one (consuming electricity) to a digital one. Instead of connecting a powerful computer to the network, a miner can use purchase Ether crypto-currency, which lets them participate in consensus algos.
Buterin says the shift to proof of stake (which is happening via a protocol named Casper) will reduce the cost of consensus, and improve security.
There are also technical fixes being studied for the scalability issue, such as a process called ‘sharding’. Currently, all blockchains are made up of a network of many computers that collectively process every transaction entered by a user. Anyone plugging in to a network finds their computer engaged in processing lots of other people’s trades. But most computers can’t handle speeds required to boost Ethereum’s processing power. Sharding is a tool to divvy up responsibility for processing transactions so that any node only has to handle a portion of the work.
Buterin mentioned several other projects to enhance scalability and security, such as improving programming languages and using ‘state channels’, which are two-way discussions, usually coded in the form of transactions, that take place off-chain. This allows deals to happen quickly, be netted, and then settle back on blockchain’s smart contract.