Vitalik Buterin was recently at an Ethereum meetup in Singapore. He was there to give a keynote presentation on Metropolis, the upcoming planned hard fork of the network.
Metropolis has been on the Ethereum roadmap for some time now. Due to unforeseen events, like The DAO hack, Ethereum developers were forced to deviate from their original plans. That detour led the software engineers to work on improving core client efficiency and to focus on increasing security of the system overall.
Now that things have calmed down, and the Ethereum platform is that much more secure, the core developers are able to focus on improving the protocol and moving towards Metropolis. In his keynote, Vitalik touched on some of the more exciting improvements currently being worked on for Ethereum. He spoke about progress made regarding light clients and mobile implementations, and listed out all the Ethereum Improvement Protocols (EIP) that would be rolled out in a Metropolis release. Those EIPs are:
EIP 86 (“abstraction”)
• Make the protocol as simple as possible
• Any account in the call execution chain can pay for gas
• Instead of only the account that sent the transaction
• A recipient, or middle account, could pay the gas cost
• Helps anonymization, instead of needing to use only one account to pay for gas
EIP 98 (removal of intermediate state roots)
• Goal: Make it easier to process transactions in parallel
EIP 96 (EVM-ification)
• Try to make light clients more secure
EIP 100 (target block time including uncles)
• Security upgrades
EIP 101 (big integer precompile)
• Make it easier to verify certain types of cryptography
• Ethereum supports elliptic curve cryptography
• RSA encryption is used by others, and is currently computationally inefficient to verify in Ethereum
EIP 116 (STATIC_CALL)
• Under consideration
• Can call a contract and be sure you’re not changing anything; not writing to the state
EIP 195 (Pure call)
• Even more static version of STATIC CALL
• Can’t write or read
EIP 140 (throw opcode)
• Throws an exception without consuming all remaining gas
EIP 141 (invalid opcode)
• Not a protocol change
While there is a roadmap for Metropolis, one unknown variable is exactly how many features will be included in it. If there’s a time crunch, only the most important features will be implemented, while the remainder will have to be set aside for a later fork.
Ethereum’s research roadmap is focused on three things: privacy, scalability, and safety. Regarding privacy, Ethereum devs are hard at work on, and most excited by, zk-SNARKs. They’re actively working with the Zcash team to implement zero-knowledge proofs into the platform. While it’s still too early for Vitalik to promise a timeline for zk-SNARKs, he estimates over 80% of the core developer community are happy with their progress, and are working to reach consensus on open issues over the next few months. There are a few flaws the Foundation and core developers are still trying to figure out solutions for.
Vitalik’s presentation details:
• zk-SNARKs allow you to prove things about encrypted data without revealing anything about the data except for the claim that you’re proving
• It’s very powerful technology
• But has some weaknesses
• Like the need for a “trusted setup”
• Creating and verifying zk-SNARK proofs requires access to a setup key
• But that setup key must be generated by people
• The key is made of secret information
• The secret information must be deleted to secure the setup key
• If not deleted, it could be used to create invalid transactions
• Multiparty setups mitigate this, but only slightly
• Can’t stop the human element 100%, regarding potential secret bad actors
• Amount of time to generate a proof
• About 40 seconds on a computer
• About 5-10 minutes on a cellphone
Regarding scalability, Metropolis will attempt to address the issue through a switch to a Proof-of-Stake consensus algorithm, which will in turn open up the doors to future scalability improvements, like sharding. But before any of this can happen, the core developers need to do something about the ticking time bomb inside Ethereum.
That time bomb, or more precisely, difficulty bomb, is set to make Proof-of-Work mining harder and harder until it becomes impossible to mine transactions, freezing the network. The initial thought was that it would force a switch to a Proof-of-Stake algorithm, but, due to the developer detour taken as a result of The DAO hack, the ice age is approaching too quickly. If nothing is done to slow this process, the current block time of 14-seconds will increase to 15.8-seconds in about three months. In six months, block time will reach 28-seconds and continue to exponentially slow after that. Casper, the PoS algorithm Ethereum has been developing, is about a year behind schedule, though Vitalik did state it was also about a year more advanced in terms of the properties it has now. Consequentially, one of the features of the Metropolis fork will be to delay the ice age.
When it comes to the safety of the Ethereum network, Casper has better security properties than Proof-of-Work. This is mainly achieved by eliminating the ability of wealthy attackers to simply buy more powerful mining equipment to dominate the network. By having to stake Ether to mine Ether, ensuring the network runs smoothly is in a validator’s best interest. Validators are the miner equivalent in Proof-of-Stake.
Vitalik’s presentation detailed Casper’s roadmap:
• Casper roadmap:
• Finalize protocol
• Testnet + verify protocol does what it’s meant to
• Implement across 7 clients, continue testnet
• Release! …Once painstakingly tested
• Roadmap expected to take roughly a year
• Fairly substantial undertaking
• The benefits of PoS are very large though
• PoS is a stepping stone to things they want to do in the future regarding:
• Sharding protocols
• Improving protocol economics
Talking Proof-of-Stake, Vitalik mentioned much lower token issuance rates would be seen, and this would mean assets become deflationary. Proof-of-Stake is also better at handling oligopolistic markets, compared to PoW systems. He continued to discuss what PoS will change, and addressed what might happen to miners after a switch from PoW, saying:
“One other way that it’ll affect things: it’ll obviously affect the mining market, because miners will have to switch to doing something else. And, you know, there are other things that miners can switch to doing, right? […] I hope that if things like Swarm, and Golem, and the computation markets, and storage markets – if all those do well, then I’m hoping that miners will just be able to immediately switch jobs to start participating in those networks. But, you know, that’ll require those systems to actually be built up well enough for lots of people to be willing to use them.”
On the less technical side of things, Vitalk touched on the growth of the Ethereum ecosystem, and how the Ethereum team has greatly expanded over the past year. “Ethereum core developers” is a substantially wider category than just people employed by the Ethereum Foundation, and broadening the community is good for the entire ecosystem.
Vitalik would also like to see more decentralized governance in the future, with decisions on protocol changes being the result of input from many people, instead of just a few from within the Ethereum Foundation. Vitalik proffered Ethereum as a decentralized project, saying the Foundation wants all the layers of the project and ecosystem to be as decentralized as possible. Though they do realize it is fairly hard for people to contribute unless they know what’s actually going on. Most people aren’t aware of all the different design considerations in software engineering, or the various strengths and weaknesses of different systems and approaches to tackling problems.
This is why the Foundation is attempting to ramp up their educational efforts, so more community members can interact and contribute constructively to the conversation. Vitalik has already written a few blog posts regarding Casper and zero-knowledge proofs. Vlad Zamfir has also written several posts about Casper, and Christian Reitwiessner has written about zk-SNARKs.
Overall, during the next few months, Ethereum developers will push forward on the EIPs, deciding which will be best left for later while moving forward on as many as possible. They plan to continue making progress on various aspects of the Ethereum ecosystem in parallel, mainly regarding Proof-of-Stake, sharding, and implementing zero-knowledge proofs, as they lead up to the eventual Metropolis release.
Vitalik hopes that in the coming 6-12 months, Ethereum will continue to mature and become a “much greater and higher quality blockchain ecosystem than it was before.” The complete video of this keynote presentation can be viewed here.