This is a simple suggestion to improve syncing in IOTA 2.0.
- We divide the tangle up to epochs.
- The epoch i commit is a some sort of cryptographic commitment to all the messages in epoch i
- The history i commit is the merkle root of all the epoch j commits with j\leq i
- Every message in epoch i contains the epoch and history i-2 commit.
- Assume now that the length of each epoch is longer than the partition tolerance allowed by the timestamps. Under this assumption all nodes should have consensus on the same messages on two epochs ago.
- Any message with the incorrect commits is rejected. We can do this because of our partition tolerance.
- When syncing, we can request epoch commits and sync based on those.
This is basically Hans idea assuming no sort of partition tolerance. I think to improve this idea, we need to have a better idea of our partition tolerance requirements.