Bitcoin Forum
April 26, 2024, 11:01:47 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3  All
  Print  
Author Topic: [RFC] Betcoin  (Read 9891 times)
ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
May 26, 2011, 03:34:13 PM
 #1

Betcoin

Betting, or prediction markets could be a central building block in the bitcoin economy. These markets can essentially assume the major functions of currency exchanges, stock markets, and insurance policies and provide invaluable prediction information. In fact, it’s hard to overestimate the power of unregulated prediction markets. If this proposal pans out, they could be implemented entirely within the bitcoin framework, and thus will inherit all of bitcoin’s distributed goodness.

The central insight here is that these prediction markets do not require a centralized referee at all, and therefore can be settled automatically by miners. The outline below borrows a lot of ideas from Intrade. It applies to a binary event outcome, so it’s not directly applicable to currency exchanges and the like, but if the basic idea is valid, it could probably be extended to more open ended bets pretty easily, as long as the value at risk can be bounded.

How it could work:

1. Someone creates a bet on a distributed betting board. The bet is made up of a unique bet id, a human-language description of the bet, a description of which circumstances will lead to a true or false outcome, and an expiration date. The expiration date can occur before the outcome happens. The bet is authenticated and entered into the block chain by a miner.

2. Once the bet is created, trade commences. A party can put in either a bid or an offer on a distributed board. Parties use the board to connect to counter-parties and transact a trade. Short selling is an integral part of the system, but is fully covered by an escrow payment.

3. If Alice and Bob agree on a trade of x shares at price y btc, they submit a secure trade agreement to the betcoin network. The price of a share can range between 0 and 10 (representing the probability that the event will occur as described). A miner authenticates the trade and adds it to the block chain. This includes a bitcoin transfer from each party to a special escrow account, which will cover any possible losses. This amount is between 0 and 10 btc per bet share. If either party does not have enough bitcoins to cover the escrow, the trade is invalid and does not enter the block chain.

4. Trade continues as usual until the expiration date. At this point, the bet is closed. The miner closes out all bets as follows: A closing price is determined by checking the last traded price in the block chain. Trades entered after the expiration date are invalid and do not enter the block chain. Bitcoins are transferred to all parties from the escrow account, awarding them the closing price of the bet, multiplied by the number of shares they’ve purchased. Parties also recieve their residual escrow funds back, minus the closing price multiplied by the number of shares they’ve sold.

5. If the event outcome has been determined in the real world, the bet price should reflect the outcome very closely and should be near 0.0 or 10.0. The bet can therefore be considered successfully closed.

6. If the event outcome has not been determined, the bet price should be very close to the concensus probability that it will happen. Trade can continue on a parallel bet that is either identical, or very similar to the original bet, and has an expiration date in the future. Speculation will ease the transition between bet series.

I haven’t seen this idea described this way before, so i’d love to get feedback on any glaring flaws I haven’t thought of. Assuming it holds water, I’m very interested about how much of it can be implemented in the current bitcoin design itself. Obviously this is a first, naive sketch and there’s plenty of room for improvement.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
1714129307
Hero Member
*
Offline Offline

Posts: 1714129307

View Profile Personal Message (Offline)

Ignore
1714129307
Reply with quote  #2

1714129307
Report to moderator
1714129307
Hero Member
*
Offline Offline

Posts: 1714129307

View Profile Personal Message (Offline)

Ignore
1714129307
Reply with quote  #2

1714129307
Report to moderator
1714129307
Hero Member
*
Offline Offline

Posts: 1714129307

View Profile Personal Message (Offline)

Ignore
1714129307
Reply with quote  #2

1714129307
Report to moderator
The Bitcoin software, network, and concept is called "Bitcoin" with a capitalized "B". Bitcoin currency units are called "bitcoins" with a lowercase "b" -- this is often abbreviated BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714129307
Hero Member
*
Offline Offline

Posts: 1714129307

View Profile Personal Message (Offline)

Ignore
1714129307
Reply with quote  #2

1714129307
Report to moderator
1714129307
Hero Member
*
Offline Offline

Posts: 1714129307

View Profile Personal Message (Offline)

Ignore
1714129307
Reply with quote  #2

1714129307
Report to moderator
Cusipzzz
Sr. Member
****
Offline Offline

Activity: 334
Merit: 250



View Profile
May 26, 2011, 03:38:29 PM
 #2

Versions of this are already being built - I'm finishing one up myself. Basically Betfair (sports) / Intrade (current events) with fixed contract size and btc accounting.
ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
May 26, 2011, 03:51:22 PM
 #3

Versions of this are already being built - I'm finishing one up myself. Basically Betfair (sports) / Intrade (current events) with fixed contract size and btc accounting.

From what I understand, Intrade and Betfair determine the outcome of the event themselves and then settle the amounts. Does your version require an outside observer to determine the event outcome?

http://lamassubtc.com/
Lamassu Bitcoin Ventures
Cusipzzz
Sr. Member
****
Offline Offline

Activity: 334
Merit: 250



View Profile
May 26, 2011, 03:56:53 PM
 #4

Yes, my version requires me to verify and mark the outcome of an event.

However, these outcomes are very public and easily verified if any mistakes are made.

I understand you want to add your 'bets' to the blockchain and have a version of auto-settlement - but frankly I'd prefer less blockchain spam / escrow accounting and have it be fully post-up to remove the counterparty risk.

Of course the site would need to be trusted, a la mtgox. I already run a site that has been handling transactions for hundreds of trusting users since January, so that should help.

But of course there will be competition and if another solution works better, then so be it.
ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
May 26, 2011, 04:20:52 PM
 #5

To me, the most important part of this kind of betting is that it would be as immune to government crackdown as bitcoin. As soon as there's a centralized referee, it becomes a lot easier to go after that entity. And the more the entity hides its identity, the harder the trust issues become.

So the question I was posing is whether it's possible to have a betting market that doesn't require any more centralization than bitcoin itself, and whether my analysis has big problems that I'm not identifying.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
Cusipzzz
Sr. Member
****
Offline Offline

Activity: 334
Merit: 250



View Profile
May 26, 2011, 04:30:10 PM
 #6

I understand what you are saying - we'll see. It is possible, the blockchain can store arbitrary data. There would need to be an upgrade to the client to support the new rules / miner aspect.

Perhaps this would be better as a separate blockchain supported by those who intend to use it? I really don't like the idea of additional blockchain spam in the main chain. It's growing fast enough already.
ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
May 26, 2011, 04:39:11 PM
 #7

Yeah, I'm really not at the stage where I'm suggesting adding anything to bitcoin yet. I'm just trying to feel out the concept and see what the weaknesses are. It wouldn't bother me too much to have a separate block chain for this, maybe with modifications, à la namecoin.

I do think the idea that you might not need a referee for bets is somewhat novel, so I'd love to see some discussion on that.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
May 26, 2011, 11:15:36 PM
 #8

I've given this idea a LOT of thought (the thread I started on the topic is in my signature). Thanks to ben-abuya for pointing me to this thread.

I absolutely agree that this sort of thing is going to be the backbone of bitcoin value in the future. A couple thoughts:

1) As you suggest, you will always want to have a human-readable description of the bet, but some bets could be machine-readable. For instance, a URL could be provided along with a regular expression that scrapes a webpage for a specific value (like the current price of the S&P 500 for instance). Miners (or some other 3rd-party intermediary) could be set up to settle the bet without any human intervention.

2) Check out the capability of multi-party contracts in bitcoin. This allows a mediator to settle disputes without the option of stealing the money in play. The mediator is only needed if the betters have a dispute. There's a thread on it somewheres . . .

3) If no central mediator is needed (or if there are lots of trusted mediators available) then all you need is a censorship-free place to post your bets of questionable legality (or unquestionable illegality). Certainly Freenet or TOR could be used, but they are both a pain (IMHO). I prefer that data about bets be stored in the block-chain somehow.


ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
May 27, 2011, 01:35:20 PM
 #9

Hi dacoinminster, thanks for weighing in. Some notes, below:

1) Bets can be machine readable, but this is a problematic single point of failure, especially if a miner is closing out a huge bet. The website in question could easily be down, or it could be hacked, possibly in anticipation of the bet closing. Still, that's a cool idea.

2) Yep, I read up on that thread, but it requires trusted mediators.

3) I'd like to focus on this. The major idea I wanted to test here is that for prediction markets, mediators or referees are never needed. The problem with (1) and (2) is they introduce weaknesses that Bitcoin doesn't have, and it's precisely Bitcoin's resistance to those weaknesses that make it so great. What I'd like to see is a prediction market that is as strong as Bitcoin itself, thereby expanding the Bitcoin economy from just currency and payment to pretty much of all of finance.

4) As an example of how powerful this is, if we can do a prediction market for BTC/USD with just a next generation bitcoin client, it will be as hard to shut down that market as it is to shut down bitcoin itself. Of course if you're betting on USD going up in value, you won't gain possession of any actual dollars. But that's ok, because determining the exchange rate is the hard part, the part that requires mass coordination of the market. Once we've done that, I can just meet up with some guys at a hackerspace and swap USD cash for bitbills or bitcoins. Or I could do a small bank transfer with someone on #bitcoin-otc. The exchange rate will already be set by the prediction market, and both sides can use it to hedge the exchange if they want to. It will never really be possible to shut down this kind of micro exchange between individuals, there's nobody important to go after, and no great risk if you're caught. The safest, most robust interface between meatspace and the Bitcoin economy is masses of individual people, doing small deals across the boundaries. The heavy lifting gets done either entirely in the Bitcoin economy (btc transfers, prediction markets) or entirely in meatspace (car manufacturing).

5) If this does take off, Government will be so severely crippled by the loss of finance, and finance itself will be so utterly transformed, that the meatspace side will start changing fast, too.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
May 27, 2011, 02:43:58 PM
 #10

Hi dacoinminster, thanks for weighing in. Some notes, below:

1) Bets can be machine readable, but this is a problematic single point of failure, especially if a miner is closing out a huge bet. The website in question could easily be down, or it could be hacked, possibly in anticipation of the bet closing. Still, that's a cool idea.

2) Yep, I read up on that thread, but it requires trusted mediators.

3) I'd like to focus on this. The major idea I wanted to test here is that for prediction markets, mediators or referees are never needed. The problem with (1) and (2) is they introduce weaknesses that Bitcoin doesn't have, and it's precisely Bitcoin's resistance to those weaknesses that make it so great. What I'd like to see is a prediction market that is as strong as Bitcoin itself, thereby expanding the Bitcoin economy from just currency and payment to pretty much of all of finance.

4) As an example of how powerful this is, if we can do a prediction market for BTC/USD with just a next generation bitcoin client, it will be as hard to shut down that market as it is to shut down bitcoin itself. Of course if you're betting on USD going up in value, you won't gain possession of any actual dollars. But that's ok, because determining the exchange rate is the hard part, the part that requires mass coordination of the market. Once we've done that, I can just meet up with some guys at a hackerspace and swap USD cash for bitbills or bitcoins. Or I could do a small bank transfer with someone on #bitcoin-otc. The exchange rate will already be set by the prediction market, and both sides can use it to hedge the exchange if they want to. It will never really be possible to shut down this kind of micro exchange between individuals, there's nobody important to go after, and no great risk if you're caught. The safest, most robust interface between meatspace and the Bitcoin economy is masses of individual people, doing small deals across the boundaries. The heavy lifting gets done either entirely in the Bitcoin economy (btc transfers, prediction markets) or entirely in meatspace (car manufacturing).

5) If this does take off, Government will be so severely crippled by the loss of finance, and finance itself will be so utterly transformed, that the meatspace side will start changing fast, too.

I am so delighted to meet somebody else who is thinking about bitcoin in exactly the same way I do!

Regarding #2, the mediators don't need to be used at all unless there is actually a problem with the bet. I.E. You and I can settle a bet without the mediator signing the transaction at all - it is only in the (presumably rare) case of a dispute that the mediator gets involved. They have no way to steal the money, so you only need to trust them to not be in collusion with one of the betters, which is a much lower bar of trust to clear.

Regarding #4, you are absolutely right. The neat thing is that any bitcoin prediction market that is also traded in real-life (like stocks, bonds, commodities, etc) will automatically stay in sync with the legitimate exchanges due to arbitrage.

Personally, I envision a future bitcoin client (or plug-in) that is a full-featured stock-trading platform which can be used to speculate on any real-life security. The interface would match existing stock trading interfaces as closely as possible (to attract real stock traders to use it), but it would be completely distributed and unstoppable like bitcoin.

ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
May 27, 2011, 06:20:15 PM
 #11

I am so delighted to meet somebody else who is thinking about bitcoin in exactly the same way I do!

Thanks for the kind words Smiley

It's true that mediators would only be needed if a problem arises, and I'm sure this would be a workable system, but these mediators could become big targets. The more they're trusted by everyone, the more they become a big bull's eye for the government, because they're both widely known and relatively important elements in the system. Of course they will keep their real identity hidden, but as I mentioned before, all you need is one tiny thread to connect their real identity to the cloaked identity. That's why distributing these crucial roles among all the players is so important. Also, the outcome isn't always clear. You'd think it would be pretty obvious to everyone who won the US presidential election the day after the polls close. But what would happen on a bet on Bush/Kerry?

The point about the arbitrage is really important. In an unregulated market, I see arbitrage artists and speculators fulfilling a crucial role in bridging all the different prediction markets together into a coherent picture of the world that reflects meatspace stuff as well. In fact, this stuff would be a lot harder to design without speculators.

Yeah, I think there will be lots of cool bitcoin clients in the future. Bitcoin is only a protocol after all. But I see prediction markets as a generalization of stock markets, currency exchanges, sports betting, futures markets, and possibly even insurance policies and bounty schemes. So all you really need is well designed prediction market support in the core bitcoin protocol. The market will then come up with the actual prediction contracts.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
May 27, 2011, 06:31:02 PM
 #12

Yeah, I think there will be lots of cool bitcoin clients in the future. Bitcoin is only a protocol after all. But I see prediction markets as a generalization of stock markets, currency exchanges, sports betting, futures markets, and possibly even insurance policies and bounty schemes. So all you really need is well designed prediction market support in the core bitcoin protocol. The market will then come up with the actual prediction contracts.

Finally somebody who truly gets it. I was starting to feel like a lone prophet wearing a sandwich sign on a street corner.

Now we just have to find somebody to do it. Curse my reliance on a day-job!

matsh
Member
**
Offline Offline

Activity: 93
Merit: 11


View Profile
May 27, 2011, 08:32:29 PM
 #13

I find this really exciting too!

What if the outcome of a bet could be described as the outcome of a program, and then whomever wants to bet money either way just have to scrutinize the program and decide if they understand what it does or not? For example, Java is a safe language in the respect that you can specify a safe sandbox within it can execute, and all miners would compile the Java code whenever necessary and execute it. Then, instead of as a proof of an expensive work done, there would be a kind of voting of the outcome? Or stick with the current scheme, letting the winner settle the bet?

But bets can be so huge, such as when they are for how currencies swings (billions of USD, I'd gather), letting a single winner get a % out of the transaction wouldn't be reasonable, rather wait for several winners and then let them share the bounty?

I'd love to create a prototype for this. Alas, my C++ days are waaay behind me, so I'd have to pick up a Java or Scala port of a miner.
Cusipzzz
Sr. Member
****
Offline Offline

Activity: 334
Merit: 250



View Profile
May 27, 2011, 08:41:46 PM
 #14

I think it's a great idea for an alternate chain. Like I said, it will be a lot of overhead, aka 'spam' in the blockchain. A protocol designed for exactly this type of system would be very cool, call it PredictionCoin or something.
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
May 27, 2011, 09:38:32 PM
 #15

Miners deciding bets make me nervous because of the possibility of a rogue miner sabotaging a billion-dollar bet.

Alternate block-chains make me nervous, because they aren't backed by the bitcoin network's hashing power.

I personally believe that the whole thing can be accomplished with little-to-no change to the existing protocol.

Consider:

1) The existing block chain is getting onerous to download anyway. I believe there are already plans in place to download "just the headers" (whatever that means) to speed up the experience of a new client joining. Presumably bet information would not be included in the headers - just who owns what money.

2) I believe that bet data and other "meta data" can be included in the block chain without adding too much spam. There are a couple of ways this can be done:
      a) By embedding data into the bet prices themselves (I'm experimenting with that concept here: http://forum.bitcoin.org/index.php?topic=10008.0 )
      b) By encoding meta data and stashing it in secret spots around the internet. This data would only be findable and usable if you knew to look for it because you found a pointer to it in the bitcoin block chain. Think of it as a hash table where each address is a key to find a secret spot on the internet where the data can be retrieved. I have a proof-of-concept running on my PC right now that does this.
      c) By literally encoding all the meta data into the block-chain, but have miners charge per byte for the distributed storage so that people aren't wasteful with it.

matsh
Member
**
Offline Offline

Activity: 93
Merit: 11


View Profile
May 27, 2011, 10:10:15 PM
 #16

I definitely see the benefit of riding on top of the powerful Bitcoin mining machinery that now exists, and I think that is where we are going in the future. People will build DNS and prediction markets into the block chain in an accepted way, since miners would possibly benefit from this. And everyone wins if all miners together build up a very resistant machinery that can't be stopped.

However, we can't pollute the blocks, and perhaps this can be done by just pointing at a reference in Freenet!? If you really want to stop a prediction bet that isn't going where you want, then you'd have to kill Freenet, which is a very tough nut to crack. Also, after a bet is settled, it could be deleted from the chain in some controlled manner.

So, in Freenet someone would post a blob of Java code that anyone could inspect. If they agree of how that Java code works (fetching a stock price here, a temperature there, whatever, from the net and then multiplying it together and divide by the number of hits by Lady Gaga, then fine. The code could under the rules of the bet be compiled and executed.

Yes, I see the risk of letting one single miner decide the outcome of a bet, so perhaps some bets could be setup so that it requires 1000 winners that vote on the outcome of the programs they have executed, then divide the booty described in the bet?
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
May 27, 2011, 10:26:50 PM
 #17

Yes, I see the risk of letting one single miner decide the outcome of a bet, so perhaps some bets could be setup so that it requires 1000 winners that vote on the outcome of the programs they have executed, then divide the booty described in the bet?

It's not clear to me how this would work. Can you explain more?

Here's an idea:

Perhaps a special type of miner could be run concurrently with the rest of the network. When this "bet miner" signs a block, it would also run the last N bet engines and include the results in the block that it signs. Once a bet has N signatures from these special miners, it is eligible to pay out to the party/parties that got the majority of votes. Perhaps a special bet transaction fee could be included that is paid only to these "bet miners" and not to normal miners, in order to encourage adoption of the new mining code.

matsh
Member
**
Offline Offline

Activity: 93
Merit: 11


View Profile
May 27, 2011, 10:42:23 PM
 #18

Yes, I see the risk of letting one single miner decide the outcome of a bet, so perhaps some bets could be setup so that it requires 1000 winners that vote on the outcome of the programs they have executed, then divide the booty described in the bet?

It's not clear to me how this would work. Can you explain more?

Oh, I was just speculating. I'm sure you know the machinery better than me.

Here's an idea:

Perhaps a special type of miner could be run concurrently with the rest of the network. When this "bet miner" signs a block, it would also run the last N bet engines and include the results in the block that it signs. Once a bet has N signatures from these special miners, it is eligible to pay out to the party/parties that got the majority of votes.

Yes, that makes sense. The minority would probably be malformed miners, or miners that tries to highjack a bet. Why reward them?

Perhaps a special bet transaction fee could be included that is paid only to these "bet miners" and not to normal miners, in order to encourage adoption of the new mining code.

Yes, that might be an interesting setup. Also, if the miners could see/evaluate the bounty offered by the bet, then they could decide if it was worth the effort, which would make miners flock around the most valuable bets, which makes sense to everyone.

Darn, I must work on this!
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
May 27, 2011, 10:52:36 PM
 #19

Darn, I must work on this!

There are early bitcoin adopters who are now worth millions of dollars from their early investment. I wouldn't be surprised if one or more of them pushes this concept, sponsors it, and/or pays people to work on it, since it would probably make them from millionaires into billionaires if it was successful.

ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
May 28, 2011, 09:58:08 AM
 #20

I think it's a great idea for an alternate chain. Like I said, it will be a lot of overhead, aka 'spam' in the blockchain. A protocol designed for exactly this type of system would be very cool, call it PredictionCoin or something.

I haven't really thought that much about whether this kind of thing should evolve into the main chain or fork a new one. There seem to be advantages to both. But I don't think there will be a lot of overhead or spam. What I described are just transactions, like any other transaction in Bitcoin. The text of the bet itself doesn't have to be in the blockchain, just the bet's unique id, and a signature to ensure the text can't be changed later. Once it's in the block chain, everybody can be sure they're betting on the same thing by just referencing the bet id.

The bet wagers themselves are also just regular transaction type entries. Making a 10 btc wager is no different than transfering 10 btc to someone. It's no more or less spam.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
Pages: [1] 2 3  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!