Heimdall is our Proof-of-Stake Verifier layer, which is responsible for checkpointing a representation of the Plasma blocks to the main chain in our architecture. We have implemented this by building on top of the Tendermint consensus engine with changes to the signature scheme and various data structures.
The main chain Stake Manager contract works in conjunction with the Heimdall node to act as the trust-less stake management mechanism for the PoS engine, including selecting the Validator set, updating validators, etc. Since staking is actually done on the Ethereum smart contract, we do not rely only on validator honesty and instead inherit Ethereum chain security for this key part.
Validators are selected via an on-chain auction process which happens at regular intervals as defined here. The process of becoming a validator after you have won the slot is outlined here:
StakeManagercontract to lock your state on-chain.
Bridgeon heimdall listens to this event and broadcasts to heimdall
- After consensus
Validatoris added to
heimdallbut not activated.
Validatorstarts validating only after
- As soon as
startEpochreaches the validator is added to
validator-setand starts participating in the consensus mech