---
title: "The rsync algorithm"
description: "The rsync algorithm asks how one machine can update a remote file without sending the whole file or first collecting both versions. Read it to see how destination block signatures, a rolling checksum at every source offset, strong confirmation, and a stream of block references plus literal bytes preserve reuse even after an edit shifts every later boundary."
canonical_url: "https://fanout.sh/daily/2026-09-09-rsync-rolling-checksum"
md_url: "https://fanout.sh/daily/2026-09-09-rsync-rolling-checksum.md"
last_updated: "2026-09-09"
access: "public"
---

# The rsync algorithm

The rsync algorithm asks how one machine can update a remote file without sending the whole file or first collecting both versions. Read it to see how destination block signatures, a rolling checksum at every source offset, strong confirmation, and a stream of block references plus literal bytes preserve reuse even after an edit shifts every later boundary.

## Paper details

- Authors: Andrew Tridgell and Paul Mackerras

- Venue: ANU Technical Report TR-CS-96-05, 1996

- Track: Systems

- Difficulty: Easy

- Reading time: 30 min

- Original paper: https://openresearch-repository.anu.edu.au/items/15a1c428-0ad3-49d6-bb54-9238250cbbf0

## What you will learn

- Why fixed-position block comparison loses unchanged content after an insertion, while an all-offset rolling window can find it again.

- How a cheap 32-bit rolling checksum filters candidates before the report's 128-bit MD4 checksum confirms a reusable destination block.

- What the 1996 Linux and Samba measurements show, and how signature traffic, sender CPU, receiver I/O, block size, collisions, and modern protocol changes limit the claim.

## Continue exploring

[Explore remote file sync in Fanout](https://fanout.sh/system/archive/remote-file-sync-design): Connect rsync's delta-transfer mechanism to Fanout's system-design guide for file metadata, chunking, object storage, conflict handling, resumability, and production sync tradeoffs.

---
This representation contains public Fanout content only. Protected Pro lessons, account data, billing, checkout, and pricing are not included.

Browse the public content map: https://fanout.sh/sitemap.md
