I read that when a node receives a block, the node verifies that the slot number is the current one.

If the slot changes every second, what if a block is generated by some node A, but some other node B does not receive that block in the same slot (caused by network latency)? Will that block be invalid for node B and not appended in its chain?

Is there any "network tolerance parameter" that allows for blocks from the last X (for example 5) slots to also be valid?

If this parameter exists, what is it set to? If this parameter does not exist, how does the protocol solve this "fork"?

Edit: If this parameter does not exist, would it decrease security in some form?

1 Answer 1


It's even more robust than that. It uses consensus (see ouroboros praos paper for technical details) to identify the best chain. As long as the chain doesn't diverge more than 3k/f slots ((36 hours on mainnet), the system will accept a competing chain as a candidate.

In practice this means I might not receive your block for hours, and when I do, I can either adopt it and continue forging against your chain or discard it because I have a better chain already.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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