DPoS: Delegated Proof of Stake: a mechanism for the selection of network Validators by coin holders delegating their votes Validator: (usually denoted L) a node on the network responsible for producing and validating blocks. Nominator: a coin holder who stakes and delegates their coins to one or more Validators. Epoch: (usually denoted 𝑁) corresponds to 𝐿∈ℕ blocks: it is a cycle of a few blocks in which Validators create blocks in turn.
deposit
function on the staking contract.MIN_STAKE
delegate
to remove their vote.WITHDRAWAL_PERIOD
the funds are unlockedwithdraw
function on the smart contract can be called with a withdrawalREGISTRATION_VALUE
(in the native token) will be sent to aregister
function on the contract. It will be burnt in order to limit theMAX_REGISTERED_VALIDATORS
should be specified.MIN_TOTAL_STAKE
in orderIn this model, an epoch would be of the maximum number of Validators allowed, eg. 1,001 (+/- an hour on a 4-seconds block time chain).
VALIDATOR_REWARD
.reportBenign
method (part of the Validator Set Contract) that only Validators can call, passing a message and a block-number, and a slashing will execute if more than 2/3 of the Validators agree on the misbehaviour.reportMalicious
method with the right data, being the two signatures of the Validator, and the message signed, which would contain the step of the blocks. This method would thus include an RLP decoder.reportMalicious
method that only Validators can call, passing a message and a block-number, and a slashing will execute if more than 2/3 of the Validators agree on the reportMalicious
. It could slash a portion of the entire 100% stakes of Validator Node.MIN_STAKE
: 10,000,000 XDC
VALIDATOR_REWARD
: 0.01370% (Daily)
VALIDATOR_SET_SIZE
: 21
REWARDS_TRANSFER
: Every next block of an epoch
WITHDRAWAL_PERIOD
: Set of Epoch ( 1 Epoch = 500 blocks)
MAX_REGISTERED_VALIDATORS
: 5000