blog
Bittorrent Sync

First Look: BitTorrent Sync

The massive number of cloud storage and synchronization applications available makes choosing one very difficult. It seems as if a new service is released every day – sometimes very little fanfare. Today, I’m blessed to see one of the more compelling types of cloud synchronization applications out there. This new tool comes from the granddaddy of data movement on the Internet, BitTorrent. The idea behind this tool is not to store your data in the cloud, but use the cloud to keep your data updated on multiple computers. The current Alpha version supports Windows, OS X, and  Linux.

How does this work? I’ll let Bittorrent describe the details of the product:

BitTorrent Sync synchronizes your files using a peer-to-peer (P2P) protocol. The devices you setup to sync are connected directly using UDP, NAT traversal, UPnP port mapping, and a relay server. If your devices are on the same local network, BitTorrent Sync will use your LAN for faster synchronization. For better security, all the traffic between devices is encrypted with AES cypher and a 256-bit key created on the base of a Secret – a random string (32 characters or more) that is unique for every folder.

That is quite amazing for a basic sync tool. And, given the use of the P2P protocol, I can see multiple hosts in a group helping each other to sync data, speeding up the process considerably. As a method of keeping data up-to-date on the go (without having that data reside in the cloud), this idea is a real winner.

I notice a number of blogs have characterized this tool as a “Dropbox Alternative”, which I feel is quite false. While both tools do sync data, BitTorrent Sync has not no cloud storage component. So, there is not sharing or directly linking to files stored in the cloud  Sync is more of a data synchronization tool than is a cloud storage tool. Think more Logmein Backup, less Dropbox.

The setup process is dead simple. The first machine you setup creates a key for a sync folder. Every machine you set up after that just needs the key to start the synchronization. In each case, you’ll simply choose the folder where to place the files that stay updated. You can also control the direction of sync by creating read-only keys that, as you can imagine, don’t have the ability to modify the source folder. Already cool and interesting things are being done here, like a dead drop that has a Sync key.

The key BitTorrent Sync is a little unruly and long. It looks like this:

XX4XXX4XXXXZHXXX3CCZXXE5F5GXXXXO

This is fine, though typing it in manually on many devices might be a bit difficult. One suggestion might be to offer a way to extract the key by email. It might also make sense to simply put a space after every fifth character to make entering it in on other devices easy.

When the sync happens by way of a Local Network, BitTorrent Sync clearly uses a high speed to get data moved across the network. From a single source computer connected at 1gbs to a laptop connected by way of WiFi, the following speeds were observed in the sync tool:

Bittorrent Sync LAN Speed

The switch to a higher speed appears automatic (as long as the setting is enabled). The file involved is an encrypted TrueCrypt file.

Speaking of TrueCrypt, files created by this encryption tool are generally difficult for syncing tools (I’ve found Google Drive has serious difficulties with this). I decided to test Sync on a TrueCrypt file after making a rather sizable change to the file. After dismounting the file, Sync didn’t seem to see the file had changed, nor did Sync start the process of updating. I was able to get the file to sync by updating the file’s date and time to something newer, forcing Sync to start the update process.

Another issue I’ve come across is the rather vague error that says:

Error: Bittorrent Sync cannot identify the destination folder.

Looking a little closer, it became clear that this was caused because some of Sync’s internal files were missing,  namely “.SyncIgnore” and “.SyncID”. What was not clear, is why these files would go missing when they exist on the other side of the synchronization process. So far, recreating the sync in both directions and manually forcing hidden files have failed to correct this issue. Tracking down what process deletes these hidden files should yield answers.

While not without problems this early in the game, I feel that this tool is incredibly promising. This is clearly the next evolution of what Bittorrent should be, now and into the future. The simplicity makes me think of many ways this could be used to move data across the Internet.