Consensus
Aura consensus
Collator's block proposals are managed in Horizen by the AURA (Authority-round) consensus.
AURA works by having a list of authorities A who are expected to roughly agree on the current time.
Time is divided up into discrete slots of t seconds each. For each slot s, the author of that slot is A[s % |A|]
The author is allowed to issue one block but not more during that slot, and it will be built upon the longest valid chain that has been seen.
Blocks from future steps will be either deferred or rejected depending on how far in the future they are.
Authorities selection
The selection of the authorities used by AURA is governed in Horizen by a Proof of Stake mechanism.
We define a session (or round) as composed by a number N of slots.
We also define a candidate a collator that has joined a list of candidates by putting an initial stake.
When a new session starts, the top X candidates by stake are selected, considering also the delegated stake.
This set of collators will compose the list of authorities from which AURA will select the block proposer during the next session (there is one session delay between the time the set is chosen and the time it starts to be used).
Please note that once a collator will reach the target to be included in this list, it will be selected to propose a block following a round-robin schema, and not proportionally on the stake owned.
Collators rewards
The end of each session also marks the time when collators' rewards are calculated.
Rewards are composed by the transaction fees collected in the block and the coinbase (new ZEN minted) of each block authored (see tokenomics section for more info on the coinbase rules).
There is a fixed collator commission of 15%. The remaining 85% of the rewards are delivered to delegators, proportionally to the amount of delegated stake.
Payments are made once-per-block until all payments have been made. In each such block, one collator is chosen for a rewards payment and is paid along
with each of its delegators.
Additional rules and constraints on how to join/leave the set of candidates and stake/unstake funds are detailed in the Stake and delegation tutorial.