Sync v1 was a completely custom sync system, built as part of the old “Muon” browser. Sync v1 stored all data into an encrypted log on S3. New browsers joining the sync chain had to download all the logs and re-assemble the events in order. The browsers were also responsible for cleaning up out of date data records.
Sync v2 was rebuilt to be more directly compatible with the Chromium sync system (Chromium is the same open source base of Google’s Chrome and Brave). Brave built a sync server that more directly followed Chromium’s sync protocol, but defaulting instead to use encrypted data records. Sync v2 more easily supports more sync data types, while still keeping the client side data encrypted, so only you can see your data.
Brave Sync allows you to synchronize data across any number of Desktop and Android devices, with iOS to follow soon.
Unlike in Chrome, there is no Brave “account” that you can sign into. Instead, Brave uses the same “Sync chain” concept as before. Brave also enforces client-side encryption to keep your data safe and secure. Additionally, all Sync data is sent to Brave operated servers (no data is sent to Google or anywhere else). You can read more about how Brave Sync v2 system works here.
While the Sync chain concept itself is more or less the same, Brave Sync v2 uses a different system entirely. Subsequently, recovery phrases from Sync v1 will not work with v2 -- you will have to start a new Sync chain using the new system.
We use the built-in custom passphrase feature from Chromium sync and encrypt everything client-side. Instead of letting the user pick a passphrase, which may be weak, we force the passphrase to be the BIP39 encoding of the sync seed. The rest of the encryption is handled by Chromium as follows:
- BIP39 phrase is key-stretched using scrypt(N = 2^13, r = 8, p = 11). New clients need the scrypt salt in order to derive the key.
- Then the stretched key is used directly as a AES128-CTR-HMAC encryption key.
The Brave Sync team first focused on providing all of the popular sync data types that users have come to depend on, e.g. bookmarks, passwords, history, etc. The Brave team is working next on syncing rewards data. More to come soon!
When History is synced, you are essentially syncing typed URLs entered after both devices are added to the same Sync chain. Let’s say for example you have two devices, both with ~1,000 entries in History. When these two devices are added to the same Sync chain, they will both retain those same 1000 entries -- but any newly typed URLs entered into the address bar will now be added to both devices.
Sync v2 on Android respects the system-wide option “Automatically sync data”, so if you found that Brave Sync v2 does not work on your Android device, you should ensure that system option is in the position `on`. The location of that option depends on device manufacturer, but you may find it in:
System settings --> Accounts --> Automatically Sync Data
System settings --> Accounts and backup --> Accounts --> Auto Sync Data
System settings --> Cloud and accounts --> Accounts --> Auto Sync Data
In order to sync v2 work on Android it is required to turn that option on.