The sole nontrivial VCIP of BERA is connected with its second VCM (the Conditional Consensus Token), so we proceed to describe it.
In order to enter the active set, the user needs to lock his tokens by using the deposit
function of the Beaconchain Deposit contract (currently located at 0x4242424242424242424242424242424242424242
). The deposit can range from 250.000 BERA to 10.000.000 BERA. Manual unlock of the deposit is impossible and is instead automatic: once the validator is ejected from the active set, all BERA staked to that validator will be returned to the validator's Withdrawal Credentials Address, which is set when the validator makes their first deposit.
Having entered the active set, the validator should then produce blocks; the probability of the validator being chosen to produce a block is determined by his relative stake size in the active set.
His efforts are remunerated in two ways: firstly, the base allocation of BGT (presently 0.5 BGT) is emitted directly to the validator. Secondly, he is accorded some extra BGT emission based on his boost (the portion of staked BGT attributed to him by stake or delegation), which he distributes over the Reward Vaults of his choosing and receives incentives in turn.
The boosted allocation is given by the following formula:
x
: the user's boost (portion of staked BERA attributed to them by stake or delegation)R
: the base BGT amount for reward vaultsa
: the boost impact coefficientb
: the boost impact curvature parameterm
: the minimum boosted reward rate
This allocation is distributed linearly to Reward Vaults over a three-day period; the emission is done by invoking the distributeFor
function of the Distributor (located at 0xD2f19a79b026Fb636A7c300bF5947df113940761). In return for setting his emissions to go to certain Rewaard Vaults (setting is done by calling the Berachef contract (0xdf960E8F3F19C481dDE769edEDD439ea1a63426a); the function of interest is queueNewRewardAllocation
), he receives therefrom a commission (each BGT directed to a Reward Vault prompts provision of some Incentive Tokens, and each validator sets the size of the commission he takes from those incentives for himself, all other incentives being distributed between the users who boosted the validator in question).