Ethereum has long been hailed as a transformative technology for enabling smart contracts and decentralized applications (dApps), but in 3 years of operation, dApps are nowhere to be seen and ICOs flood the ecosystem. This is hardly surprising, ICOs are simple to build (most of their code is copy-paste) and their complexity rarely extends beyond a couple of contracts. dApps on the other hand, are far more complex and made up of dozens of contracts that work together to handle functions for reading and writing data to the blockchain. These dApps can perform a wide range of services, from handling insurance contracts and automating payments to generating unique and tradable game items and skins. Unfortunately, complexity brings bugs, and unlike most software applications, a bug in an Ethereum contract can result in massive financial loss. This requirement for ultra-diligent security has been a major barrier for launching dApps, often leading to months of auditing as has been seen with Augur. In cases where dApps have been poorly audited or not audited at all, major exploits have been found, most notably in the case of “The DAO” which lost tens of millions through a couple of lines of poorly written code. But with all the complexity and apprehension, we are finally at a stage where the first major dApps are being released to the Ethereum main net.
Augur: Decentralized Prediction Markets
Full disclosure, I own a small sum of Augur (REP) and have followed this project for 2 years now. I am much more interested by the technology than I am by the token price (utility tokens are very low down on my list of good investments in this space), and I like to think that my meagre holding does not sway my opinion on the project here!
Augur has been a long time in the making, and is now due to launch on July 9th 2018 after extensive testing and a lengthy 64-page audit. The platform, which began development in 2015, acts as a prediction market for real world events. Users ask a question: “Will Germany win the World Cup 2018”, set start/end times and a choose trusted reporter(s) to ensure accuracy of the outcome. Traders can then buy (“yes”) and sell (“no”) the market, earning an income for correct predictions and making a loss on incorrect ones. The market maker will also earn income in the form of settlement fees, and a resolution process kicks in if an outcome is disputed. This in itself is revolutionary; anyone anywhere in the world can create or participate in a prediction market, monetizing their knowledge or generating publicly accessible forecasts where there otherwise weren’t any. But there is an even more important side effect to Augur in its function as an Oracle. An Oracle (in the context of Ethereum) is a trusted source which interfaces the real world with the blockchain world. Blockchains operate in their own bubble, without the ability to interpret real world data, but an Oracle like Augur is capable of connecting the two. Digitizing reality in this way will allow smart contracts to perform functions based on real world outcomes, opening up a plethora of new possibilities for dApps on Ethereum. Even something as seemingly simple as generating randomness cannot be done securely on the blockchain, whereas an Oracle like Augur could achieve genuine randomness that cannot be cheated.
Scaling For Adoption
Augur is one major dApp due to launch this year, another is being built by Loom, a company which intends to release a collectable card game later this year on their own Loom Network. But one major roadblock towards user adoption is the scalability issues that have plagued decentralized blockchains for years. Augur does not have a solution to this – launching its dApp on the Ethereum main chain and potentially suffering the consequences at launch (although they intend to move to Plasma once it’s available). Loom on the other hand is enabling “DAppChains” – Ethereum sidechains that are optimized for scaling data – which all of their dApps (and other developer dApps) can be built on. These DAppChains accept that the security of a simple game does not require the full force of Ethereum main net and can compromise on this aspect in favor of higher throughput (see the scaling trilemma). Loom is also making use of ERC721, a standard for building “non-fungible tokens” (NFTs) – which are likely to become an Ethereum use-case that is as big as (if not bigger than) the ERC20 token standard which has been used for ICOs.
The next 12 months are going to be very interesting for Ethereum. Not only are dApps being built with potential for mass adoption, but multiple scaling solutions are falling into place and frameworks for rapidly building and testing new dApps are maturing. For anyone looking to dip their toe in the world of dApp development, I highly recommend checking out these resources:
- CryptoZombies.io (Free course on Solidity programming basics)
- Truffle (Dev environment)
- Infura (Ethereum node API)
- OpenZeppelin (smart contract library)