Concepts Specifications API Downloads
Executive Summary

Executive Summary

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


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.


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. When merging trees from different devices, only changes are transmitted.

Condensation is distributed. Data can be synchronized across devices whenever they are connected. As opposed to cloud services, no central server is needed.

Condensation(distributed) Cloud service(centralized)

To protect data from undesired access, Condensation uses a message-passing model with end-to-end encryption. 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, and accessed via POSIX file system calls, HTTP, SQL, and other protocols.

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.


Condensation libraries are available for:

Libraries for other platforms are under development.


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


Thomas Lochmatter,