16. Fingerprints find the differences
Peers compare one fingerprint per region, split regions that differ, and send entries only when a region is small; the fingerprint also counts held payload bytes; bytes sent follow the differences, rounds follow the logarithm of the size.

16. Fingerprints find the differences

Peers compare one fingerprint per region, split regions that differ, and send entries only when a region is small; the fingerprint also counts held payload bytes; bytes sent follow the differences, rounds follow the logarithm of the size.

It is why syncing a large area you already have costs almost nothing.

Two peers share an area. Which entries does one have that the other lacks?

Each side computes one fingerprint over all its entries in the area. Think of a seal over the whole box. Same seal, same contents. Done.

Different? Split the area and compare again.

When a region is small enough, just send its entries.

The fingerprint also counts how much of each payload a peer holds. So a half downloaded parcel shows up as a difference too.

The bytes sent grow with the differences. The rounds grow only with the logarithm of the size. Willow calls this region based set reconciliation.

Check yourself. Two peers hold identical areas. How many entries are sent?

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime