Author Topic: Simple Binary Prediction Market Discussion  (Read 24571 times)

0 Members and 1 Guest are viewing this topic.

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander

Delegates are not necessary as long as people know who the judge is at the start.

A judge is more centralized than delegates, but if having delegates provide feeds for outcomes is too much work, then you could use a judge.


Perhaps the system could work where the judge would announce the result, and it would be 24 hours or 48 hours or something until the bet was resolved.  That way, if the judge announced the incorrect result, the community would have time to vote them out before it resolved.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Just by reading this thread it makes me never want to gamble on sports without a judge.  If I lost and then found out that I could either get 10% of my original bet back or screw over the guy who beat me... I might just screw him over because I'm pissed I lost and misery loves company.  I mean talk about a lot of risk in getting a payout... a lot more risk than trusting a judge to make the call.  Couldn't we have delegates providing feeds of certain events that end up dictating the winner and loser and dispersing the payout?

I agree. I think of it like BitAssets before the feed. We hoped the system would work without any price feed information put into the blockchain, but ultimately we had a plan to add it if necessary. I think we need a plan to add a judging mechanism for the prediction market to settle the bets. If it turns out we don't actually need it for the winners to nearly always get the vast majority (say >99%) of their winnings in a reasonable time, then great. Otherwise we have the judging mechanism to fall back on.

But I don't want to add this task to the already over-burdened delegates (plus it may have legal consequences). Let's just do it in a way similar to how Truthcoin does it. We would have special UIAs for each "Branch of VoteCoins" (to use Truthcoin terminology). When a user is setting up this prediction market BitAsset, they not only need to set the description, but also choose the Vote-UIA that gets to decide on the outcome, as well as the percentage fee (perhaps with min/max limits per trade) to charge on each trade in the market in order to collect a sizeable pool of BitUSD to incentivize the Vote-UIA holders. For the BitAsset market to become active, some percentage of that Vote-UIA need to agree to judge the outcome of that prediction market (which then becomes a liability for those Vote-UIA holders). The Vote-UIA holders than include their decision on that PM (which by default would be unknown) in future voting periods until the outcome has been resolved and forced liquidation of BitAssets with collateral (if the longs are the winner) or unlocking of collateral for free (if the shorts are the winner) occurs. If a majority of Vote-UIA do not vote unknown on the decision of a PM, that column will be included in the vote matrix for the voting period. The blockchain does the SVD of the vote matrix in each voting period and the reputation based coin redistribution of the Vote-UIA. The BitUSD fees collected in the pool can be used as automated buy pressure in the BitUSD/Vote-UIA market, providing the incentive for Vote-UIA holders to do these tasks.

Also, I have ideas on how to do the SVD in a smart way. There could be some time between voting periods for allowing the SVD result to be computed. The delegates would do the computation in parallel (it shouldn't take much time if we make the number of rows in the vote matrix reasonable by having a moderate transaction fee for each ballot submission by the Vote-UIA holders), then once they have the result they would submit it to the blockchain (and the majority of the delegates would have to sign off on the result, likely by just adding their blocks on to the blockchain). The outcome (RBCR) would not immediately occur after submission of the result. There would be a small delay (anywhere from 30 minutes to 24 hours) which would allow the Vote-UIA holders to submit a claim that the SVD result is false. As the percentage of Vote-UIA claiming false results increases the delay increases from 30 minutes up to 24 hours. If within that 24 hour delay at least 75% of the Vote-UIA has claimed the result is false, then future voting periods for that Vote-UIA are put on hold until this issue is resolved. When a SVD result is called into dispute by a quorum of at least 75% of the Vote-UIA, a fraction of everyone's Vote-UIA is temporarily frozen. If the PM BitAsset longs and shorts for PMs that use that Vote-UIA as the judge are able to reach some consensus (details of the requirements for consensus TBD) that either the SVD result was true or was false, then something happens. If they reach a consensus that it was false, the Vote-UIA are unfrozen and furthermore some amount of BTS is printed (or alternatively taken from the delegates registration fee if we are operating under a model in which retired delegates could withdraw their registration fee after two weeks, which really makes the registration fee more of a security deposit) and used to pay out dividends to the Vote-UIA holders to reward them for catching the delegates. If they reach a consensus that it was true, then the Vote-UIA holders are punished for crying wolf by seizing their frozen Vote-UIA and gradually (to give time for arbitrage with other Vote-UIA markets and for interested parties to place their Vote-UIA buy bids) dumping it on the Vote-UIA/BTS market and destroying the received BTS as the dividend to BTS stakeholders. Actually, there is no need for any of that. If the delegates produce incorrect changes in the database because of a false SVD result than they are on an incorrect fork which the full clients can detect (just like with any other blockchain action). I guess if they submit a hash of the result into the blockchain after the delay it could allow the full clients to immediately know whether the delegates lied / are on a wrong fork. The delay is still important in my opinion because it gives the delegates and full clients a reasonable amount of time to do the SVD calculation in parallel without slowing down block production.

Haven't thought through all of the details of above carefully, but I think that should more or less do it. Each trader can judge whether they want to use the PM based on the credibility of the Vote-UIA set to judge it. Regardless of the initial distribution (assuming it is not too centralized) over time the RBCR should evolve the distribution into one that should be more trusted to make honest decisions. And PM participants can also judge the history of that group's decisions.

Edit: And of course since this is a lot of work, all of this is concerning possible post-1.0 features. We obviously shouldn't consider this stuff pre-1.0 when we have so many more important things to get done.
« Last Edit: February 04, 2015, 07:38:50 pm by arhag »

Offline Empirical1.2

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
My prediction is though that 'sense of justice' won't play a big role. I play a lot of poker and if I was the loser how I felt would be irrelevant. I would be holding a token the other player needs to cash out. We are now in an equal position, so fair value will become 0.5 though the average might settle a bit higher than there in favour of the direction of the actual outcome.

Yes this.   In terms of finding the Nash equilibrium, the fact that you won the bet doesnt matter, you still require me to go along with you in order to cash out, and I am demanding 50% of the money.  Or maybe 30-40%. 

Because I am an anonymous bettor on a blockchain, and you dont even know who I am, you cant really do anything about it, and I have no reputation on the line that I am sacrificing in order to demand this from you.

If the system was reputation based, then there would at least be some cost for me to not settle, in that I would lose reputation, so maybe I would settle for 5-10% regularly.  (Until I gamble it all on something and I lose, and then I start demanding 30% because otherwise I am ruined).


The blockchain MUST resolve the bet and enforce the result for this to work.
This means that it must receive inputs from the outside world, from the most trusted source - delegates.

Delegates have a reputation that they must maintain.  If they collude to change the result of the bet and cause it to be resolved in their own favor, they will lose all reputation, so there is a cost that they suffer to do mischief.

What about this solution.

After 30 days the system decides who won based on where the average trade settled in the first 7 days after the event.  You could also charge a fee to losers who waited 30 days to encourage early settlement.

So now you only sell for less than 100% if you want payment within 30 days.
The losers pay a bigger fee the longer they wait, so it's in their interest to release just after the outcome.

Only if the 7 day measuring system somehow gave an incorrect result would X delegates or a judge need to be called to decide the outcome.
« Last Edit: February 04, 2015, 06:37:24 pm by Empirical1.2 »
If you want to take the island burn the boats

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Why not just make a normal PM with normal scoring rules that resolve from m-of-n feeds?

Since this whole discussion is for hypothetical post-1.0 features, I don't see what we gain from a partial solution which will give worse results
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline bytemaster

My prediction is though that 'sense of justice' won't play a big role. I play a lot of poker and if I was the loser how I felt would be irrelevant. I would be holding a token the other player needs to cash out. We are now in an equal position, so fair value will become 0.5 though the average might settle a bit higher than there in favour of the direction of the actual outcome.

Yes this.   In terms of finding the Nash equilibrium, the fact that you won the bet doesnt matter, you still require me to go along with you in order to cash out, and I am demanding 50% of the money.  Or maybe 30-40%. 

Because I am an anonymous bettor on a blockchain, and you dont even know who I am, you cant really do anything about it, and I have no reputation on the line that I am sacrificing in order to demand this from you.

If the system was reputation based, then there would at least be some cost for me to not settle, in that I would lose reputation, so maybe I would settle for 5-10% regularly.  (Until I gamble it all on something and I lose, and then I start demanding 30% because otherwise I am ruined).


The blockchain MUST resolve the bet and enforce the result for this to work.
This means that it must receive inputs from the outside world, from the most trusted source - delegates.

Delegates have a reputation that they must maintain.  If they collude to change the result of the bet and cause it to be resolved in their own favor, they will lose all reputation, so there is a cost that they suffer to do mischief.

Delegates are not necessary as long as people know who the judge is at the start.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
My prediction is though that 'sense of justice' won't play a big role. I play a lot of poker and if I was the loser how I felt would be irrelevant. I would be holding a token the other player needs to cash out. We are now in an equal position, so fair value will become 0.5 though the average might settle a bit higher than there in favour of the direction of the actual outcome.

Yes this.   In terms of finding the Nash equilibrium, the fact that you won the bet doesnt matter, you still require me to go along with you in order to cash out, and I am demanding 50% of the money.  Or maybe 30-40%. 

Because I am an anonymous bettor on a blockchain, and you dont even know who I am, you cant really do anything about it, and I have no reputation on the line that I am sacrificing in order to demand this from you.

If the system was reputation based, then there would at least be some cost for me to not settle, in that I would lose reputation, so maybe I would settle for 5-10% regularly.  (Until I gamble it all on something and I lose, and then I start demanding 30% because otherwise I am ruined).


The blockchain MUST resolve the bet and enforce the result for this to work.
This means that it must receive inputs from the outside world, from the most trusted source - delegates.

Delegates have a reputation that they must maintain.  If they collude to change the result of the bet and cause it to be resolved in their own favor, they will lose all reputation, so there is a cost that they suffer to do mischief.


https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
I dont believe this would work.  The loser could simply hold the winner's money hostage forever until they give in and settle, possibly having to give much more than 5%. 

This system alone doesnt do anything to increase trust.  You still have to trust the other bettor (or possibly tons of random anonymous bettors!), to sell back to you at 5% or whatever.   What we need to do is have the blockchain replace the position of a trusted centralized 3rd party who is resolving the bets.


The prediction market is going to need feeds from delegates in order to work.  For example, when 51 delegates publish a feed stating that the bet has been resolved in favor of one particular side, then the bet is over, and the blockchain releases all of the funds to the winner.


In this way, you have replaced the one centralized third party point of failure (who could run off with the money), with 101 reasonably decentralized sources who are elected based on trust, and who cannot run off with the money because the money is held by the blockchain. 

This is not an absolutely perfect solution, because it is still vulnerable to 51% attack, but other than that it solves all of the problems and is a big improvement over what exists today, where you must trust a 3rd party to both hold the funds and resolve the bet.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Bitcoinfan

  • Sr. Member
  • ****
  • Posts: 240
    • View Profile
Just by reading this thread it makes me never want to gamble on sports without a judge.  If I lost and then found out that I could either get 10% of my original bet back or screw over the guy who beat me... I might just screw him over because I'm pissed I lost and misery loves company.  I mean talk about a lot of risk in getting a payout... a lot more risk than trusting a judge to make the call.  Couldn't we have delegates providing feeds of certain events that end up dictating the winner and loser and dispersing the payout?

In any event, the trouble with prediction markets is not the judge, its the money.   

It would be trivial to allow the asset issuer to be the judge and to profit from all trades in their asset.  They would have financial incentive to be honest and reliable. 

You could even limit the role of the judge to confirming the market outcome.  Ie: the judge cannot "reverse the bet" only declare it closed.

Similarly, I have another fair question cause I may be missing something, or its my misunderstanding of how it works.  How will this produce any value to the network (eg. transaction fees) if people are just waiting on the sidelines for the next person to react.  From what I understand, since there is no time horizon or expiration date of the transaction, the two sides can wait out indefinitely.  There is no forced window of time to revolve the dispute. As a result, there will be very little transactions happening in the market because of the holdouts on both sides. This may even be a default for both sides because they can't get their money out. 
I'm of the opinion that delegates should have limited power.   

I think if you could allow asset issuers be the judge that would be valuable to the Bitshares network.  Would this be considered for 1.0 stabilized protocol Bytemaster?

Offline theoretical

Experience with the peg in the early days (before price feeds) suggests that settlement will need to be enforced.

I was under the impression that we're under feature freeze until 1.0, so most of our development effort should be going toward testing existing features and moving toward release.

So I would suggest shelving this idea until after 1.0 launches.
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline lil_jay890

  • Hero Member
  • *****
  • Posts: 1197
    • View Profile
Just by reading this thread it makes me never want to gamble on sports without a judge.  If I lost and then found out that I could either get 10% of my original bet back or screw over the guy who beat me... I might just screw him over because I'm pissed I lost and misery loves company.  I mean talk about a lot of risk in getting a payout... a lot more risk than trusting a judge to make the call.  Couldn't we have delegates providing feeds of certain events that end up dictating the winner and loser and dispersing the payout?

Offline Empirical1.2

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
It comes down to time value of money.  If the winner has 95 at stake and the loser 5 then the cost to the loser is much less by waiting.   You can change the ratio by shifting the 0 point to .5, in this case the 50/50 odds would be .75.   

As much as liars are irrational, so are those who seek justice.   Let the two of them fight it out for a fee while rational individuals settle.

I don't understand prediction markets well but it seems...

People who want to settle in a timely manner after the event whether they won or lost would be very negative EV to people willing to wait wherever the avg. level moves too. 

So the way I'm understanding it, it doesn't seem to be a model for a prediction market, but a model for a waiting game.

If you want to bet on the prediction market don't play but if you want to see how long you can hold out after the event in the dealing stage.

Right... it has "two" phases, the first phase is the prediction market, the second is a waiting game.   The market would be stuck with a wide spread and who ever caves first loses.   

You can buy into the waiting game and bet on which way the tug of war will go.   Are you an optimist and believe people will end up caving toward the truth or are you a pessimist and think honest people will end up caving toward a lie.   Because people always have an out, those who want to play the waiting game can provide liquidity to the prediction market winners. 

So if there are a ton of people willing to "wait it out" for a more-fair resolution then the dishonest people will cave.  It is 0 sum, profit to one is a loss to the other.   

Ok, I think I understand that part now.

My prediction is though that 'sense of justice' won't play a big role. I play a lot of poker and if I was the loser how I felt would be irrelevant. I would be holding a token the other player needs to cash out. We are now in an equal position, so fair value will become 0.5 though the average might settle a bit higher than there in favour of the direction of the actual outcome.

This TV show is quite telling.

https://m.youtube.com/watch?v=XXSuxYBt0cM
https://m.youtube.com/watch?v=8k8ETko16tQ

You'd think there would be sense of justice and fairness & that the weakest contestant should choose 'C' about 0.1 of the prize total and the strongest should choose 'A' about 0.7 especially as there's an additional time factor that the money runs down to nothing if they can't settle.

However the previous game becomes largely irrelevant  &  settling for 0.1 when everyone has equal power after the event is viewed as weak & a loss. Some people even feel more satisfied walking away with $0 than settling for a free $10 000.

I guess they do end up settling sometimes under pressure though. So maybe you will find a level the average settles at.

« Last Edit: February 04, 2015, 05:25:59 pm by Empirical1.2 »
If you want to take the island burn the boats

Offline bytemaster

It comes down to time value of money.  If the winner has 95 at stake and the loser 5 then the cost to the loser is much less by waiting.   You can change the ratio by shifting the 0 point to .5, in this case the 50/50 odds would be .75.   

As much as liars are irrational, so are those who seek justice.   Let the two of them fight it out for a fee while rational individuals settle.

I don't understand prediction markets well but it seems...

People who want to settle in a timely manner after the event whether they won or lost would be very negative EV to people willing to wait wherever the avg. level moves too. 

So the way I'm understanding it, it doesn't seem to be a model for a prediction market, but a model for a waiting game.

If you want to bet on the prediction market don't play but if you want to see how long you can hold out after the event in the dealing stage.

Right... it has "two" phases, the first phase is the prediction market, the second is a waiting game.   The market would be stuck with a wide spread and who ever caves first loses.   

You can buy into the waiting game and bet on which way the tug of war will go.   Are you an optimist and believe people will end up caving toward the truth or are you a pessimist and think honest people will end up caving toward a lie.   Because people always have an out, those who want to play the waiting game can provide liquidity to the prediction market winners. 

So if there are a ton of people willing to "wait it out" for a more-fair resolution then the dishonest people will cave.  It is 0 sum, profit to one is a loss to the other.   



For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Empirical1.2

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
It comes down to time value of money.  If the winner has 95 at stake and the loser 5 then the cost to the loser is much less by waiting.   You can change the ratio by shifting the 0 point to .5, in this case the 50/50 odds would be .75.   

As much as liars are irrational, so are those who seek justice.   Let the two of them fight it out for a fee while rational individuals settle.

I don't understand prediction markets well but it seems...

People who want to settle in a timely manner after the event whether they won or lost would be very negative EV to people willing to wait wherever the avg. level moves too. 

So the way I'm understanding it, it doesn't seem to be a model for a prediction market, but a model for a waiting game.

If you want to bet on the prediction market don't play, only if you want to see how long you can hold out/deal after the event.



« Last Edit: February 04, 2015, 03:51:51 pm by Empirical1.2 »
If you want to take the island burn the boats

Offline bytemaster

In any event, the trouble with prediction markets is not the judge, its the money.   

It would be trivial to allow the asset issuer to be the judge and to profit from all trades in their asset.  They would have financial incentive to be honest and reliable. 

You could even limit the role of the judge to confirming the market outcome.  Ie: the judge cannot "reverse the bet" only declare it closed. 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Bitcoinfan

  • Sr. Member
  • ****
  • Posts: 240
    • View Profile
It comes down to time value of money.  If the winner has 95 at stake and the loser 5 then the cost to the loser is much less by waiting.   You can change the ratio by shifting the 0 point to .5, in this case the 50/50 odds would be .75.   

As much as liars are irrational, so are those who seek justice.   Let the two of them fight it out for a fee while rational individuals settle.

You'll have to clarify your point.  So your saying your prediction markets should aggregate information based on individual's time preferences their money (i.e. what they want out of their investment) or actual information that corresponds to the event?

If your saying the first one, how useful would knowing how much a group of investments desire for their money be as a prediction market?