
1. CONSENSUS TOKEN IMPLEMENTATION
The user who wishes to run a validator (or a number thereof - batch staking is permitted) configures his execution and consensus clients and deposits GNO by invoking the batchDeposit
method of the GNO Deposit contract, passing validator information along. After a delay meant to finalise the deposit by building a chain of subsequent blocks, the validators are added to the pool and permitted to perform work by proposing and attesting to blocks.
For each epoch that the validator is online and working, it receives GNO rewards according to a reward curve and also xDAI transaction fees. Other sources of GNO rewards are attestation and proposal fees.
The reward curve (est. by GIP-16) reads: