Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Prediction market allows participants to bet on outcomes of events. E.g.
"Will Obama win in 2012 US presidential elections?"
Possible outcomes: YES, NO.
To bet on positive outcome one needs to buy YES-bond from market. This bond will pay 1 BTC if outcome is positive and 0 otherwise. Likewise, to bet on negative outcome one buys NO-bond from market, which pays 1 BTC in case of negative outcome and 0 otherwise.
One can notice that a combination of 1 YES-bond and 1 NO-bond always pays 1 BTC, so its value should be around 1 BTC on market, minus adjustment for interest, liquidity, counter-party risk etc.
E.g. suppose that current price of YES-bond is 0.6 BTC and price of NO-bond is 0.4 BTC. This means that the market's estimate of the probability of the positive outcome is around 60%. If somebody thinks that probability of positive outcome should be higher he will buy some bonds, driving price higher.
Agreement between price of YES-bond and NO-bond should be a result of arbitrage opportunities. E.g. if price(Y-bond) + price(N-bond) is less than 1 BTC, somebody should buy both Y and N to get 1 BTC in any case.
Prediction market operator creates these Y and N bonds and sells them on market. He should sell them in pairs, i,e. always same amount of Y and N bonds to keep his position neutral. To get some profit from this he should sell pair for more than 1 BTC. (Unless he can get profit from lending money or something... which is frowned upon in Bitcoin world.) E.g. suppose currently highest bid is 0.61 BTC on Y-bond and 0.41 BTC on N-bond. Operator will sell a pair, possibly in one atomic transaction (although currently p2ptrade software cannot do that). Thus he gets 1.02 BTC from market participants. He needs to return 1 BTC when outcome is clear (via a buy-back), and 0.02 BTC is effectively the fee operator takes.
Now let's compare this to other similar constructs:
1. Compared to betting sites like bitbet.us and betsofbitco.in there are no artificial bullshit constructs like "time weight".
You can make a bet at any time buy buying and selling on the market and you know how much you can win or lose exactly.
Also it is possible to exit early. Say, you can purchase Y-bond when there is a lot of uncertainty for 0.55 BTC.
Then there is higher degree of certainty that outcome is positive price moves to 0.95 BTC, you can simply sell and move on.
Also, price reflects current estimate of probability but what people thought about it before when they had less information.
So prediction market is superior to betting sites in all aspects, I think.
2. Compared to centralized solution, benefits aren't that great.
Bets can be made anonymously, ownership of a bet is secured in same way Bitcoins are normally secured, bets are transferable,
scheme is more-or-less transparent.
However, there is a risk that operator will simply run away with money, or that he will be robbed.
So let's consider a modification which involves escrow. To do this, we need some intermediaries, let's call them primary dealers. For example, a primary dealer puts 10 BTC into 2-of-2 multi-sig escrow with the operator, and operator gives him 10 Y-bonds and 10 N-bonds. (Total value: 10 BTC.) Primary dealer can then sell bond pairs on market as described above, getting some profit from it.
When outcome is known, primary dealer needs only one kind of bonds to unblock his deposit from escrow. For example, if outcome is YES, he needs 10 Y-bonds to unblock 10 BTC. He is supposed to buy them on the market at 1 BTC each, just like operator in a previous example. N-bonds are now worthless, nobody needs them.
However, primary dealer can exit before outcome is known if he returns both 10 Y-bonds and 10 N-bonds, he might want to do that if he can buy a pair for less than 1 BTC.
The positive aspect of using an escrow is that collusion between operator and primary dealer is required for them to run away with money. It is certainly possible, but it can be mitigated in various ways, e.g. other trusted parties might be involved in the escrow. On the other hand, ordinary users do not need to deal with complexities of escrow, they can make a bet or exit at any time through buying/selling securities on the market.