Slides from my presentation on the Augur decentralized prediction market for the Blockchain Smart Contracts - Seattle Working Group Meetup on 07/23. The slides provide an overview of prediction markets, the benefits and challenges of creating one which operates in a decentralized manner, Augur's different market stages and their functions, and the risks and incentives of the Augur system.
1. Click to edit Master title style
1
Inside Augur
A d i s t r i b u t e d p r e d i c t i o n m a r k e t o n t h e E t h e r e u m
B l o c k c h a i n
N i l s - E r i k F r a n t z e l l ( n i l s e r i k . F r a n t z e l l @ g m a i l . c o m )
2 0 1 8 - 0 7 - 2 3
2. Click to edit Master title style
2
Prediction Markets
P r e d i c t i o n m a r k e t s a n d t h e i r c h a l l e n g e s
2
3. Click to edit Master title style
3
What’s a prediction market?
• A Prediction Market is an exchange where you bet on outcomes of a future
event
• Exchange: A location (physical or virtual) where people trade financial instruments
• Betting = buying/trading shares in outcome of future event
• Market price of event = reflects probability people think outcome will happen
• Share price for outcome A: $X / probability A happens
• Example: Seahawks will win Superbowl (binary event)
• Shares worth $100 if they win, $0 if not
• 2 shares generated – 1 “win” share / 1 “lose share” (complete set)
• Starting probability = 50/50, win / lose share = $50 each
3
4. Click to edit Master title style
4
What’s a prediction market? (continued)
• Each transaction has buyer + seller
• Transaction not executed until there is 1 buy order and 1 sell
order
• Buyer/seller need to agree on price
• (Usually) a spread – buyer has highest offer, seller has lowest
offer
• Exchange matches orders, (typically) takes cut of spread
• Share price = good indicator of probability of event outcome
• “Wisdom of the crowd” = individual bias disappears in group
• Group must be diverse for this to happen
• Applicable in the real world:
• Companies have used prediction markets to determine when to
launch product 4
5. Click to edit Master title style
5
Why decentralize?
• Reduced legal issues (potentially?)
• Online gambling = illegal in the US at federal level + in many states
• Ethereum blockchain is public - you’re not anonymous*
• Global participation
• More diverse crowds = more accurate predictions
• More security and transparency (in theory)
• Centralized prediction markets can steal your $
• Centralized high-profile target for hackers*
• How do they match orders? Front-running?
• More transparency if you share the smart contract code
• No central control (in theory)
• Need automated open-source smart contracts
• Users can create any market 5
6. Click to edit Master title style
6
Decentralization Challenges
• Payments
• Order matching
• How are orders matched?
• Front running: Is exchange cheating?
• Arbitration
• Who won?
• Who decides the outcome? What if outcome’s ambiguous?
• Security
• Protocol security?
• Smart contract security?
• Token security? 6
8. Click to edit Master title style
8
Augur Overview
• A decentralized prediction market running on the
Ethereum blockchain
• A set of Solidity smart contracts (100+),
JavaScript/TypeScript tools, a Desktop app, a web app, and
1 ERC-20 token – REP(utation)*
• Using Augur:
1. Download and install the desktop app from Augur.net
2. Sync the desktop app to the blockchain (fast sync)
• Can sync via Infura’s HTTP / WebSocket endpoint or
existing wallet
3. Open Augur in browser and choose your market
8
9. Click to edit Master title style
9
Market Overview
• Augur is a collection of markets
• Each market has 4 stages: Creation, Trading, Reporting, and
Settlement
• Overview:
1. You create a new market
2. People trade shares in that market
3. Oracle reports event outcome (and may be challenged by other Oracles)
4. Once there’s consensus around event result* – trades are settled
9
10. Click to edit Master title style
10
Augur Workflow Deep Dive
10
11. Click to edit Master title style
11
Terminology
11
Term Description
Market Where one trades shares of outcome of future event
Market Creator Someone who creates a market
Reporter Someone who reports an event outcome
Universe Container of multiple markets
Oracle A Reporter
Bond Deposit required in order to perform an action – incentivizes correct performance of that
action
Fork The nuclear option – avoid at all costs. Very disruptive, incentivizes correct reporting.
Resolution Source Where Reporters (should) get market event outcome
12. Click to edit Master title style
12
Workflow Stages
1. Market Creation
2. Pre-Reporting (aka trading)
3. Designated Reporting
4. Open Reporting
5. Wait for Next Fee Window
6. Dispute Round
7. Fork
8. Settlement
12
13. Click to edit Master title style
13
Stage 1. Market Creation
• User creates a market:
• Sets event end time
• Appoints Designated Reporter
• Provides No-Show Bonds and Validity Bond
• Validity Bond: Forfeit if market resolves to Invalid
• No-Show Gas Bond: Pays reporter’s gas costs
• No-Show Stake Bond: Incentivizes designated reporter to show up + public reporting to occur
• Sets Resolution Source:
• Can be anything – cnn.com, “common sense”, etc.
13
14. Click to edit Master title style
14
Stage 2. Pre-Reporting (trading)
• Users can trade shares or buy shares from the market
• Market only generates shares in complete sets
14
15. Click to edit Master title style
15
Stage 3. Designated and Open Reporting
• Starts after event occurs
• Designated reporter has 3 days to report outcome
• Market creator forfeits no-show stake bond and no-show gas bond if no
report
• Designated reporter posts Designated Reporter Stake on reported
outcome
• Incentivizes correct reporting
• Started at 0.35 REP ($10 -> $11)
• Market goes into Open Reporting if Designed Reporter = no show
• Any REP holder can report – No-Show Bond = posted as their stake
• They get Gas Bond (if outcome isn’t successfully disputed)
• Incentivizes public reporting
• Report at end of fee window is Tentative Outcome
15
16. Click to edit Master title style
16
4. Dispute Round
• Dispute Round = 7 day time window for reported outcome
disputes
• Any REP holder can dispute outcome – requires staking REP
(Dispute Stake)
• If Dispute Stake >= Dispute Bond Size, new tentative outcome +
new Dispute Round*
* Unless Dispute Stake >= 2.5% of all REP then you FORK
• Unsuccessful dispute = REP returned at end of round
• Tentative Outcome is Final Outcome (the truth!)
• Successful dispute = 50% ROI
• Disputing is incentivized: Stakers get share of Reporting Fee
Pool (regardless of if dispute was successful)
16
17. Click to edit Master title style
17
5. FORK!!!
• Very disruptive – the nuclear option!
• At genesis, all markets live in same universe (Genesis Universe)
• REP holders = trade in all markets in same universe
• Fork creates new mutually exclusive Child Universes with their
own REP<n> tokens
• Parent universe = locked, can still trade but no finalization / disputing
• Tokens can only be used in markets in 1 universe!
• REP holders must migrate tokens to new child universe
• Very disruptive by design – incentivizes correct reporting
17
18. Click to edit Master title style
18
5. FORK!!! Details
• Fork occurs when dispute stake >= 2.5% of all REP
• 60-day time window: gives exchange and wallets time to prepare
• Disputing = frozen for all non-finalized markets
• Genesis universe is forked into 1 universe for each Outcome
• Parent universe = locked during fork
• No disputing
• No new markets
• No reporting rewards
• No finalization
• All staked REP is unstaked so it can be migrated
18
19. Click to edit Master title style
19
5. FORK!!! Details (continued)
• REP must be moved from parent universe to child universe
• Get Migration Bonus (5% REP) if you migrate tokens to child
Universe during Forking Window
• Migrating tokens = 1-way action
• Fork with most tokens = Winning Universe
• REP staked in parent universe can only be staked on that
outcome’s child universe
• Sibling universes are mutually exclusive – losing universes
shouldn’t hold any value
19
20. Click to edit Master title style
20
6. Market Finalization
• Finalization = tentative outcome isn’t disputed or after fork
• Participants trade with each other or settle with market
• Settlement = Participant gives Augur complete set of
shares or share of winning outcome, gets $$
• Augur only collects fees during settlement
20
21. Click to edit Master title style
21
Incentives and Security
21
22. Click to edit Master title style
22
Potential Issues and Risks
22
Risk Description Impact Mitigation
Parasitic market “No fee” Parasitic Market
could steal users from Augur
and reduce market cap of
REP
Reduced market cap of
REP = reduction in forking
protocol integrity
Keep Augur’s fees as cheap as
possible
Inconsistent / malicious data
feeds
Changing source of truth
could result in forks
Disruption to all non-
finalized markets? Multiple
Child Universes with non-
zero balances? Decrease in
price of REP token?
Reporters ensure corresponding
markets resolve as Invalid
Self-referential oracle
queries
Oracle could be incentivized
to affect market finalization
Could affect market results
and delay market
finalization
Reporters could resolve such
markets as Invalid?
Uncertain fork participation People may be hesitant to
migrate tokens until outcome
is finalized
Potential compromise of
forking protocol integrity?
5% bonus for tokens migrated
during fork period
23. Click to edit Master title style
23
Potential Issues and Risks (continued)
23
Risk Description Impact Potential Mitigation(s)
Spamming with invalid
markets
Malicious actor could create a
lot of obviously invalid markets
DoS-style attack – reduces
usability of Augur system
• Manual / automated filtering of
obviously invalid markets
• Raising cost of market creation
Ambiguous / subjective
markets
Event outcome might not be
obvious e.g. coin flip where
coin lands on edge
Worst case = fork where
more than 1 Child Universe
has non-zero value,
decrease in market cap of
tokens
Reporters ensure that markets
resolve as Invalid?
24. Click to edit Master title style
24
Resources
• Predicting the Future with Decentralized Prediction Markets
• Augur: a Decentralized Oracle and Prediction Market Platform
(whitepaper)
• Augur smart contract source code
• Challenges of centralized prediction markets and a potential
decentralized implementation (using the Bitcoin network)
• Zeppelin Augur Core security audit
24