Verifiable Random Function (VRF)
A cryptographic function that produces a random output anyone can verify was generated correctly, commonly used to fairly select a block proposer or validator.
A Verifiable Random Function (VRF) produces a random-looking output, along with a proof that anyone can check to confirm the output was genuinely generated correctly from the given input, without being able to predict or manipulate it in advance.
Several Proof-of-Stake networks use a VRF specifically to fairly and unpredictably select which validator proposes the next block, preventing any single validator from knowing far in advance that they'll be chosen (which could otherwise expose them to targeted attacks) while still letting anyone verify the selection was legitimate after the fact.
Examples
- A VRF-based validator selection process prevents a validator from knowing with much advance notice that they'll be chosen to propose the next block.
- Anyone can independently verify a VRF's output was generated correctly, which is what distinguishes it from an ordinary, unverifiable random number.