🤧Problems with randomness

In traditional centralized applications, services where many people are present don't provide enough clarity and fairness. The centralized provider can definitely lie about randomness, cheat, and adjust results based on his bias, so we have come to a conclusion that we need a workable, unbiased, decentralized random number generator.

Environments like blockchains are decentralized but completely deterministic and isolated, thus making randomness fairly difficult to achieve. Some solutions were carried out for this problem. The common naive decision would normally be to use pseudorandom functions combined with changing properties on the blockchain to generate somewhat random numbers. This is often not a good idea because pseudorandom numbers often "look random" but are predictable or/and easily manipulated by block producers through censorship or block data modifications. So pseudorandom functions are definitely not the way to go, another solution is to use oracles. However, there are caveats in using oracles, with the main one being the lack of decentralization. Many existing oracles are either centralized or controlled by a limited group of node operators, which leads to centralization.

Last updated