Use bitcoin block hash as source of random number

Started by zhangweis, April 02, 2014, 11:33:21 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeTrade

Quote from: HackFisher on April 03, 2014, 02:55:38 AM

I think using bitcoin chain is enough for a start DAC, but I guess we could never achieve the goal of beyond bitcoin after lotto growing large. :)

It would be an improvement - but an evolutionary rather than a revolutionary one. Current cost to throw away a Bitcoin block is about $12K I think, so you'd need to have a big bet to make this a worthwhile attack.

Say a pool operator had a 10K bet on red . . . it might be worthwhile suppressing a block that came up black, waiting for a new block to arrive that was red, and still with the ability to release the suppressed block if another red block is found by someone else with a 50/50 chance to get it into the block chain.

It's a pretty fanciful scenario, with a very limited number of people able to pull it off - but I think removing even the possibility of this kind of attack lends credibility to a gaming DAC.
"People should be more sophisticated? How are you gonna get that done?" - Jerry Seinfeld reply to Bill Maher

HackFisher

Quote from: zhangweis on April 02, 2014, 11:53:18 PM
Quote from: toast on April 02, 2014, 11:35:41 PM
As soon as bitcoin miners learn about this then the problem just moves from LOTTO miners to bitcoin miners... So if you're unsatisfied with POW for RNG generation on the lotto network then why would you accept RNG generation from the bitcoin network?

Quote from: zhangweis on April 02, 2014, 11:33:21 PM
If we need some kind of POW for randomness, why not directly use bitcoin blockchain?

Sorry if it confuses you. I've modified the original sentence a bit. I mean only using bitcoin chain as source of RNG instead of setup our own POW.

I think using bitcoin chain is enough for a start DAC, but I guess we could never achieve the goal of beyond bitcoin after lotto growing large. :)
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

bytemaster

I have posted a provably fair, decentralized RNG system without need for POW in the FAQ thread.
For the latest updates checkout my blog: [url="http://bytemaster.bitshares.org"]http://bytemaster.bitshares.org[/url]
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

zhangweis

#4
Quote from: toast on April 02, 2014, 11:35:41 PM
As soon as bitcoin miners learn about this then the problem just moves from LOTTO miners to bitcoin miners... So if you're unsatisfied with POW for RNG generation on the lotto network then why would you accept RNG generation from the bitcoin network?

Quote from: zhangweis on April 02, 2014, 11:33:21 PM
If we need some kind of POW for randomness, why not directly use bitcoin blockchain?

Sorry if it confuses you. I've modified the original sentence a bit. I mean only using bitcoin chain as source of RNG instead of setup our own POW.
Weibo:[url="http://weibo.com/zhangweis"]http://weibo.com/zhangweis[/url]

zhangweis

Quote from: toast on April 02, 2014, 11:35:41 PM
As soon as bitcoin miners learn about this then the problem just moves from LOTTO miners to bitcoin miners... So if you're unsatisfied with POW for RNG generation on the lotto network then why would you accept RNG generation from the bitcoin network?

Actually I like the way to use POW for RNG. I propose to use bitcoin chain only because it has gained a very big computing power and resources which makes cheating mining quite difficult.
Weibo:[url="http://weibo.com/zhangweis"]http://weibo.com/zhangweis[/url]

toast

As soon as bitcoin miners learn about this then the problem just moves from LOTTO miners to bitcoin miners... So if you're unsatisfied with POW for RNG generation on the lotto network then why would you accept RNG generation from the bitcoin network?
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

zhangweis

#1
If we need some kind of POW for randomness, why not directly use bitcoin blockchain as source of RNG? The random number can be something like the future nth block's hash. As bitcoin mining involves randomness, it's more secure for a random number generation. The block's hash is difficult to find and it will be difficult for a miner to adjust the hash to his will (to win a lottery) even if he has say 51% power. If we carefully choose the way to use the hash(like hashing it to get the result number), it can be very difficult (if not impossible) to control the result of lottery.

Maybe we can even chain the blocks by using the hash as another block's index to make it more difficult but I'm not sure whether this will break the randomness.

The down side is that every node (or at least some nodes) needs to download 2 chains to verify the block. But considering the mining power on bitcoin, I think it's worth to directly use bitcoin chain. To improve this, some nodes may choose bypassing download of bitcoin blockchain by not verifying the random number generation or directly getting hash value from some online services like blockchain.info.
Weibo:[url="http://weibo.com/zhangweis"]http://weibo.com/zhangweis[/url]