Docs
Protocols
DKG
Authority Selection

# Authority Selection

The authority selection system for DKG authorities uses a simple reputation mechanism for selecting the best set of authorities to participate in the key generation and signing protocols. The integer thresholds for keygen authorities and signing authorities are set and governed on-chain and directly correspond to the number of DKG clients that will participate in either protocols.

For a keygen threshold of n and a signing threshold of t, we take the top-n authorities on chain by reputation. Out of these n keygen authorities, t+1 of them are selected for signing. The keygen set remains fixed over the course of the session, whereas the signing set can change amidst misbehaviours in signing protocol participation.

# Reputation Calculation

The pallet-dkg-metadata is responsible for calculating and maintaining the reputation scores of all active validators. Reputation serves as a metric to assess and evaluate the authorities, taking into account the number of valid keygen operations performed by the authority and any reported misbehaviors.

The misbehaviour reporting process is based on an honest-threshold assumption. If DKG authorities misbehave off-chain, any observing authority can submit a report against the offending authority. Once a threshold number of reports are submitted, the offending authority will experience a loss of reputation. The reputation map is used by each DKG authority to ensure that every authority can generate a deterministic signing set for threshold signing protocols. Initially, the signing set consists of the top t DKG authorities according to their reputation.

The formula for updating reputation based on misbehaviour is as follows:

AUTHORITY_REPUTATION = DECAY_PERCENTAGE * AUTHORITY_REPUTATION

# Jailing authorities

For each instance of misconduct that is verified and reported to an authority, the implicated authority will be temporarily suspended or "jailed" for a specific number of sessions. During this suspension, the authority will not be included in the selection process for the authority selection set. This serves as a punitive measure against malicious behaviour. The authority may be reinstated after a predetermined period of time has passed.