5

I was wondering if Dropbox works like git/rsync in that it deltas the files against the local repository in order to only send the changes to the files across the link.

For instance, if I put a 1GB file in the Dropbox folder and sync it with Dropbox, then make a change to it and now its 1.2GB. When syncing, will Dropbox send the whole 1.2GB across or just the .2GB?

2
  • I believe that Dropbox actually uses rsync internally. I can't find a good reference for that off-hand right now, but if I do, I'll expand this into a full answer. It definitely does use some sort of differencing algorithm.
    – nhinkle
    May 9, 2012 at 6:15
  • Duplicate - serverfault.com/questions/52861/…
    – Bibhas
    May 9, 2012 at 6:20

1 Answer 1

7

Answer by Moo at Serverfault:

Dropbox uses a binary diff algorythm to break down all files into blocks, and only upload blocks that it doesn't already have in the cloud. All of this is done locally on your computer.

Dropbox doesn't just use your files that you have already uploaded, it aggregates everyones files into one database of blocks, and checks each local block hash against that database.

This means that if someone else has uploaded the same file as yourself (say for example, the latest Ubuntu iso), then the upload will seem instant as there is nothing to upload, but if you are updating a file that changes regularly, like your backup file, then only the changes are uploaded. If you upload a totally unique file, then you have to wait for it all to upload.

2
  • That answer is partially inaccurate as Dropbox no longer de-duplicates across all users (there was a bug that allowed people to pirate files by only having a hash of the file; rather than fix the bug, Dropbox opted to simply disable the feature). The blocks will only not be uploaded if they're already in your own account. May 10, 2012 at 12:04
  • To be fair, it wasn't really a bug but a consequence of the design – either Dropbox requires you to upload the entire file, or they trust your assertion that you know its contents. With the cooperation of somebody who actually owns the file, all possible challenges of Dropbox ("hash the file", "give me ten bytes starting from offset n") could be answered.
    – lxgr
    Jun 11, 2015 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.