Общий термин, который вы ищете, - это «дельта» (например, разница между двумя значениями), или, более конкретно, «дельта-сжатие» или «дельта-передача».
Общая идея не специфична для Dropbox — различные методы дельта-обновления используются в десятках программ (например, Git, rsync, Центр обновления Windows, «подходящее обновление» Debian).
Некоторые из этих методов напрямую принимают оба входа (старый и новый) и создают своего рода «дельта-патч», который позже можно применить к старому файлу, чтобы получить новый. Обычно эти методы могут обрабатывать вставленные/удаленные данные, а также прямые изменения, но для этого требуется, чтобы отправитель имел обе версии одновременно. (Примеры: инструменты «bsdiff» и «xdelta3»; pdiff-файлы «apt update» Debian; файлы «object/pack/*.pack» Git.)
Другое программное обеспечение использует этот термин для обозначения методов, которые только определяют, какие фрагменты файла фиксированного размера были изменены, и загружают необходимые фрагменты. Программы синхронизации файлов часто делают это, так как не требуется, чтобы обе версии находились в одном месте, вместо этого клиент и сервер интерактивно обмениваются списками хэшей. Недостатком является то, что они обычно не могут обрабатывать вставки/удаления. (Примеры: Dropbox, Syncthing, различные одноранговые программы, использующие хэш-деревья Merkle, такие как BitTorrent или ed2k.)
Git использует оба метода в разных контекстах.
Прикрепляю к посту несколько видео по теме: