Bitcoin Forum

Other => Off-topic => Topic started by: TiagoTiago on April 11, 2011, 06:22:06 AM



Title: Can "true" randomness be obtained with each verified block?
Post by: TiagoTiago on April 11, 2011, 06:22:06 AM
Since a valid hash can't be predicted (if it could, instead of wasting time mining people would just fill in the predicted value and solve block after block relativelly instantly), would it be possible to use those hashes or some related data avaiable thrue the Bitcoin network as source for "true" randomness?


Title: Re: Can "true" randomness be obtained with each verified block?
Post by: benjamindees on April 11, 2011, 11:23:56 AM
There are publicly available sources of random data produced by quantum hardware generators.

One problem with using a public source of random data is that anyone with sufficient resources to attack your code would probably have already thought of this idea and would be able to check against it pretty trivially.  Using the Bitcoin network for key distribution is a recipe for disaster.


Title: Re: Can "true" randomness be obtained with each verified block?
Post by: TiagoTiago on April 11, 2011, 03:28:02 PM
Randomness is not usefull if it's public?


Are those publicly avaiable sources cabaple of producing random bits faster than the Bitcoin network?


Title: Re: Can "true" randomness be obtained with each verified block?
Post by: kseistrup on April 11, 2011, 07:12:57 PM
Are those publicly avaiable sources cabaple of producing random bits faster than the Bitcoin network?

Take a look at e.g.:

  • HotBits (https://www.fourmilab.ch/hotbits/) — genuine random numbers, generated by radioactive decay
  • random.org (https://www.random.org/) — true random number service
  • QRBG (http://random.irb.hr/) — quantum random bit generator service
  • Entropy key (http://www.entropykey.co.uk/) — USB powered RNG

Cheers,


Title: Re: Can "true" randomness be obtained with each verified block?
Post by: Hal on April 12, 2011, 12:08:19 AM
One thing you might want to do is use the hash to determine the result of a gambling game. You could bet with someone on whether the next hash will be even or odd. The problem is if your opponent is a miner, he could influence a certain percentage of the block hashes, gaining an advantage.


Title: Re: Can "true" randomness be obtained with each verified block?
Post by: LightRider on April 12, 2011, 01:36:19 AM
GRC offers a high quality pseudo-random character service.

https://www.grc.com/passwords.htm


Title: Re: Can "true" randomness be obtained with each verified block?
Post by: carp on April 12, 2011, 12:15:59 PM
Randomness is not usefull if it's public?


Are those publicly avaiable sources cabaple of producing random bits faster than the Bitcoin network?

Well... once its fixed, its no longer random. It is a definite number, and the same every time. It is only "random" to someone who is trying to guess what it is. Future hashes in the block are random, once they are published in the chain, they are fixed.

So I could see gambling or gaming scenarios where some random element depended on the next or some future block hash (or even the transaction hashes concatenated). Though, you would be limited in how fast you can use it, as some like to point out, block chains can rarely temporarily fork, leading to a potential change a few down the line, a possibility which goes down for any given block, with every block added.

Essentially, this is no different than illegal lottery games. My grandmother was telling me that when she was MUCH younger, she was a bookie (and still wont name names, even though they are all long since dead) and that is basically the game worked by people placing bets with her, then, the numbers were derived from numbers published in the newspaper.... so everyone could check and see if they won easily.

Thinking about Hal's comment, I don't think that is a real problem. He chooses nonces to make hashes. So yes, he can throw out any hash that he finds which is even or odd, but, it only matters if they are under the target. So a miner who was trying to cheat his bet would have to find a good block, giving him its tx fees and income, and then throw it all away, and keep searching.

That is for an even/odd bet though. Sure maybe with the right betting structure like that you can afford to mine and throw out half of the possible blocks, but... what if you implemented keno? I think putting together a betting scheme that would not be worth cheating in these circumstances could be done easily.



Title: Re: Can "true" randomness be obtained with each verified block?
Post by: TiagoTiago on April 13, 2011, 03:40:43 AM
A lottery based on the block hashes would be interesting; perhas since there are a huge number of possible results the prizes would be distributed according to how close to the result each number was (dividing the prize if more than one person bet on the same number) with a big prize for whoever gets the closest, and with the value of the prize getting logarithimly smaller (or some other curve) for each additional position till there is no more money to payout, and pehaps a biggger prize that acumulates when no one wins it, for who ever bets on the exact value.


Title: Re: Can "true" randomness be obtained with each verified block?
Post by: bitlotto on April 13, 2011, 03:50:25 AM
A lottery based on the block hashes would be interesting; perhas since there are a huge number of possible results the prizes would be distributed according to how close to the result each number was (dividing the prize if more than one person bet on the same number) with a big prize for whoever gets the closest, and with the value of the prize getting logarithimly smaller (or some other curve) for each additional position till there is no more money to payout, and pehaps a biggger prize that acumulates when no one wins it, for who ever bets on the exact value.

Starting June 1 BitLotto will use block hashes to make a new hash for the numbers in the draw. It's designed such that one person wins the whole pot for the month. So odds are pretty much 1/total jackpot.


Title: Re: Can "true" randomness be obtained with each verified block?
Post by: bitlotto on April 13, 2011, 03:54:23 AM
Oh and there is TAABL run by someone else.
http://taabl.datlatec.com/ (http://taabl.datlatec.com/)