-
Notifications
You must be signed in to change notification settings - Fork 42
Validators, Stakers and Slots
We distinguish between validators, stakers, and slots in our algorithm.
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.
A staker is an address that delegated a certain amount of Nimiq to a validator.
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 |
+-------------------------------------------+-------------------+