How to Generate Random Numbers on Ethereum Using VRF

How Chainlink Solved Ethereum’s “Random Problem”

Alex Roan
Coinmonks
Published in
7 min readMay 18, 2020

--

Photo by Black ice from Pexels

Random numbers and Blockchains have always been in disagreement. Until now, a verifiably random function has never existed on the Blockchain.

The problem stems from the fact that when transactions are mined, they need to be confirmed by more than one node on the network. This means that every node must come to the same conclusion. So, if a function was truly random, each node would come to a different conclusion, resulting in an unconfirmed transaction.

There have been workarounds that result in a pseudo-random generation, but until now all known methods have been either not truly random, or vulnerable to manipulation.

Introducing Chainlink

“The Chainlink network provides reliable tamper-proof inputs and outputs for complex smart contracts on any blockchain.” — chain.link

Blockchains and smart contracts are great at performing computation according to a set of immutable rules. The problem is that the rules can only be applied to data inside the system. Getting verifiable data from outside the system is difficult.

Chainlink’s mission is to solve this by providing decentralised oracles, enabling the Blockchain…

--

--

Alex Roan
Coinmonks

CoFounder at Cyfrin. Previously: Chainlink Labs.