BlockchainCommons / BlockchainCommons/Community

REFERENCE CODE: VRF for secp256k1

Open
#91 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.