Active state means every single block produced on PoS main chain.

Crystallized state occurs every 100th block.

Only Crystallized state consists of information about validators:

# List of active validators
active_validators': [ValidatorRecord],
# List of joined but not yet inducted validators
'queued_validators': [ValidatorRecord],
# List of removed validators pending withdrawal
'exited_validators': [ValidatorRecord]

Does this mean that a validator can join and leave the network only the during Crystallized state (which means only every 100th block)?


Not quite. For more details, read in the same spec e.g.:

Dynasty transition - a change of the validator set

Dynasty transition

TODO. Stub for now.

And also:

dynasty: The number of finalized checkpoints in the chain from root to the parent of a block. The dynasty is used to define when a validator starts and ends validating. The current dynasty only increments when a checkpoint is finalized as opposed to epoch numbers that increment regardless of finality. — https://eips.ethereum.org/EIPS/eip-1011#Glossary

And Casper FFG, section 3.

I'm not quoting that because StackExchange doesn't support LaTeX.

To summarise, dynasty transitions are dynamic, depending on the total number of validators, how many are requesting to leave and join at a given time and the rate of finalized checkpoints. The exact specification is TBD.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.