Executive Summary

Executive Summary

Condensation is a novel data system – a hybrid between a database system, a file system, and a messaging system. It offers functions to store and share data, and excels at data synchronization.

laptop

Data synchronization is essential in today's world. Sharing documents with friends, or editing them on different devices are just special forms of synchronization. And so are backup, data replication, and media streaming.

Potential applications

Technical overview

Condensation relies on conflict-free merge functions to synchronize data. Originating in semilattice theory, such functions can merge different versions of some data without user intervention. Synchronization always succeeds without conflicts, and retains transactions.

A B C AB AC BC ABC

Data is stored as hash trees of immutable objects. Change detection – the basis of efficient synchronization – requires logarithmic time only, and is therefore much faster than traditional file or database systems. Data sets with millions of entries can be compared and merged swiftly.

Condensation is distributed. Data can be synchronized across devices whenever they are connected. Mobile devices may communicate through intermediate servers, but no central server is needed.

Intermediate server

All data is end-to-end encrypted and signed using strong encryption algorithms (RSA, AES). Network and storage systems (and their administrators) only see encrypted data.

The actual data can be stored on anything from a raw disk partition to a cloud storage service.

raw disk file system database cloud storage ... NAS HTTP(S) (S)FTP POSIX FS SQL ...

The Condensation library is trimmed to the essential functionality, and adds less than 10'000 lines of security-relevant code to your project.

Availability

Condensation libraries are available for:

Libraries for other platforms are under development.

License

All source code is available under the MIT license, and the documentation is published under CC-BY 4.0.

Contact

Thomas Lochmatter, info@condensation.io