How does Dropbox sync work?

I want to know how dropBox can sync large data files without having to replace or re-upload the files again to the Dropbox server.

Example: encrypted zip archive

Suppose I have a 1 GB encrypted ZIP archive archive. Fully synchronized on my computer and on Dropbox servers,

On my computer, I added a zip file of about 5 MB in this archive archive, then saved the file on my computer,

dropbox is able to sync the zip archive without reloading the whole file, instead it just updates it with a little change I made.

TrueCrypt containers also work this way.

Any keywords, ideas, topics, reviews, links, code are welcome.

+4
source share
2 answers

Dropbox uses the rsync algorithm to generate delta files with a difference from file A1 to file A2. Only delta (usually much less than A2) is uploaded to Dropbox servers, since Dropbox already has an A1 file. Then the delta file can be applied to the A1 file, turning it into an A2 file.

Here you can find out more about this algorithm. http://en.wikipedia.org/wiki/Rdiff-backup#Variations

The source code for the delta creation library can be found here. http://librsync.sourceforge.net/

+7
source

My first thought (sorry!) Is that it can execute a hash at the block level.

For example, it can generate a hash for each 64k segment and then load the entire segment for each part that has a different hash.

+1
source

All Articles