Drey-Finance / actuary-client

Drey's decentralised actuary client and orchestrator code
Apache License 2.0
3 stars 0 forks source link

Distributed Verifiable Random Function #6

Open spector-in-london opened 1 year ago

spector-in-london commented 1 year ago

Description

Drey Actuaries will co-ordinate over nostr a (Distributed) Verifiable Random Function protocol which is a particular case of secure multiparty computation that allows a set of mutually distrustful servers to initialize and compute a Verifiable Random Function fsk(x) for strings x, with no trusted central party. A Verifiable Random Function can be seen as the public-key cryptography version of a keyed cryptographic hash. A prominent application for such protocols is in PoS-based consensus in distributed ledgers which require a reliable, unpredictable and unbiased source of entropy or Decentralized Random Beacon (DRB) to select block producers.

Examples of VRF in Rust are here: https://github.com/witnet/vrf-rs https://github.com/vschwaberow/vrf-example

Example of DVRF in C++ (should be ported to Rust): https://github.com/fetchai/research-dvrf

Initiative / goal

This DVRF protocol will enable Drey Actuaries to randomly and securely select the Drey Actuary who will propose monthly distribution schedules, payouts, i.e. be the lead actuary for the period. It will also enable Drey Actuaries to produce unbiased source of entropy to obviate nonce reuse attacks should it be needed in the FROST/ROAST implementations.

Hypothesis

Success is our baseline DAC instance communicating with other DAC instances over Nostr to generate a distributed verifiable random function.

Acceptance criteria and must have scope

TBC

Stakeholders

This is core capability, affecting all stakeholders.

Timeline

TBC