On the ground in Prague this month, our very own Dr. Michael Yuan, CyberMiles’ Chief Scientist, who recaps here the biggest conference for blockchain developers.
It is said that the biggest application for blockchain are ICOs and conferences. As a practitioner in the blockchain field, I’ve participated in many conferences over the past year. However, I genuinely feel that Devcon is the top conference in blockchain technology. This annual event lays out the development plan and roadmap of Ethereum 2.0 (and beyond). It’s a conference focused purely on technology, where participants are mainly programmers and libertarians with a deep faith in the technology.
Among the myriad blockchain conferences, Ethereum’s Devcon is the one and only authority in terms of the technology itself. Of the 3,000 tickets available for this year’s Devcon, all were sold out within a few minutes (at $2,000 USD a pop), demonstrating a popularity akin to an Apple product launch event.
Flash back to Devcon3, which took place this time last year in the Mexican seaside resort of Cancun, and our blockchain project just had been established — i.e. few, if any, had heard of CyberMiles yet. At Devcon4, by contrast, many we came into contact with knew us as the team who invented the libENI and Lity language extensions on the Ethereum virtual machine. In only a year, CyberMiles has grown up with Ethereum, earning itself a place in the open-source technology community. Now, what is the future of Ethereum?
To support large-scale applications, a lingering issue for Ethereum is, first, how to solve the technical problems concerning safety, performance, scalability, and user-friendliness. The blueprint for these solutions also happens to be the theme of Devcon4. Other hot topics: the social changes that such developments may generate; how to promote the use of technology, safely and fairly; and the impact of new technology on individual freedom, private property, and other universal values.
(As Devcon participants are mostly programmers and libertarians who strongly believe in blockchain technology, I heard nothing about token price, for instance, or saw no one fawning over high-profile speakers or attendees. This is in stark contrast with other blockchain conferences.)
So, what is Ethereum’s technology blueprint? The lyrics of a cheeky song* by singer Jonathan Mann, who specializes in creating geeky singalongs online, explains everything and lays out what’s to come.
Singer Jonathan Mann on stage at Devcon4
*Note: BUIDL, an intentional misspelling of “builder,” refers to programmers who write software and contribute to blockchain. Comparatively, HODL (i.e. holder), referring to token buyers, is a person who believes in holding cryptocurrency long-term.
The next version* of Ethereum is called Constantinople, to be followed then by Serenity, which is said to be Ethereum 2.0. The three major innovations of Ethereum 2.0 are: consensus mechanisms for equity certification, “sharding” (a scaling solution), and eWASM virtual machines.
*In a sense, blockchain software doesn’t really have versions (2.0, etc.). Blockchain software must be able to handle all blocks from the first (Genesis) to the present, at any time. There never should be a version of the software that is incompatible with a previous one. But with Ethereum’s Serenity, a great change has been made, which is a hard fork of the current Ethereum. Therefore it’s called Ethereum 2.0.
Although the goals and paths already exist, the specific implementation of Ethereum’s Serenity still has a long way to go. In fact, Vitalik Buterin didn’t even lay out a deadline in his Devcon speech. These features may be implemented within a year…or two…or even three — who knows. The goal of Ethereum is to change the world with technology, not the price of a token.
The biggest feature of Ethereum’s Serenity is also its biggest challenge. It is necessary to transform Ethereum from a Proof-of-Work into a Proof-of-Stake blockchain. This is a change to the basic consensus mechanism, as well as to the future foundation of Ethereum. The benefit of this change is to boost Ethereum’s performance significantly, as PoS is a much more efficient consensus mechanism than PoW.
Developing a PoS-based blockchain is not rocket science. CyberMiles is, notably, a public blockchain based on PoS that is compatible with Ethereum, yet superior in performance.
However, for Ethereum, this transformation impacts the interests of all parties in the community, especially miners. Therefore, the challenge is significant. “Casper” is the software for transitioning Ethereum from PoW to PoS. (During this long transitional period, PoW and PoS will coexist.)
Casper’s testnet went live last year after Devcon3, and the CyberMiles team participated early, witnessing it from being very unstable to the present of being relatively stable. (At Devcon4, everyone’s consensus seemed to be that Casper’s software is generally stable, without much discussion of the design or the roadmap of Casper at the conference.)
The second important idea for Ethereum scaling is sharding.
Similar to database sharding, blockchain sharding enables a certain part of the work to be processed by a subset of nodes. In turn, the total amount of computing that the entire system can handle can grow as the number of nodes increases. With sharding, Ethereum’s scaling potential is as simple as adding computing nodes.
To scale with sharding may seem easy, but it’s actually difficult to implement, determining how to shard and how the shards reach consensus, for example. In the process of developing Casper, we found that the consensus mechanism also can be used to provide consensus for sharding. Therefore, Shasper is what many call this sharding mechanism.
My feeling at Devcon4 is that Shasper has a lot of un(re)solved problems. But because this has little to do with the majority of application developers, discussion around it is limited to Ethereum’s core development team.
Shasper is, of course, not the only implementation of sharding. There already is a public blockchain for vertical applications, such as CyberMiles for e-commerce, which itself is logically sharded. If several public blockchains for specific applications are connected through a decentralized trading platform, this also can be called logical sharding.
If Casper and the sharding of Ethereum 2.0 are short-term goals, the eWASM virtual machine is its long-term goal. Since the virtual machine is the window for the application software to interact with Ethereum, the developer community has shown great interest in eWASM.
Today’s Ethereum virtual machine (or EVM), written by cryptographers and Turing complete, is designed for the cryptographic consensus algorithm primarily. As a general-purpose computing platform, EVM’s efficiency, performance, security, and availability make it insufficient.
EWASM is based on the open source WebAssembly virtual machine, which isolates a part of the virtual machine for consensus computing (versus conventional WebAssembly, which is used only for general computing). Because WebAssembly already has a large open source community, including Google, Microsoft, and the Mozilla Foundation (its creators), this is obviously a great choice.
A core feature of eWASM is supporting multiple programming languages. More than a dozen programming languages supported by LLVM can be compiled to run on eWASM. At the same time, eWASM has an extension mechanism that supports plugins written in the C/C++ language to extend the capabilities of virtual machines. A high-performance algorithm**, for example, can be put into a virtual machine directly through a plug-in, allowing all applications to call.
**CyberMiles’ libENI provides an extension mechanism for today’s EVM, including a mechanism of adding libENI native extensions to the virtual machine without forking — or stopping — the blockchain through a consensus mechanism. This is a concerted effort by CyberMiles as a part of Ethereum community.
However, after participating in 10 hours of eWASM lectures and workshops at Devcon4, my takeaway is that eWASM*** is still far from ready to go live (estimated to be two years). Currently, there is no testnet, or even an easy way to write a “hello world” application; and its roadmap depends on Casper.
***eWASM was proposed in 2015 by EIP-48, three years in the making
Ethereum’s Serenity is the next mainnet of Ethereum. It’s clear from Devcon4 that the focus of Ethereum is building an ecosystem and a community around the mainnet.
As mentioned previously, the biggest challenge of the Ethereum ecosystem is scaling. In addition to the Casper/sharding/eWASM-based mainnet scaling, another important scaling option is to use side chains.
The basic principle of the side chain is to conduct a large number of transactions off the mainnet. The correctness or security of these transactions is bulk verified by a smart contract on the mainnet.
This is actually the basic idea of the lightning network that successfully scales Bitcoin; just that Ethereum contains codes, making it more complicated than Bitcoin. Ethereum doesn’t have a lightning network, but requires a complete blockchain smart contract platform to execute transactions off the mainnet. This is called a side chain.
Because the side chain is the “second layer” off the mainnet, it’s called Layer 2 network.
Yet, like many of the ideas mentioned above, the side chain also is an idea that looks simple but difficult to implement. There are several design mechanisms for side chains, and many projects have been funded to explore this direction. Plasma, most notably, is the influential side chain design discussed in Devcon4’s main venue.
Plasma’s design had a minimally-proven product, called Plasma MVP, a few months ago, which gave the community great confidence. But Plasma MVP has a lot of problems, making it less than feasible in real-world scenarios. Inspired and encouraged by Plasma MVP, Ethereum’s developer community now has several Plasma implementation projects competing.
Karl Floersch, a core Ethereum engineer who introduced the current state of Plasma implementations at the conference, is optimistic that these projects, in just the past few months, have found a way. “We’re approaching the mountain top and can see the dawn,” Floersch said. But app developers still are waiting for the first Plasma side chain to be available on Ethereum’s mainnet.
In the last two years, zero-knowledge proof has been a major focus of blockchain research. Zero-knowledge proof can guarantee the confidentiality and privacy of transactions on any blockchain with transparent transactions. The most prominent example: zcash.
The big news in the blockchain technology circle last year was that Ethereum introduced support for zkSNARK. Such zero knowledge may be applied to smart contracts, like building a privacy-protected data market. Availability and performance of zero-knowledge algorithms have many shortcomings, hence its application still is quite limited.
But, just recently, Vitalik Buterin published an article about zero-knowledge proof that can be used to package verification transactions in batches. What this means is that Ethereum may have a second type of transaction-packaging scaling solution that does not rely on side chains.
During Devcon3 last year, the fundrasing smart contract of Gavin Wood, Ethereum’s co-founder, was found to have a security bug, resulting in approx. 930,000 ETHs (equivalent to $280 million USD at that time) being locked up in smart contracts, which no one could transfer.
Since then, the safety issues of Ethereum’s smart contracts have (re)occurred frequently, causing significant economic losses. Ethereum’s smart contract security tools — and consulting companies — have mushroomed accordingly. One big presence in the market is the various formal verification tools that now exist to verify, mathematically, the correctness of the software.
But software security is ultimately an engineering issue, requiring tools, as well as processes and systems. This year’s Devcon4 hosted several seminars on smart contract security, including systematic methodologies, security testing, verification and project management tools, and re-postings after specific project safety assessments.
I feel that Devcon4 is the year that blockchain developers are learning — finally — from the experience traditional software development amassed.
Blockchain development has long been the playing field for cryptography experts and system programmers. In the last year, we found that blockchain application is too complicated for most users, that it is difficult to put into real-life use, just like the early years of dial-up Internet.
With that in mind, Devcon4 invited several application projects that have had recent success to introduce their UI/UX developing experience. (Also invited were a few famous UI/UX designers in the traditional Internet business, who explained some of the basic concepts and techniques.)
The most popular project in the Ethereum ecosystem is the wallet project, Metamask. Known as “the wallet for developers,” it has a million users and plans to move toward a consumer-facing mobile wallet. The Metamask team shared their experience and development plans with the Devcon4 crowd.
Meanwhile, developers also are trying to move the Ethereum infrastructure toward being more user-friendly overall.
For example, Ethereum’s Domain Name Service (ENS) is a community-sponsored smart contract that maps Ethereum’s account or contract address to human-readable names (similar to how DNS maps digital IP addresses to human-readable domain names).
Since Bitcoin first came into existence a decade ago (!!!), the cryptocurrency community always has emphasized the responsibility of technology to society. Will the new technology we develop be used for war, for oppressing individual freedom, or will it enhance the well-being of humans everywhere?
This was a concern of Albert Einstein and Robert Oppenheimer last century, and is the struggle of Google employees this year. Can the power of technology build a nuclear power plant, but not create an atomic bomb, for instance? Is cryptocurrency exacerbating an already widening gap between the rich and the poor in society, or is it empowering — and equalizing — individuals?
Guest speakers, such as Steward Brand and Corey Doctorow, delivered hard-hitting talks at Devcon4
At Devcon4, a full quarter of the program was dedicated to this conundrum. For example, smart contracts that own property, make algorithm-based decisions, and even self-multiply, should they be considered a “legal person” or not? Should they have “rights,” human or otherwise? Will they one day rule humanity? Can human society eliminate itself of companies, governments, and even the private property through the mathematical extreme market?
These discussions made me realize that programmers are perhaps the masters of the world — a future one. The world is your oyster, software engineers.
P.S. Devcon remains the conference with the most cutting-edge technology, laying out the direction for blockchain technology development. Compared with other conferences, large and small, that I’ve attended around the globe, Devcon4 is a refreshing experience: where we only talk about the technology — not the price of a token.
Dr. Michael Yuan is the CyberMiles Foundation’s co-founder and Chief Scientist. The CyberMiles project has built a new blockchain specifically optimized for e-commerce applications, having raised more than $30 million (USD) from 14,000 contributors in 119 countries via a successful token sale. Dr. Yuan is the author of ‘Building Blockchain Apps,’ an upcoming book from Addison-Wesley. Prior to CyberMiles, he had extensive experience in open source software development and healthcare research.