Skip to content

Better approval voting paramters #640

@eskimor

Description

@eskimor

Existing relayVrfModuloSamples don't make too much sense

Current approval related values on Polkadot:

noShowSlots: 2
  nDelayTranches: 89
  zerothDelayTrancheWidth: 0
  neededApprovals: 30
  relayVrfModuloSamples: 40

relayVrfModuloSamples should be way less. With 200 valdiators and 40 parachains it should be around 6.

Existing parameters don't make too much sense

What is a good number for relayVrfModuloSamples depends on the number of validators and parachains. This parameter would need to be adjusted on any change in those numbers. It would be better to make relayVrfModuloSamples a function of those parameters and a different paramer to fine tune this relationship.

Further tuning

For our threat model it should be sufficient to have around 30 approvals in expectation. Therefore it might be sensible to reduce the number of neededApprovals a bit to avoid higher tranches kicking in too often to cover for variation. This might be helping in reducing load on approval voting. Other strategies like increasing the tick value should be done first though.

Tasks

  • Pass motion on Kusama and Polkadot to reduce relayVrfModuloSamples to something more sensible.
  • Make sure whenever we are increasing maxValidators or the number of cores we also adjust relayVrfModuloSamples accordingly.
  • Make the second task obsolete by replacing relayVrfModuloSamples config with a tuning knob and derive the actual value based on that and the number of validators and parachains/cores.

@Sophia-Gold
@burdges - expected variance would be interesting.
@sandreim

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions