Chainlink’s approach to the problem uses old cryptographic primitives and takes advantage of decentralized incentivization. A smart contract that wants to make use of Chailink’s VRF, passes along a seed to the node, which then uses its secret key to generate a random number.