Hyper Hyper Space: data sync for decentralized authority
Data sync for decentralized authority
Designed for data-centric networking
On-device replica
Applications can use the most convenient local storage for each use-case (a database, files, even in-browser stores like IndexedDb). Full or partial data replication is handled automatically and securely.
Eventual consistency
Hyper Hyper Space sync is coodination-free: applications don't ever need to wait (or even be online) to save new data. If there are conflicting changes, they will either be resolved automatically or presented for review.
Cryptographic security
Merkle-ized data structures, cryptographic identities and signature schemes are used to secure the event logs produced by Hyper Hyper Space, making the information they convey self-verifiable.
Flexible merging
The usual CRDT-like monotonic data types: sets, records, sequences, counters, etc. Fully extensible and customizable.
Co-transactions
Non-monotonic behavior (i.e. stuff that can't be modelled using CRDTs) is supported through co-transactions: atomic change-sets with explicit preconditions, that can be rolled back in the presence of conflicts.
Modular protocols
Simple protocols enable a modularized design: peer discovery, identity verification, event gossip, log/state reconciliation and verifiable data fetching.
Decentralized Authority
When people interact using Hyper Hyper Space-based applications, information is stored locally on their own devices. These local stores are synchronized by replicating a verifiable event log, that is thoroughly checked before being admitted at each device. CRDTs and Co-transactions are used to provide an experience that rivals that of centralized, client-server applications.
Conceptually, the data synchronization layer provided by Hyper Hyper Space follows the same architectural principles that the Internet itself uses to provide universal network connectivity. The sync protocol follows the End to end principle: all the sync logic resides on the peers, that execute a one-to-one protocol to exchange verifiable changes until they reach a synchronized state. Just like the Internet has support protocols that handle global state -BGP, DNS, etc.- Hyper Hyper Space depends on peer discovery and state gossip protocols to enable the pair-wise sync protocol and provide the context it needs to operate securely and efficiently.
We pursue a vision where our devices are sovereign nodes, exchanging verifiable information on our behalf, and the logic and rules governing our platforms are enforced transparently by software of our choosing.
Resources
We're currenty working on the 3rd version of Hyper Hyper Space. The second (current) version of the library is functional, but should not be used for new projects. To understand the direction we're going, please read the 2024 Technical Report.
- Technical Report (Sep-2024): Conclusions and ideas for building p2p secure data sync (NGI Assure Grant 2021-08-39).
- Original White Paper (Sep-2021): read about the technology powering Hyper Hyper Space.
- Slides (Feb-2022): Introductory Hyper Hyper Space slides from NLNet's last webinar on CRDTs.
- Core library (v2): written in TypeScript, it allows HHS-based apps to run both inside a web-browser and in servers using NodeJs.
- FOSDEM Talk (Feb-2022): An introductory talk
- Playground: Create simple HHS-backed objects in your browser's console and synchronize them over the net.
- Workspace: git monorepo and yarn workspace used for HHS development.
- Discord: for live discussion.