Zilliqa / zq2

Zilliqa 2.0 code base
Apache License 2.0
9 stars 0 forks source link

Deep forks can stop syncing #1758

Open rrw-zilliqa opened 1 week ago

rrw-zilliqa commented 1 week ago

At present, when syncing, we attempt to find blocks that extend the canonical chain and submit them to consensus for processing. However, this doesn't work well with multi-block forks :

One solution to this is to continue to buffer any block before a chain of three uninterrupted blocks (three consecutive views, V1, V2, V3, with no intervening views and V3.parent = V2, V2.parent = V1), and track parent pointers so we can present the new chain back to consensus.