speezepearson / biatob

1 stars 0 forks source link

Support something prediction-market-shaped #23

Open speezepearson opened 3 years ago

speezepearson commented 3 years ago

Currently, there's only one way to bet on Biatob: one person makes a prediction and offers odds; other people can take those odds.

What there's demand for is something more like a prediction market. Maybe with an AMM.

dreeves commented 3 years ago

That would be absolutely amazing. Assuming this is worth doing, I would propose the design constraint that the common case of "alice makes a prediction / offers a bet and bob accepts and takes the other side" has no friction added to it in order to support the (beautiful, powerful) general case. But also don't make an ugly chimera. This is probably an extremely hard design problem that I would love to think harder about.

speezepearson commented 3 years ago

Thinking out loud about vision and use cases: my initial/current vision for Biatob was/is as a tool that enables people to attach wagers to the claims they make in their everyday online writings -- so that, instead of posting on Reddit "obviously X lol smh", a person could post "obviously X lol smh (bet: $200 at >80%)" and thereby credibly signal that they weren't just spouting off.

Can prediction market functionality fit into that vision? Or is there a prediction-market-compatible vision that I find similarly compelling?

Here's an attempt:

You, a user, can credibly signal your confidence by linking to proof that you have submitted an order to a prediction market. For example:

  • I believe X
  • I go to Biatob and create a prediction market for X, throw in a bid order (for 250 "IOU $1 if X" tokens, at $0.80 apiece)
  • I post on Reddit "obviously X lol smh (bet: $200 at >80%)"
  • You're more risk-averse, and throw in an ask that matches against only 125/250 of my bid
  • You reply on Reddit "nah pretty sure not X lol smh (bet: $100 at <20%)"
  • A bunch of other people can also come in and throw around their own bids/asks.

Yeah, I find that vision pretty compelling! But I notice I still have a sense of deep foreboding, around how to make something like this work on the honor system, maintaining simplicity while ensuring that nobody ends up owing money to anybody who, if the prediction had resolved differently, would have reneged on their debts.

speezepearson commented 3 years ago

A very simple solution would be something like...

Things I think are nice about this approach:

Things that give me pause:

speezepearson commented 3 years ago

Hmm. @dreeves, I would value hearing more about your use case, to make sure I'm not missing the mark! Suppose Biatob did offer a flow where you could create a prediction market (and maybe install an AMM), such that as people bet in the market, it would shift the odds offered to future bettors -- how would you use this? (Can you give a concrete example?)

dreeves commented 3 years ago

Brilliant writeup here and excellent question about how exactly a use case for this would play out. I also love that you're thinking about Rumplepay (fun fact: I've been involved with that in various ways).

Use Case

I weigh in on the Caplan-Bauman climate change debate with a prediction about whether the average temperature from 2015-2030 will exceed some threshold by making a prediction/offer on biatob saying I'm at least 90% sure it will happen. Someone takes the other side of the bet. The odds we bet at imply a market probability of 90%. Time passes, more temperature data is published, and I'm now 99% sure. I would like to put in more money and drag the market probability higher. My friend who thought the probability was less than 90% now agrees it's more than 90% but still thinks I'm overconfident and is willing to bet more at odds implying 95%. We keep doing this and the market probability gradually makes its way to 100% (because I'm right, of course). Other friends may join in.

One Universal Hub

Maybe, it being my original prediction, I can be the hub for all transactions when the market resolves? So the automated market maker lets everyone just risk various amounts of money to move the market probability around and that all cashes out at the end with amounts that each person owes me or that I owe them, on net.

As cool as debt graphs are, I think it's over-ambitious here. It's my prediction / market, each participant must have infinite trust with me. If Alice ends up owing Bob, we instead have Alice owe me and I owe Bob.

speezepearson commented 3 years ago

(fun fact: I've been involved with that in various ways)

!!!

Use Case

Yeah, I like this!

One Universal Hub

Oh, yeah, since everybody trusts the creator we can neatly funnel all the transactions through you. And... maybe this lets us use a normal order book, without the "orders only match against friends' orders" caveat!

...maybe. Concern: this puts the creator on the hook for "other people's" debts. If you create a prediction market, and your friend Alice slaps down a $1M order, and your friend Bob takes it, and Alice loses but decides she'd rather nuke your relationship than pay up... you're kinda left holding the bag, as Bob looks at you expectantly?

Some potential resolutions to this problem:

  1. This isn't a problem. Not with the system, at least -- it's definitely a problem for you, who are legitimately on the hook for $1M! You should've been more careful about who you trust, dude!
  2. Let users set credit limits: you don't "trust Alice" without caveats, you "trust Alice $1k much." Then Alice can't slap down a $1M order, and if she runs off and leaves you on the hook for $1k... you accepted that risk when you gave her that credit limit. (I think that credit limits are a good idea regardless, I've just been putting it off.)
  3. If we keep the "orders only match your friends' orders" constraint, then Alice and Bob must be friends -- in which case you can tell Bob that Alice reneged, redirecting his anger towards its proper target.
speezepearson commented 3 years ago

Oh, yeah, since everybody trusts the creator we can neatly funnel all the transactions through [the creator].

Upon reflection, not quite. Consider:

Under the "all transactions are funneled through the creator" model, either Bob/Charlie can't bet, or Alice is responsible for mediating the payment between these randos. The latter seems unacceptable; therefore, Bob/Charlie can't bet against each other, even though they trust each other. That's kinda sad!

speezepearson commented 3 years ago

Upon further reflection, if Biatob becomes popular enough that "betting against so many other people that it's a pain to settle up" is a problem, I'll be surprised (and delighted). I'll figure out ways to minimize per-transaction costs if and when it becomes relevant.

So, of my three concerns about the "order book where your orders only match your friends' orders" approach:

  • It's not danged simple.

...but it's simple enough, I think.

  • Who decides how the market resolves? The market-creator?

Yeah, the market-creator.

  • Per-transaction overhead.

I doubt this will be a problem in practice, and it's fixable later if I implement clever trust-graph stuff. (Also, I suspect that while implementing credit limits, I'm going to push users towards settling up in chunks, rather than on a prediction-by-prediction basis. So if I bet against you 20 times, and lose a little more than I win on net, we only need to have a single transaction, not 20 transactions, which ameliorates this problem basically for free.)


So, I think I'm gonna go with the "order book where your orders only match your friends' orders" approach.

speezepearson commented 3 years ago

A (tentative) sketch of how prediction markets will work:

Things notably absent from this plan:

A few literal sketches, to solidify this in my mind: