Validator

A Validator is an entity that participates in the consensus process by sharing its votes. Validators get rewarded for creating new blocks, and to become a Validator, they must “bond” or lock up a certain amount of coins as stake. The amount of stake held by validators determines their power in the consensus.

Validator structure

The Validator structure is 124 bytes long and consists the following fields:

Size Field
96 bytes Public Key
4 bytes Number
4 bytes Sequence
8 bytes Stake
4 bytes Last Bonding Height
4 bytes Unbonding Height
4 bytes Last Joined Height
  • Public Key is the Validator’s public key.
  • Number is a sequential and unique number assigned to each validator when it is created for the first time. The validator number is used to calculate the state hash of the blockchain.
  • Sequence increases every time a transaction is sent from a validator. This protects the validator against replay attacks, where a previously committed transaction is broadcasted again.
  • Stake holds the Validator’s stake or the amount of Pactus coins locked or “staked” by the Validator.
  • Bonding Height is the last block height that the validator is bonded some stake.
  • Unbonding Height is the block height that the validator is unbonded.
  • Last Joined Height is the block height that the validator joined the committee.