Bitcoin Forum
April 25, 2024, 12:57:28 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)
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1128


View Profile
May 28, 2011, 10:23:43 AM
 #21

I haven't really understood how this is supposed to be linked to measurable reality without some kind of program to measure the outcome, but on the topic of multiple block chains:

  • Bitcoin is not "immune to government crackdown". How much regulatory attention it gets will probably be related to how it gets used. As online gambling is illegal in some places (US, Japan) merging it into the core Bitcoin system increases, not decreases, the risk of problems.
  • Alternate chains can share work and interoperate with Bitcoin, yet still be an independent system.

Given that there's no real downside to having an independent chain and multiple upsides, that's the approach I'd take if I wanted to do this. It lets miners opt-in to taking part, which respects their right to decide how their computational resources are used. If bets end up involve running arbitrary programs (Java or otherwise) you'll definitely want a separate network that can share work.
1714006648
Hero Member
*
Offline Offline

Posts: 1714006648

View Profile Personal Message (Offline)

Ignore
1714006648
Reply with quote  #2

1714006648
Report to moderator
1714006648
Hero Member
*
Offline Offline

Posts: 1714006648

View Profile Personal Message (Offline)

Ignore
1714006648
Reply with quote  #2

1714006648
Report to moderator
1714006648
Hero Member
*
Offline Offline

Posts: 1714006648

View Profile Personal Message (Offline)

Ignore
1714006648
Reply with quote  #2

1714006648
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714006648
Hero Member
*
Offline Offline

Posts: 1714006648

View Profile Personal Message (Offline)

Ignore
1714006648
Reply with quote  #2

1714006648
Report to moderator
1714006648
Hero Member
*
Offline Offline

Posts: 1714006648

View Profile Personal Message (Offline)

Ignore
1714006648
Reply with quote  #2

1714006648
Report to moderator
ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
May 28, 2011, 02:22:03 PM
 #22

I haven't really understood how this is supposed to be linked to measurable reality without some kind of program to measure the outcome...

I want to start with the first point about measurable reality. The idea here is that there is no official arbiter of measurable reality in the world anyway. Who decides that Obama is president? There are all kinds of events that happen, votes are reported, opponents concede, chads hang, and supreme court justices put out rulings. In the end, people just kind of fall into a clear consensus that the Prez is the Prez, and sometimes they don't.

In the vast majority of bets with some kind of expected clear outcome, like a football game or a presidential election, the prediction market itself will tend to a binary 10.0 or 0.0 once the event has been decided, say the football game is over, or Obama's opponent concedes. If we expire the bet and pay out 9.95, that's pretty much as good as some arbitrary referee calling it 10.0.

And if we expire the bet in the middle, a month before the election, at 8.23, that's ok too because there's another bet going on at about the same price that you can jump to as your bet expires. They will be tracking each other due to arbitrage. This is how future contracts work. If you think about it, betting on the wheat harvest with future contracts is the same as betting on a football game. There is no objective second when the probability of the Redskins winning jumps to 10.0. It's pretty much 10 when they're winning 42-0 with 1 minute left, and it's not even quite 10.0 when the ref calls the game, because something can always be overturned. Who knows, maybe there's proof the Cowboys were throwing the game. In that sense, the market price of 9.95 is more accurate than the arbiter calling it 10.0 at the moment of the whistle.

So how does the miner call the contract? It just takes the last valid trade before the expiration time, and that's the close. The market should make sure that's a good proxy for reality. The only thing that makes this different from wheat contracts is that you don't actually own any wheat, and you don't own any "Redskins win". That's why we have to keep money in the escrow to pay up in the end.

  • Bitcoin is not "immune to government crackdown". How much regulatory attention it gets will probably be related to how it gets used. As online gambling is illegal in some places (US, Japan) merging it into the core Bitcoin system increases, not decreases, the risk of problems.
  • Alternate chains can share work and interoperate with Bitcoin, yet still be an independent system.

I didn't actually say that Bitcoin is immune to government crackdown, I said any system based on Bitcoin would be as immune to government crackdown as Bitcoin. It's a valid point that making Bitcoin even scarier than it is to governments puts even more pressure on it. However, if Bitcoin can't stand up to government interference, it loses most if its charm to me at least. And with or without betting, if it becomes a threat to government, they better hope they can take it down. Betting on football games is the least of their problems.

That's also a great point about alternate chains interoperating with Bitcoin. It would be very cool to think about how that would work. Looking at the code a bit, it's also clear that Bitcoin has a ton of functionality that's not being used yet. Who knows what it's capable of, even with the current design.

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

Activity: 1232
Merit: 1083


View Profile
June 23, 2011, 12:24:18 PM
 #23

I want to start with the first point about measurable reality. The idea here is that there is no official arbiter of measurable reality in the world anyway. Who decides that Obama is president? There are all kinds of events that happen, votes are reported, opponents concede, chads hang, and supreme court justices put out rulings. In the end, people just kind of fall into a clear consensus that the Prez is the Prez, and sometimes they don't.

There was a proposal for reducing the cost of "measuring reality".  I think it was probably by Robin Hanson.

The idea is that you can combine multiple bets into a single bet. 

Instead of betting on "the price of <something> on <date>", there is a bet (X) of "if <random event happens>, the price of <something> on <date>, otherwise you get your money back".  The random event would need to be checkable within the system (say the last few digits of the block hash). 

The expected price of the X contract is the same as the price of the main contract.

The main bet becomes "the average of the bid/ask price of X on <date>".  The 2nd bet can be verified within the system, since you are just checking the bid/ask price at a particular time.

If there were 1000 bets being checked, only one of them would be picked.  This makes the real world cost 1000 times lower. 

If low enough, miners could manually check those events.

An additional option would be to have a reputation system for checkers.  You could include a list of acceptable referee's addresses and how strongly you value their opinion.

The "referee bonus" is split between all referees who gives an opinion in proportion to how strongly their were rated by the parties in the transaction.

I think the 2 methods could be combined.  Ideally, it would be set up so that someone could take loads of low fee contracts and combine them into one large fee contract.

Quote
So how does the miner call the contract? It just takes the last valid trade before the expiration time, and that's the close. The market should make sure that's a good proxy for reality. The only thing that makes this different from wheat contracts is that you don't actually own any wheat, and you don't own any "Redskins win". That's why we have to keep money in the escrow to pay up in the end.

If 90% of the miners used that rule, the effect is that you aren't actually betting on the result, you are betting on the market price.  What if someone floods the market just before close?

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

Activity: 323
Merit: 250



View Profile WWW
June 23, 2011, 07:42:33 PM
 #24

If 90% of the miners used that rule, the effect is that you aren't actually betting on the result, you are betting on the market price.  What if someone floods the market just before close?

Yeah, that's the basic assumption here. That the best measure of the result we have is the current market price. That's the assumption before the result is "known", so why not continue the assumption once the event has happened? Since as I mentioned before there isn't necessarily a clear cutoff of when it happened anyway.

I don't think miners are ever going to be able to adjudicate even the simplest of outcomes, that's just not what they're about. That's why I'm interested in hearing criticisms of my scheme.

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

Activity: 1232
Merit: 1083


View Profile
June 23, 2011, 07:59:19 PM
 #25

Yeah, that's the basic assumption here. That the best measure of the result we have is the current market price. That's the assumption before the result is "known", so why not continue the assumption once the event has happened? Since as I mentioned before there isn't necessarily a clear cutoff of when it happened anyway.

It makes all the difference. 

You are betting "what will the market close at?".  It would make no difference what was in the actual text of the bet was.

The reason betting market tend to go to the actual value is that no matter what price they close at, the exchange pays out based on the actual result.

Quote
I don't think miners are ever going to be able to adjudicate even the simplest of outcomes, that's just not what they're about. That's why I'm interested in hearing criticisms of my scheme.

The other part of my suggestion was to have a referee.

Actually, apparently, the bitcoin system can have more complex rules than just pay money to X.  However, don't think it can have "split money between these people".

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

Activity: 323
Merit: 250



View Profile WWW
June 24, 2011, 05:20:47 PM
 #26

You are betting "what will the market close at?".  It would make no difference what was in the actual text of the bet was.

The reason betting market tend to go to the actual value is that no matter what price they close at, the exchange pays out based on the actual result.

I'm not sure about that. Why is the GBP/USD at 1.6? The exchange isn't going to pay out based on some actual result. Your payout at any given time is the market price. The only difference here is that there's an abrupt change in events. When a field goal is good at the end of a game the exchange rate will quickly change to very close to 1.0 for the winning team. But similar things can happen with stock and commodity options.

The other part of my suggestion was to have a referee.

Actually, apparently, the bitcoin system can have more complex rules than just pay money to X.  However, don't think it can have "split money between these people".

That's true. Bitcoin has scripting, but that scripting is very limited in the context we're talking about. For instance, the scripting can't affect the amount so you wouldn't be able to split payments. It certainly can't interface with a referee. But I don't think the p2p system should interface with stuff like that. It should stay deterministic based on the data it has itself. There's plenty of room to build systems around it that would make use of a referee.


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

Activity: 1232
Merit: 1083


View Profile
June 25, 2011, 02:19:48 AM
 #27

I'm not sure about that. Why is the GBP/USD at 1.6? The exchange isn't going to pay out based on some actual result. Your payout at any given time is the market price. The only difference here is that there's an abrupt change in events. When a field goal is good at the end of a game the exchange rate will quickly change to very close to 1.0 for the winning team. But similar things can happen with stock and commodity options.

That is trading actual stuff, so the price is determined by supply and demand.  If you buy $1, then someone has to give up $1.

Futures need something to actually link them to reality.

"This future pays whatever its closing price is" doesn't have any connection back to reality.

Imagine a future of the form "This future pays $1 if event X happens".

If there was a 30% chance of the event happening and the price of the future was 60c, then people would start selling and push the price down (since 30% chance of $1 is worth less than the 60c price).

However if the future said "This future should pay $1 if event X happens, but will actually just pay out the closing price", then there is nothing to force the future to the right price.  If the price is 60c, then why would it drop?

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
netrin
Sr. Member
****
Offline Offline

Activity: 322
Merit: 251


FirstBits: 168Bc


View Profile
June 25, 2011, 06:33:40 AM
 #28

I've been bashing my brains trying to come up with a simple and distributed prediction market. I have not yet succeeded. In the meantime, I came up with a betting model that is time sensitive, which I think could show predictive insight over time. You can't sell your position, but later wagers cost more depending on the weight of similar previous wagers.

I'd love to hear your comments. The general rules are here: http://pastehtml.com/view/ay9nwzagt.html
And an example (Mt. Gox opens trade) event: http://forum.bitcoin.org/index.php?topic=22298.0

Greenlandic tupilak. Hand carved, traditional cursed bone figures. Sorry, polar bear, walrus and human remains not available for export.
ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
June 25, 2011, 09:15:10 AM
 #29

However if the future said "This future should pay $1 if event X happens, but will actually just pay out the closing price", then there is nothing to force the future to the right price.  If the price is 60c, then why would it drop?

Right, that's the exact question this hinges on. My hypothesis is that some kind of game theory magic would make this work. Trading is about the market coordinating to reveal expectations. The only thing the market has to coordinate on in these contracts is the event that it's about. You have no idea what the closing price of the contract is going to be, but you do have a good idea about who's going to win the football game. Would you bet lots of money against a redskins win contract if they're up by 21 points with a minute left to go? Speculators would be the key. You'd think they'd step in and make the bet against anybody trying to manipulate the closing price. It's also possible to make the closing price chosen semi-random by not picking the exact closing price but randomly picking the closing price from on of the last few blocks or something.

I'm not saying this is a sure thing, but if it works it opens up amazing possibilities, especially for an automatic bitcoin-style p2p market that doesn't rely on any point of failure and can't be shut down.

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

Activity: 1232
Merit: 1083


View Profile
June 25, 2011, 10:17:11 AM
 #30

Right, that's the exact question this hinges on. My hypothesis is that some kind of game theory magic would make this work.

The problem is that the current price is also the best guess at what it will close at.  If I sell lots of the future, it pushes the price down and then that's the new best guess.

Quote
Trading is about the market coordinating to reveal expectations. The only thing the market has to coordinate on in these contracts is the event that it's about.

So I sell lots of futures at $0.30 and then announce

"I have BTC 1 million and I am going to keep the price at $0.01, feel free to try to override me"

It would come down to how strong the social effect is. 

A better plan might be to always pay out the full amounts.

"The intention is for this event to pay out $1 if event X happens by <date>, but is actually determined by the first period of 7 days stability after <date + 2 weeks>".  Stability means that for 7 days, it closes either all 7 above $0.50 or all 7 below $0.50.

Once the event has happened, there should be general knowledge of what the result is.  Bets which close "wrong" would be pretty rare and could be well advertised.

If normally those types of event end being corrected by traders, then that will force the market to the right value.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
pyrrhos
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 25, 2011, 10:58:23 AM
 #31

Very nice, this is why I still read this forum. The idea of letting the final outcome be decided in a self regulatory way by the last matched price is at least very intriguing, like all self-regulating schemes. In this case, however, it becomes almost philosophical: the sole and only thing that links a particular bet with the real world is its verbal description, the string that accompanies the bet-id. I wonder if that is enough to make this work. If it is, we would have a have a robust betting system and a proof of the power of words!
Considering the above loose connection with the real world, an issue with betcoin would be that the outcome of a bet could be determined more by the funds that one pours into it into one or the other direction rather than its description. As a thought experiment which i think would give some extra insight to if this would work or not, consider the following bet: "the outcome of this bet will be true". Or even: "this is an undefined bet". In such a case, I think, the bet outcome will lean towards where the most funds have been put. This is not what one wants when betting.
So in my opinion it is funds vs the power of words that will determine whether betcoin would work as proposed.

A, perhaps less elegant, alternative would be that the one that initiates a bet also gets to decide its outcome. Let the market decide which initiators (identified by their key) it trusts and which it doesn't.
ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
June 25, 2011, 11:42:46 AM
 #32

Very nice, this is why I still read this forum. The idea of letting the final outcome be decided in a self regulatory way by the last matched price is at least very intriguing, like all self-regulating schemes. In this case, however, it becomes almost philosophical: the sole and only thing that links a particular bet with the real world is its verbal description, the string that accompanies the bet-id. I wonder if that is enough to make this work. If it is, we would have a have a robust betting system and a proof of the power of words!
Considering the above loose connection with the real world, an issue with betcoin would be that the outcome of a bet could be determined more by the funds that one pours into it into one or the other direction rather than its description. As a thought experiment which i think would give some extra insight to if this would work or not, consider the following bet: "the outcome of this bet will be true". Or even: "this is an undefined bet". In such a case, I think, the bet outcome will lean towards where the most funds have been put. This is not what one wants when betting.
So in my opinion it is funds vs the power of words that will determine whether betcoin would work as proposed.

If you had described the bitcoin idea to me and I had understood it perfectly before it was tried, I think I'd be pretty skeptical about it working, at least to the degree it's currently working. I think the only way to know for sure if this thing has a chance is to try it, but I'm not as brave as Satoshi so I want to get some critical feedback first.

I would guess that bets with vague descriptions wouldn't get a lot of market action, because everybody would know that the system wouldn't work well for those bets. If the bet was described well, say Redskins beat or tie Cowboys in next week's game, and somebody poured tons of money into the Cowboy side at the 2 minute whistle and the Redskins up by 21 points, people would either assume that they knew something very weird about the eventual outcome, or that they stand to make a lot of money betting against them. This would draw speculators like sharks to blood. After this happened a couple of times, I think people would realize it's a bad idea to go against speculators. Governments find this out all the time. On the other hand, if the speculators get killed and the closing price doesn't reflect reality, people will stop using this. Working on this project is a bet on the former.

Another point I want to bring up is that there will likely be overlapping contracts for the same thing. So there will be arbitrage opportunities as well, and you'd have to game all of the different contracts. The contracts might not be identical, and could overlap partially with other contracts (there's a contract on whether the Redskin's starting quarterback is going to be fit for the game after an injury), so the interlocking pieces could strengthen the whole structure.

A, perhaps less elegant, alternative would be that the one that initiates a bet also gets to decide its outcome. Let the market decide which initiators (identified by their key) it trusts and which it doesn't.

Yep, I could see that happening. But if this is totally anonymous there's nothing stopping the initiator from putting in a ton of sidebets. They would trash their reputation, but for big bets, the easy money might be irresistible. Homo economicus would fix the bet if the expected return from his side betting was greater than his perceived value of his reputation. It's also possible that wouldn't be a big problem, because of the enormous value of a good reputation. The other thing that bother me a bit about this is you might see concentration of power in a few entities, whereas betcoin strives to avoid that. That might be an impossible task though.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
pyrrhos
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 25, 2011, 12:46:22 PM
 #33

A, perhaps less elegant, alternative would be that the one that initiates a bet also gets to decide its outcome. Let the market decide which initiators (identified by their key) it trusts and which it doesn't.

Yep, I could see that happening. But if this is totally anonymous there's nothing stopping the initiator from putting in a ton of sidebets. They would trash their reputation, but for big bets, the easy money might be irresistible. Homo economicus would fix the bet if the expected return from his side betting was greater than his perceived value of his reputation. It's also possible that wouldn't be a big problem, because of the enormous value of a good reputation. The other thing that bother me a bit about this is you might see concentration of power in a few entities, whereas betcoin strives to avoid that. That might be an impossible task though.

I agree, anonymity is not a goal necessarily nor is the goal to stop someone to concentrate power if (s)he deserves it. Betcoin would provide indestructibility, anonymity if desired, and the transaction ease of bitcoin.

Perhaps the right approach for betcoin would be to focus on an abstract concept called "conditional transaction" where a transaction takes place only when a certain condition is met at a certain time. The condition could be set by the initiator of the bet who chooses one of the predefined validation methods that the betcoin protocol would offer. It can be the "last price" or the "initiators decision" or anything that can be reliably and indisputably decided by any miner. The validation methods could even work as plug-ins that betcoin miners and clients choose to incorporate. If enough miners incorporate it then it becomes an official validation method.
ben-abuya (OP)
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250



View Profile WWW
June 25, 2011, 12:54:19 PM
 #34

Perhaps the right approach for betcoin would be to focus on an abstract concept called "conditional transaction" where a transaction takes place only when a certain condition is met at a certain time. The condition could be set by the initiator of the bet who chooses one of the predefined validation methods that the betcoin protocol would offer. It can be the "last price" or the "initiators decision" or anything that can be reliably and indisputably decided by any miner. The validation methods could even work as plug-ins that betcoin miners and clients choose to incorporate. If enough miners incorporate it then it becomes an official validation method.

Yeah, I think flexibility is a virtue here. This is exactly the idea of bitcoin's scripts. So you'd have an operator that pushes the initiator's value determination to the stack, and you'd have an operator that pushes the last price to the stack. The script logic itself is up to the sender of the transaction. Another cool operator would be a random number operation. That would allow trivial p2p lotteries and other games of chance. I was thinking you could base that on the nonce, because that would be hard to game for the miner.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
just_someguy
Full Member
***
Offline Offline

Activity: 125
Merit: 100


View Profile
June 25, 2011, 01:30:31 PM
 #35

Quote
Yeah, I think flexibility is a virtue here. This is exactly the idea of bitcoin's scripts. So you'd have an operator that pushes the initiator's value determination to the stack, and you'd have an operator that pushes the last price to the stack. The script logic itself is up to the sender of the transaction. Another cool operator would be a random number operation. That would allow trivial p2p lotteries and other games of chance. I was thinking you could base that on the nonce, because that would be hard to game for the miner.

Bitcoin proper will never allow you to natively reference outside data in a script. It took me a while to understand why but suffice to say there is a reason you can't even get a bocknumber or timestamp pushed on the stack.

However, Mike's "oracle" transaction script opens up a world of possibilities. http://en.bitcoin.it/wiki/Contracts
By chaining together many simple oracle's you can come up with any derivative transaction you like.
The details of what is being "bet" on are completely opaque to the miner.

To use the cowboys/redskins example you would just need an oracle that spit out signed event results. The trustability of the oracle could be verified in the bitcoin blockchain by each party wanting to participate but without involving the miners.
However, maybe you only want to bet if its raining during the game. We each trust a certain weather oracle and know its format so we can generate a transaction chaining the two conditions together but taking opposite sides of the bet. The possibilities are endless: Timestamps, lotteries, sports, private games, politics, stock market, etc.






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

Activity: 323
Merit: 250



View Profile WWW
June 25, 2011, 02:41:48 PM
 #36

Bitcoin proper will never allow you to natively reference outside data in a script. It took me a while to understand why but suffice to say there is a reason you can't even get a bocknumber or timestamp pushed on the stack.

I don't think it would be a good idea to put betcoin in bitcoin anyway. It would be a separate project like namecoin. I'm interested in the precise reasons putting stuff like block numbers, transaction amounts, and results of old blocks in the script is dangerous. Aren't these things as easy to validate as everything else?

However, Mike's "oracle" transaction script opens up a world of possibilities. http://en.bitcoin.it/wiki/Contracts
By chaining together many simple oracle's you can come up with any derivative transaction you like.
The details of what is being "bet" on are completely opaque to the miner.

To use the cowboys/redskins example you would just need an oracle that spit out signed event results. The trustability of the oracle could be verified in the bitcoin blockchain by each party wanting to participate but without involving the miners.
However, maybe you only want to bet if its raining during the game. We each trust a certain weather oracle and know its format so we can generate a transaction chaining the two conditions together but taking opposite sides of the bet. The possibilities are endless: Timestamps, lotteries, sports, private games, politics, stock market, etc.

Wow, he's added a lot of cool stuff since the last time I checked. This is another great option, and is kind of a generalization of the contract initiator calling the bet. I suppose if you use several independent oracles the outcome should be pretty good. Is there a way for oracles to get paid for their work here? Maybe they could include a public key in the script and only release the private key to you out-of-band if you pay up.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
just_someguy
Full Member
***
Offline Offline

Activity: 125
Merit: 100


View Profile
June 25, 2011, 03:01:01 PM
 #37

Quote
I'm interested in the precise reasons putting stuff like block numbers, transaction amounts, and results of old blocks in the script is dangerous. Aren't these things as easy to validate as everything else?
In the block number example lets say you could push block number onto the stack and you had a transaction script that relied on it being before a certain block.
The transaction is floated and accepted in to a block as valid.
Then a chain reorg occurs. All the transactions that aren't double spends or coinbase transactions will be mined in to the new chain. However, it is possible the completely valid transaction relying on block number now becomes invalid because when the script is evaluated the new block number is too high.
Compound this by having transactions in the chain that have built upon the old and completely valid transaction but are now invalid.
You get the same problem with pushing on timestamps, etc.

Quote
Wow, he's added a lot of cool stuff since the last time I checked. This is another great option, and is kind of a generalization of the contract initiator calling the bet. I suppose if you use several independent oracles the outcome should be pretty good. Is there a way for oracles to get paid for their work here? Maybe they could include a public key in the script and only release the private key to you out-of-band if you pay up.

Your oracle can be as complex as you want and there is nothing stopping them from charging for their services. The existing bitcoin miners are verifying the results as long as the parties involved accept the oracle's reality.
You could write a single oracle service that creates a contract based on a hundred different factors and the bitcoin miners could verify the result. All you would need is the oracle to rollup both sides of the action into a single derivative identifier. You get the transaction based on OracleSig(derivative, true) and I get the transaction OracleSig(derivative, false). The bitcoin script doesn't care whats behind the derivative id, just that its signed by the given private key. The blockchain doesn't even know there was an oracle involved, it just sees a script that evaluates to true.

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

Activity: 323
Merit: 250



View Profile WWW
June 25, 2011, 03:25:22 PM
 #38

In the block number example lets say you could push block number onto the stack and you had a transaction script that relied on it being before a certain block.
The transaction is floated and accepted in to a block as valid.
Then a chain reorg occurs. All the transactions that aren't double spends or coinbase transactions will be mined in to the new chain. However, it is possible the completely valid transaction relying on block number now becomes invalid because when the script is evaluated the new block number is too high.
Compound this by having transactions in the chain that have built upon the old and completely valid transaction but are now invalid.
You get the same problem with pushing on timestamps, etc.

Are there any other dangers other than chain re-org? Couldn't this be mitigated by waiting for a large number of confirmations? Namecoin uses that strategy.

http://lamassubtc.com/
Lamassu Bitcoin Ventures
just_someguy
Full Member
***
Offline Offline

Activity: 125
Merit: 100


View Profile
June 25, 2011, 03:32:57 PM
 #39

Here's on of the discussion on the subject:
http://forum.bitcoin.org/?topic=6900.0;all

With the oracle approach you don't really need to go through all the trouble. Start an oracle service that signs arbitrary with data with the current chain height.
If you and another party think its safe then just use that. That allows you to base transactions on chain height without risking everyone else.
The same can be done for a time based transaction. Using the oracle approach is much safer. If the oracle signs arbitrary data with the time then it doesn't matter whether the chain gets reorged or not. Your transaction will still be valid even if you don't/can't broadcast until after the time has passed.

qualia8
Full Member
***
Offline Offline

Activity: 237
Merit: 100


View Profile
June 25, 2011, 03:43:53 PM
 #40

I suggest you look at, for instance, the "Mike Huckabee to Announce" contract on Intrade.  Even though Huckabee said live on his show that he will not run, his contracts are not selling for .01.  Odd, especially since Intrade *will* settle these contracts at zero in December.

The question is simply where the big money is at.  If the big money is wrong, it's still right!
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!