We've thought a fair amount about this. Our approach is the use sqlite on-device. Think about it more as a partially replicated db instead of a cache.
Then locally available devices can compare changelogs and sync only the delta.
No need for a checksum, since you can use monetonically increasing version numbers and CRDTs!
> No need for a checksum, since you can use monetonically increasing version numbers and CRDTs!
How does that help against random bit flips?