Creator
Alex North
Created
Jun 2, 2023 1:42 AM
From @Łukasz Magiera
Today the ("average worst case") breakdown of an epoch looks something like this:
- T+0 SPs broadcast block for the epoch at T
- T+10 Propagation delay, this much time to get blocks from the network
- T+12 Consistent Broadcast (2s iirc)
- T+17 State compute (if all 5 blocks use whole second for messages each, this is expected to average around 2.5s / epoch)
- Note that this can be a lot higher with network bugs, recent cron bug made this ~12s / epoch
- You'd think that combined with other pessimistic values this would mean that SPs were missing blocks - which is precisely what was happening at that time, to even ~30% of blocks at the time when we had elevated cron times
- T+20 Winning PoSt (Ideally we give SPs slightly larger window, 3s is how long it usually takes, but we'd want even 10s if possible)
- T+21 SPs create blocks (usually subsecond, but occasional mpool issues pushed this to a few seconds)
- T+30 Wait for epoch time to broadcast the block
Now, technically, state compute, winning PoSt and block creation can be done in parallel, but that's not done today