Verifiable Random Function (VRF)

A verifiable random function takes in data, computes it, and produces a pseudorandom output with verifiable evidence of validity. A VRF requires a public/private key pair and a seed. A seed and public/private key pair are created. The VRF uses the private key and seed to generate a random number. VRF outputs a random number and evidence. Generating a proof verifies the function, while hiding the secret key makes the number uncertain.