A novel method for verifiable onchain randomness (VRF) enabled by ZKPs.
This project showcases the power of programmable cryptography enabled by modern zk-SNARK tooling (in this case, we use Aztec's Noir DSL) to create a custom deterministic public-key cryptography scheme. We then use this custom PK crypto to allow anyone to generate verifiable random numbers.
We use Aztec's Noir DSL and tooling to write & generate the circuits necessary for proving our custom deterministic public-key cryptography scheme. This tooling also generates the onchain verifier (Solidity) to verify the generated proofs.
Our contracts are written Solidity and deployed on Scroll mainnet, to show that any new rollup, as long as it supports the necessary EC pairing precompiles, can standup a VRF infrastructure very quickly, without having to wait (usually very long times) for external providers such as Chainlink. Having this deployed on Scroll also exemplifies that Scroll is a true zkEVM that can support all the precompiles necessary for verifying ZKPs.
Last but not least, we use subgraphs deployed on The Graph to index request events coming in, so that operators can fulfill them.