Over the last five days, myself, our executive director Ming Chan, and several others from the Ethereum team and Ethereum-based projects and businesses including Maker, String/Dfinity and Consensys have been visiting China and Hong Kong, where there have been a series of back-to-back conferences and events most notably including the Blockchain Workshop in Hong Kong on Oct 11-13 and the “First Global Blockchain Summit” in Shanghai organized by our friends at Wanxiang on Oct 15-16, while at the same time continuing to work on our usual tasks of research, development, planning DEVcon and administrative matters.
Both conferences proved to be, at least in my own admittedly optimistic estimation, highly positive signs of the growth in the Ethereum ecosystem. At the Hong Kong event, on the first day we participated in semi-closed sessions on issues such as decentralized governance, identity and reputation and regulatory compliance. Robin Hanson brought up the topic of prediction markets as a form of “low-cost micro-governance”: if there are situations where a legal or arbitration process is required in order to ultimately resolve disputes, use a prediction market to provide the result instead, only occasionally escalating to the underlying arbitration mechanism. Anyone with private information has the incentive to participate in the prediction market: the parties to the dispute themselves, any third parties involved, and even firms like Google applying top-of-the-line machine learning algorithms; in most cases, a result that accurately predicts the result that would be obtained by the underlying court or arbitration system should be attainable very cheaply.
The next two days consisted of panel discussions on technical and philosophical topics, people discussing their own projects, and the future of blockchains in areas like reputation and internet of things. Ethereum was mentioned many times - not through us marketing ourselves, but by many individuals who see Ethereum as a worthwhile technology on which to build their applications.
The Shanghai conference was equally impressive. This was also a two-day event, with the first day featuring back-to-back public speeches and panels and the second day focusing on topic-focused sessions; I personally was involved in moderating the technical discussions on consensus and scalability. This was a fairly large event, perhaps the largest since the Global Bitcoin Summit in Beijing which was my first experience with China over one year before and, as has happened over the same period in the West, the audience has transformed to be more mainstream: rather than just employees of Bitcoin-specific (or even crypto-specific) projects attending, we saw representatives from major banks, government officials, Intel, Huawei and others from traditional industry there.
People seem excited to see how they could adopt blockchain technology for their own use - and there was plenty of interest to go around regarding Ethereum specifically. It is indeed true that there are legal restrictions, some fairly clear and some gray, limiting the potential for adoption of Bitcoin or cryptocurrencies in China, but there are as yet no issues whatsoever with blockchain technology. The days before and after the conference, we took the time to meet Wanxiang as well as the other groups in China that we have regular contact with, particularly both myself and Ming meeting for the first time the wonderful team at http://ethfans.org/. We are still determining how we can work with Chinese individuals and business and make Ethereum as useful as possible in what has become by purchasing power parity the largest economy in the world, but it is clear that the possibilities and the potential are great.
Research and Protocol Development
We have identified four key areas of research regarding the underlying protocol that we feel represent the key milestones standing in the way between Ethereum as it currently exists and crypto-utopia:
- zk-SNARK integration: integrating, whether through a new opcode or ideally by leveraging the EVM's existing 256-bit modular arithmetic, the ability for Ethereum contracts to verify succinct zero-knowledge proofs. Given that the verification keys can be generated entirely off-chain, this is somewhat easier than it looks, though once implemented quite a bit of infrastructural work will be needed to make it extremely useful. An initial goal will be to use it to implement ultra-private coin mixing as well as a privacy-preserving reputation ("here's a proof showing that I have a score of over 250 according to your reputation scoring metric and using this set of data published to the blockchain, so you should trust me, but I won't reveal which of the parties that you should trust I am") and two-party financial contracts, and the longer-term goal will be an implementation of Hawk on Ethereum; at and outside the above-mentioned conferences, we have had some productive chats with some of the developers of these technologies on how to move forward on accomplishing this.
- Casper: Ethereum's proof of stake algorithm now under development by Vlad Zamfir with help from Lucius Greg Meredith, myself and several others. The key components include by-block instead of by-chain consensus and the concept of "economic consensus by bet" as a way of approaching de-facto finality with exponential speed rather than linear speed as is the case with proof of work. The goal is to combine a block time reduction (my personal opinion is that 4 seconds will likely prove to be an good balance between safety and resource overconsumption and centralization risk; Vlad is as usual more aggressive), finality and much lower energy consumption (and 10-100x lower price-of-anarchy generally). Currently, Vlad and Greg are working on formally describing and implementing the non-economic part of the algorithm to mathematically prove convergence properties, and the second step will be optimizing the economics.
- Scalability: using a combination of sharding schemes, random sampling, heavy use of Merkle proofs and asynchronous calling in order to increase the potential transaction throughput from ~10-20 transactions per second to over 100000 (or, if super-quadratic versions are used, a theoretically unlimited number). The basic concepts behind scaling have been set in stone for over six months, and our research team is highly confident that the general approach is valid; what remains is the details of exactly how to make optimal tradeoffs that preserve as much of Ethereum 1.0's functionality as possible in a scalable context. A key design goal is to make sure the Ethereum 2.0 remains a superset of Ethereum 1.0; for example, synchronous calls should still be possible within a single shard, though cross-shard calls may require asynchrony. I plan on updating my scalability paper to make it more focused, readable and updated with the latest ideas over the next month or so, though in general scalability research is on the back-burner until Casper is solidified.
- EVM upgrades: Martin Becze has taken the lead on exploring WebAssembly as a candidate for an upgraded Ethereum virtual machine. WebAssembly shares many properties with the EVM: the need to run untrusted code, the need for code to be very small, and the need to have multiple compatible implementations, though it lacks gas counting. WebAssembly can be used to create a just-in-time compiler for the EVM, drastically speeding up the ethereum js implementation, and it can also potentially be used as a virtual machine option itself by adding a transformation step that adds a gas subtracting instruction to code before every jump operation. Environment opcodes like
SSTORE, etc can be abstracted away by turning them into an ABI over a generic foreign function interface (eg.
FFI(0x55 ++ k ++ v)where
0x55; would be the marker representing
Aside from this, research questions remain on middleware “on top of” Ethereum, including on-chain services, decentralized governance, identity and reputation, random number generation, formal verification for Solidity (we have found a talented team in London that is excited about starting to explore the subject) and prediction market implementations, as well as on projects that may live “alongside” Ethereum (eg. Whisper), though the foundation is leaving it to the community to do much of this extra work as we have deliberately undertaken a strategy of focusing on the core (and doing so in a very lightweight fashion).
Regarding Homestead, the Homestead milestone has always been somewhat arbitrary in its definition; unlike Frontier, which is marked by a grand and ceremonious launch of the blockchain, and Metropolis, which is marked by the release of Mist, Homestead was always simply meant to be the point where we go from saying “Ethereum is unsafe” to “Ethereum is somewhat safe”. Over the last two months, we have released a wallet, alphas for state tree pruning in pyethereum and cpp-ethereum and headers-first syncing in Go, upgrades to Solidity, very early work in the “light ethereum sub-protocol” (LES) and are soon releasing the 1.0 versions of cpp-ethereum and Mix.
Our internal target has been to launch Homestead when the Frontier network has successfully run without serious problems for 4 weeks (the “serious problem” threshold being downgraded from the Frontier definition of “consensus failure” to a more expanded definition which is something like “consensus failure OR people losing large amounts of money OR semi-serious network glitches”); we plan on announcing a more detailed strategy for Homestead soon but suffice it to say that we are already mostly there.
DEVcon is still slated for November 9-13 in London, and we are looking forward to seeing everyone there!