smoldot
smoldot copied to clipboard
Figure out when/how to properly switch between optimistic syncing and all-forks syncing
Small GrandPa networking summary:
- Blocks are split between authority set changes.
- When sending a neighbour packet indicating the authority set of the local node, if it matches the one of the remote, the remote sends back a commit message indicating where in the authority set we are. If it doesn't match, the remote sends nothing.
This issue is quite complicated. Switching from optimistic to all-forks syncing is relatively easy, but switching back from all-forks syncing to optimistic is an extremely hard problem as we lose a lot of information when doing so.
I'm leaning towards completely removing the optimistic syncing after https://github.com/paritytech/smoldot/issues/165. This is kind of questionable, but it would solve several unresolved questions.