How Randomness Works in Blockchain (VRF Explained)
Randomness is a crucial aspect of the success of blockchains. From the hash generated to the nodes awarded the block reward, random selection is required for blockchains to function.
But how is randomness decided and controlled in blockchain? Read on to find out.

What is Randomness?
Randomness is exactly what it sounds like—outcomes chosen repeatedly at random. Unfortunately, humans are inherently incapable of randomness, as we allow emotions and skill to direct our thoughts and actions.
However, computers are inherently better at randomness (with the exception of AI which learns from patterns, of course). That said, perfect randomness is a myth, and even computers can struggle to produce an infinite number of random outcomes.
Why Randomness is Necessary for Blockchains
Randomness is used for almost every successful blockchain, however different blockchains use randomness for different functions. Below is a list of the most common uses of randomness in blockchain:
· Combining numbers/letters to create a hash value
· Creating puzzles for POW (Proof-of-work) miners to solve
· Choosing which validators are chosen to receive the stake reward in POS (proof-of-stake) blockchains.
Of course, this isn’t a full list, but these are the main uses of randomness in blockchains.
Basically, randomness is critical for the security of blockchains. It is actually the base of cryptography. Without randomness, it’s possible that a blockchain could be hacked, valuable information stolen, and funds compromised.
Not only that, but blockchain is promoted as a great equalizer. Without randomness used to decide who benefits from each block creation, you would disrupt this fairness and blockchain would be no better than the fiat monetary system.
Where Do Random Numbers Come From?
Random numbers are harder to find than you may think, and generators have come a long way. In the beginning, random numbers were generated using specific computer algorithms, like the ellipsis curve; however, as you can imagine, these weren’t truly random. If you were lucky enough to know what number or what function was used, it was pretty easy to guess the “random” number generated.
Don’t worry, technology has come a long way from that type of randomness, though these generators are still around. While we don’t recommend using them, know they are called PRNGs or “pseudo-random number generator.” While you should never use them for blockchain, they can be helpful to scientists and mathematicians who need random numbers for a sample and don’t have to worry about security concerns.
Most blockchains use a TRNG, or True Random Number Generator. Unlike the PRNGs, these generators pull information randomly from real-world sources. For example, by reading electrical noise, lava lamps, charting radioactive decay, or from different sensors within the computer. Although this sounds strange, because you don’t know where the generator pulls its information from, it is not possible to crack. It also cannot be reproduced.
**We do want to note that while this randomness is sufficient for blockchain, it is not truly random, as it is taking numbers from patterns in nature, and there is a likelihood of certain numbers reappearing in certain situations. HOWEVER, don’t panic, as this is the closest to random as we get, and we promise those few certain situations where numbers repeat are small in the grand scheme of things.**
Before you get too excited, know that most blockchains can’t use TRNGs as they are not only costly, but require real-world inputs—something you can’t find on the blockchain.
So, how do blockchains maintain randomness? Keep reading.

How Blockchains Create Randomness?
Blockchains use something special to create randomness called VRF. VRF stands for verifiable random function, and it relies on dice rolls to create a secret key, which is then used to run encryption. Because the metaphorical die is rolled for each encryption instance, there is no way to break it.
Not only that, but it provides proof of the randomness, which is checked by a smart contract before proceeding.
Sounds great, right? And it is, but for everything great in this world, there is also a dark side. The dark side to VRF is that it takes a lot of processing power and energy to produce. This can lead to high energy consumption and high gas fees, something which can scare off those who are unfamiliar with the benefits of randomness.
As such, many blockchains have employed a commit-reveal scheme, where two hashes are generated by two separate parties, then combined to create a randomly generated secret hash. While this is a bit cheaper than the VRF, as you can imagine, matching two transactions takes time, and therefore it’s not instant. However, there are many high-level privacy blockchains, like Monero, which employ this method of randomness, often combining more than just two transactions.
There is a third type of randomness, however it can only be used in POA (proof-of-authority) and POT (proof-of-trust) blockchains, which we typically don’t like to spotlight.
So what does your favorite blockchain use? Find out below:
VRF:
· PolkaDot
· Algorand
· Cardano
· Solana
· Binance
*Please note there are rumors of a token with the trading symbol VRF; this has nothing to do with randomness and is a token that is likely a scam. Do not invest.
Commit-Reveal:
· Ethereum (using a native support network called Flow)
· TON
· Monero (but a version adjusted for maximum privacy)
We know you’re probably looking for Bitcoin, the most popular cryptocurrency, but Bitcoin uses an RNG built specifically for it, known as the kitchen sink generator. This generator pulls numbers from the core of Bitcoin, and developers worry about its future, especially since the core values it draws from are finite.
Overall, we hope you’ve learned a little something about randomness today. Randomness is not always as easy as it may sound to achieve, and blockchains rely on it for both fairness and security. Randomness is a concern in the cryptography industry, and we are curious about new developments yet to be discovered. But for right now, if you use blockchain, you are likely using a commit-reveal scheme or a VPF.
