Doppler Doppler 1038 34300 136 36811 70 95408 12999 57 35734
74914 40883 88 37690 792 419531
121479 468811 5006
Crosshair Crosshair

Bad Randomness Is Even Dicier than You Think

Ethereum has been used as a platform for a variety of applications of financial interest. Several of these have a need for randomness — e.g., to implement a lottery, a competitive game, or crypto-collectibles. Unfortunately, writing a random number generator on a public blockchain is hard: computation needs to be deterministic, so that it can be replayed in a decentralized way, and all data that can serve as sources of randomness are also available to an attacker. Several exploits of bad randomness have been discussed exhaustively in the past. Next, we discuss near-trivial exploits of bad randomness, as well as ways to obtain true randomness in Ethereum.

Read more