BlockchainCommons / BlockchainCommons/Community
REFERENCE CODE: VRF for secp256k1
- Dominant language
- No language data
- Stars
- 68
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
In order to be able to implement certain kinds of architectures that leverage commitments (for instance Key Transparency, Kademilia, CONIKS) we need an implementation of [Verifiable Random Functions](https://en.wikipedia.org/wiki/Verifiable_random_function).
There does exist a C fork of `bitcoin-core/secp256k1` at https://github.com/aergoio/secp256k1-vrf that implements VRF to the IETF standard, which likely is close to what we need. There is also one in Rust that is more questionable: https://github.com/debasish-raychawdhuri/vrf_on_secp256k1
See also #88
Contributor guide
Research direction
Start by reading the linked C implementation at aergoio/secp256k1-vrf and compare it with the Rust implementation, then review issue #88 for project context. Define which implementation and IETF behavior this project requires; done means an agreed VRF implementation for secp256k1 that supports the stated commitment-based architectures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, rust
- Domain
- cryptography
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100