A note on AugurLite and 2020 US presidential election markets on Veil
Last week we opened up trading on new markets for the 2020 Democratic presidential nomination denominated in Dai. We also released a slimmed-down version of Augur to back these markets called AugurLite. There has been some confusion about exactly what AugurLite is and how it differs from Augur, so we decided to publish a follow-up piece to clarify.
To start, let’s talk about Augur. Augur is a prediction market protocol built on Ethereum with three important pieces of functionality: escrow, exchange, and resolution. Anyone can create a prediction market on any topic using Augur and escrow ETH in the market to get outcome shares. Those shares can be traded using Augur’s exchange contracts. And then a decentralized oracle can resolve the market to let users redeem their shares for some of the escrowed ETH. Together we think these pieces of functionality make up one of the most sophisticated protocols on Ethereum today.
At Veil, we’re building a trading platform for real-world events, and we’ve made use of Augur in doing so. We’ve made some changes in the name of usability—like moving trading off-chain using 0x and adding Instant Settlement to pay-out markets immediately. But all markets on Veil have been Augur markets under-the-hood. We’ve always thought of Veil as a great example of Ethereum’s composability—or “the love child of 0x and Augur.”
Long-running political markets
Since launch, one of the most common feature requests from our users has been markets on the upcoming 2020 US presidential election. The opportunity for prediction markets is vast, but for now politics remains one of the most popular applications. Yet we haven’t been able to support these markets because of how far in the future they will expire.
As the Forecast Foundation explained in a recent blog post, Augur v2 will be launching later this year. But users have been discouraged from creating markets on the current version of Augur that may expire after Augur v2 launches. See the warning banner on this Augur market as an example. If most reporters migrate to the new version of Augur, markets left on the old version may become vulnerable to dispute or manipulation. For this reason, we had postponed creating markets that would expire in 2020 and limited the duration of new markets created through Veil.
However, as we sought out more and more feedback from users, we decided to research creative ways we might be able to support 2020 markets in the short term. Ultimately, we decided to deploy a customized version of Augur that wasn’t exposed to the Augur v1 oracle.
AugurLite is a fork of the Augur smart contracts, but it is not a fork of REP. Unfortunately, a “fork” can mean many things in crypto. It can be just a copy of code or the splitting of an open network. AugurLite is the former—it is a copy of the Augur smart contracts with large pieces of functionality removed for simplicity. AugurLite has no exchange contracts, no token, and no oracle. It is not a competitor to Augur.
In fact, we think AugurLite is more similar to what we did with Veil Ether, a fork of Wrapped Ether. We deployed a new version of Wrapped Ether with an updated
depositAndApprove method when we launched Veil to decrease the number of Ethereum transactions users send during onboarding. We’re incredibly grateful most Ethereum-based protocols are open-source and easily forked. We think forks are a measure of the community’s dynamism and should be encouraged—see MetaCartel’s recent fork of Moloch as a great example.
Every market on Augur is created by staking REP tokens and resolved by Augur’s decentralized oracle. In contrast, markets on AugurLite can be created for free and use indisputable oracles (i.e. a single address that can resolve the market once it expires). The oracle address can theoretically be some trusted third party or another smart contract which itself is an oracle or pulls information from another contract on Ethereum. In the case of the 2020 markets, Veil is currently the oracle. You can now go to any Veil market and see what oracle it uses in the “Details” tab.
Augur v2 and parasitic markets
As described, AugurLite was created and deployed out of a need for long-running markets like the 2020 US presidential ones. Veil continues to support Augur v1 by encouraging users to create markets on Augur v1 and trade them. We are also fully behind Augur v2 and think the addition of Dai as a denomination token and “Invalid” as a tradable outcome will be very positive changes to the protocol. And we plan on integrating with Augur v2 when it launches.
Some have noted that markets on AugurLite could become parasitic if they are resolved using the outcome of Augur markets. For context, parasitic markets are markets that use a decentralized oracle without paying for it. The outcomes of Augur markets are publicly available, so smart contracts can theoretically react to them for free. The worry is that if large amounts of open interest can get away with not paying fees to the oracle, the oracle loses value and becomes easier to manipulate.
Veil will not resolve AugurLite markets in a parasitic way. Once Augur v2 is launched, we will either keep Veil as the oracle or help users migrate open interest from AugurLite to Augur v2.
AugurLite audit report
Before AugurLite was launched in conjunction with Veil’s 2020 markets, our team obtained a security audit of the smart contracts. The audit was performed by Daniel Que and Nemil Dalal, and their report can be found in the AugurLite audit-reports folder. No critical vulnerabilities were found.
It is worth mentioning one “high” severity vulnerability was found where shareholders can avoid paying market creator fees. This vulnerability is also present in Augur, and our team informed the Forecast Foundation of the finding. They were already aware of the potential issue and we ultimately deemed the vulnerability impractical to exploit.
All other findings from the audit report were addressed prior to deployment, as outlined in the report.
Use of Single-Collateral Dai
Veil’s 2020 markets are denominated in Single-Collateral Dai. We chose Dai to mitigate the price fluctuations common in Ether. AugurLite can technically support arbitrary denomination tokens — anyone can launch a new AugurLite universe with a unique ERC-20 denomination token.
Before launching with Single-Collateral Dai (SCD), we spoke with the Maker team about migration plans to Multi-Collateral Dai (MCD), the next version of Dai. We wanted to make sure that when MCD launches, it will not immediately affect the value of SCD. The team assured us there would be a grace period of at least six months after the launch to convert SCD into MCD. We also simulated migrations between our SCD AugurLite universe and a new MCD AugurLite universe.
Our goal at Veil is to build a prediction market that our users love. We hope the work we’ve done on AugurLite is a demonstration of that. You can now bet on the 2020 markets in Dai on Veil. Happy trading, and please reach out to us with any questions, concerns, or ideas!