nymtech / nym

Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.
https://nymtech.net
1.25k stars 231 forks source link

Determine times for each DKG phase #2719

Open neacsu opened 1 year ago

neacsu commented 1 year ago

After https://github.com/nymtech/nym/issues/2670 is merged to QA, we should input better values for how much each DKG phase should last.

The following (guessed) values have been merged for the DKG phases with 3 signers:

// The time sign-up is open for dealers to join
pub const PUBLIC_KEY_SUBMISSION_TIME_SECS: u64 = 60 * 2;  // 2 minutes
pub const DEALING_EXCHANGE_TIME_SECS: u64 = 60 * 5;  // 5 minutes
pub const VERIFICATION_KEY_SUBMISSION_TIME_SECS: u64 = 60 * 5; // 5 minutes
pub const VERIFICATION_KEY_VALIDATION_TIME_SECS: u64 = 60;  // 1 minute
pub const VERIFICATION_KEY_FINALIZATION_TIME_SECS: u64 = 60; // 1 minutes
// The time an epoch lasts
pub const IN_PROGRESS_TIME_SECS: u64 = 60 * 60 * 24 * 14;  // 2 weeks

Except for the first and last values, which are non technical, we should do some testing in QA to see what would be some proper values under normal circumstances, and maybe for more signers too (~20)

neacsu commented 1 year ago

Tagging the QA team to keep this in mind when deploying to QA (@benedettadavico @tommyv1987)