That oracle issue is tricky. It certainly doesn't seem like manually doing it would scale very well.
Essentially instituting a fee for disagreeing, gets you into a very interesting area of experimental economics. There are lots of circumstances where people are willing to pay their own money to make someone else lose theirs. As an irrational sports fan myself, I can imagine being willing to pay the fee to make sure someone didn't win a big reward (in certain circumstances).
That said, the bond approach is generally considered to be the incentive compatible approach.
It certainly doesn't seem like manually doing it would scale very well.
Yes, but hopefully, I'll be able to find a better solution if this becomes a problem. A easy solution would be to limit market creation. So not many decisions required.
There are lots of circumstances where people are willing to pay their own money to make someone else lose theirs.
Yes, I can see that. But in this case here, only the loser would pay the fee. So you can't pay money to make someone else pay money afaict in this bond model 🤔
reply
Oops. Pardon my morning brain.
The bond is basically just the fee for making you look up the outcome. That's a great solution, because you can keep increasing it as volume increases, if you need to.
reply
The bond is basically just the fee for making you look up the outcome.
Exactly :) But I hope these will be just edge cases. I hope that 99.9% of trades will simply agree in the outcome and move on.
Something interesting is if it would ever happen that there are different agreements within the same event. If markets are clearly determined, this should never happen right? Someone who is right would never vote that they lost on purpose, right?
Basically, I am trying to circumvent the need for an automated oracle by making the incentive as bad as possible to not be honest. Because I have no idea how to create an automated oracle, especially if I want to allow user-generated markets, haha
reply
Someone who is right would never vote that they lost on purpose, right?
I wouldn't think so, but mistakes happen. If the parties get a warning message that there is disagreement on the outcome and they will lose their bond if they are wrong, that gives them a chance to make sure they entered the right answer.
If both parties agree on the wrong outcome, it would be pretty weird, but I guess that's their right.
If I'm understanding, there will probably be multiple instances of the same event, right? Each bet is just between two people, so if 20 people want to bet on a particular event there would have to be a bunch separate bets. You could link the outcomes of all these events and use a majority agreement as the oracle, instead of a consensus.
reply
If I'm understanding, there will probably be multiple instances of the same event, right? Each bet is just between two people, so if 20 people want to bet on a particular event there would have to be a bunch separate bets. You could link the outcomes of all these events and use a majority agreement as the oracle, instead of a consensus.
Yes, you're understanding right.
I could use a majority agreement, but I already have a timing problem with the "P2P oracle": how long should the timeout be, when one party will simply win because their counterparty didn't show up?
If I use a majority agreement, that gets even more complicated for not enough benefit imo.
And that could definitely introduce risks of oracle abuse. Something I want to avoid as much as possible.
I also like to keep the P2P vision alive, even though it will be a centralized service :)
reply
That makes sense. I'm trying to think through how to save you any manual work.
What if it were hierarchical?
  1. If both parties agree, stop;
  2. If they disagree look to other instances of the event for majority agreement;
  3. If no majority agreement, manual check.
I guess the risk opens up between 1) and 2), if someone uses a bunch of different accounts to set the wrong majority view.
reply
That makes sense. I'm trying to think through how to save you any manual work.
That's very nice of you and a natural view. I know that I didn't start working on my prediction market for a long time since I believed it's not going to scale anyway.
I believe there aren't a lot of projects around this because of this problem or assumption.
But I don't want to scale "to the moon". I just want to build something that can be improved over time. Show what works and what doesn't work. Keep it simple. Premature optimization is the root of all evil :)
Also, this manual intervention doesn't scale across markets. But it does scale within a market. I just need to make the decision once per market and then every trade can get settled. And if I have the problem that there are too many markets: That's a good thing! This means there is indeed a lot of demand.
And with a lot more demand, a lot more ideas will come - at least that's my hope, haha
I guess the risk opens up between 1) and 2), if someone uses a bunch of different accounts to set the wrong majority view.
Yep
reply
That's all very interesting. I don't have many outlets to think through these kinds of problems, so it's fun to bounce my ideas off of you. I know you had already thought through all those issues.
I'm glad you're not making perfect the enemy of completed.