Skip to content

Validators, Stakers and Slots

Pascal Berrang edited this page Feb 6, 2020 · 2 revisions

We distinguish between validators, stakers, and slots in our algorithm.

Validator

A validator refers to an entity that owns a BLS key and a reward address. Validators participate in the consensus algorithm. Moreover, they have to provide an initial stake during registration.

A validator can contain stake from multiple stakers.

Staker

A staker is an address that delegated a certain amount of Nimiq to a validator.

Slot

Our algorithm has a fixed amount of slots per epoch. Each slot corresponds to one vote in the PBFT processes. In each macro block, the validator selection algorithm fills the slots for the next epoch. During this procedure, validators are drawn based on a random seed and assigned to the slots. A single validator may thus be assigned to multiple slots.

The graphic below shows how slots relate to validators. In the example we have two validators that produce blocks distributed over a total of 16 slots. Validator #0 produces blocks for slots 0 - 2. Validator #2 works similarly.

                     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
             Slots   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
                     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    ValidatorSlots   |             Validator #0                  |    Validator #1   |
         (pubkeys)   |             SlotBand                      |    SlotBand       |
                     +-------------------------------------------+-------------------+
Clone this wiki locally