Skip to content
/ vrf Public
forked from input-output-hk/vrf

Implementation of Cardano compatible VRF function

License

Notifications You must be signed in to change notification settings

txpipe/vrf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verifiable Random Function

The repo contains two implementations of draft VRF preceding the ratified standard rfc9381. Namely, (a) implementation of the verifiable random function presented in draft-irtf-cfrg-vrf-03 using Edwards25519, SHA512, and Elligator2 (b) implementation of the verifiable random function presented in draft-irtf-cfrg-vrf-10 using Edwards25519, SHA512, and Elligator2.

The implementation draft-irtf-cfrg-vrf-03 is used as a VRF solution in haskell node, ie., Praos. The current implementation to be used, aka VRF-03, is tested against both draft standard test vectors and test vectors generated in cardano-base. As a consequence the crate is compatible with the VRF-03 implemented over libsodium that is FFIed in cardano-base.

The VRF-10 implementation is the batch-compatible version of the VRF, as presented in this technical spec. This version is NOT used in production in cardano ecosystem. Some more technical information about VRF-10 can be found here

It is possible that the next VRF version is going to be RFC-9381 compatible. At the moment the next VRF version in haskell node, not at this moment used in production and not decided to be used in production, is PraosBatchCompat. It follows, although not strictly, draft-irtf-cfrg-vrf-13. If the next VRF is chosen to be deployed as the next VRF the repo is going to support and be strictly compatible with it.

DISCLAIMER: this crate is still under active development and could be used at own risk.

About

Implementation of Cardano compatible VRF function

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%