Open speezepearson opened 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.
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.
A very simple solution would be something like...
Things I think are nice about this approach:
Things that give me pause:
It's not danged simple. Although it's simple in a way, it's also, in a way, more complicated than the current model of "one person posts a bid-ask spread, and other people take one side or the other." Channeling everything through the one central user is easier to think about for me.
Who decides how the market resolves? The market-creator? Then everybody still has to trust the market-creator, and also they have to trust the people they bet against. That's a little more restrictive.
([random mathematical musings about the nature of the problem] Consider the "debt-graph," with an edge from each market-participant to each other user they owe money to. This graph might be disconnected, and the market's "resolution" could be different for each disjoint component. This seems weird and counterintuitive and hard to think about, but it opens the possibility of... I dunno, each component could have a separate "judge" who decides on the resolution, and if you don't trust any of the available judges then you can start your own component with you as judge, or something?)
Per-transaction overhead. Consider again the debt-graph: in the current version of Biatob, when the market resolves, each participant (except the predictor) has only a single edge. That minimizes per-transaction hassle! But in a prediction market, each participant might have many edges (one per other user whose order matched against any of theirs, even partially), each representing a transaction they need to track. This might be a lot of hassle! (Unless, maybe, Biatob does something clever, Rumplepay-style? ...heck, maybe it could even literally use Rumplepay somehow.)
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?)
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).
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.
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.
(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:
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!
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.
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:
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.