BitShares Forum

Other => Graveyard => DAC PLAY => Topic started by: zhangweis on April 02, 2014, 11:33:21 pm

Title: Use bitcoin block hash as source of random number
Post by: zhangweis on April 02, 2014, 11:33:21 pm
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.
Title: Re: Use bitcoin block hash as source of random number
Post by: 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?
Title: Re: Use bitcoin block hash as source of random number
Post by: zhangweis on April 02, 2014, 11:43:58 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.
Title: Re: Use bitcoin block hash as source of random number
Post by: zhangweis on April 02, 2014, 11:53:18 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?

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.
Title: Re: Use bitcoin block hash as source of random number
Post by: bytemaster on April 03, 2014, 12:04:36 am
I have posted a provably fair, decentralized RNG system without need for POW in the FAQ thread.
Title: Re: Use bitcoin block hash as source of random number
Post by: HackFisher on April 03, 2014, 02:55:38 am
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?

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. :)
Title: Re: Use bitcoin block hash as source of random number
Post by: FreeTrade on April 05, 2014, 07:58:24 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.