We are glad to announce today that our project has been selected by NLnet and NGI for the grant NGI Assure. Today we signed the MoU and the work can start !
Local-first Data Repositories
Based on Open Standards
Conflict-Free data repositories: Access them securely, anytime, from anywhere, online or offline, they will always sync and merge without conflicts.
Create and link RDF documents with CRDT operations. Turtle and more formats supported. Based on Oxigraph triplestore
Query and modify your data with the graph query language SPARQL, a powerful and widely used standard
Access your semantic resources with JSON-LD format and Linked Data Platform protocols
Verify the integrity of the data you consume thanks to the W3C standard for Data Integrity 1.0 proofs and threshold signatures
Why decentralization and P2P are important today
Today's cloud is property of big corporations like Google, Apple, Meta, etc... that sell your private data to advertisers. In addition, you have no control on where your data resides, nor who has access to it. Surveillance by state and private entities is widespread. Getting back ownership of your data is the first step.
Since many years, some alternatives exist in the form of federated systems, like the old email system SMTP, or newer protocols like ActivityPub for social networking, XMPP for chatting, or Solid for semantic data. But those systems presuppose that you registered your own domain name and you are capable of administrating a whole server, or trust somebody else to do it for you. This is not feasible by most of end-users, and their data will never be portable anyway, staying captive of the hosting provider they initially chose.
The only way to assure that your data is not going to be used by unauthorized people, is to encrypt it end-to-end, meaning, directly from the app you are using (in your phone, on your laptop). For this reason, the software you use should be able to connect directly to your peers and contacts, without the need for a third-party or server. Peer to peer networks (P2P) and End-to-end Encryption (E2EE) are the technologies that will give you total control on your data.
Here comes NextGraph !
NextGraph is an ecosystem
that provides solutions for end-users and software developers alike, wishing to use or create decentralized Web 3.0 apps featuring :
- Live collaboration on rich-text documents
- Multi-format structured data (JSON, RDF, XML), and binary files repository
- Peer-to-peer communication with end-to-end encryption
- Offline-first, local-first, portable and interoperable data repositories
- Security, privacy and fine-grained permissions
- Documents can be linked together, signed, shared securely, queried using the SPARQL language and organized into sites and containers
- Total ownership of data and software
- SDK to develop many dApps. See the many features and solutions we have in mind
Based on CRDTs
Conflict-free Replicated Data Types are a novel approach to database. Instead of trying to protect the integrity of transactions with ACID properties, CRDTs represent the data in specific format that will always converge to the same state, even in case of merge conflict.
Thanks to the CRDTs, each document in the repository can be accesses and modified even when the computer is offline. Once internet connectivity will be established, the documents will synchronize themselves automatically, without any risk of conflict.
Strong eventual consistency
The members of a repository collaborate on their documents within a closed overlay network. Each change to the data is sent to the other members via a P2P Pub/Sub mechanism with partial causal ordering, that enables strong eventual consistency of the database.
Every document is protected by cryptographic keys that are shared only among the editors. Other read permissions can be granted to external users. The owner can also change the permissions and revoke the editing right of some publisher.
Smart contract and DAO
Each transaction that mutates the data of a document is signed with a threshold group signature. This mechanism protects the data with a Byzantine fault-tolerant consensus, reached with a quorum of validators. This feature is a building block for Smart Contracts and DAOs.
NextGraph is released under a double permissive licensing: Apache License, Version 2.0 or MIT license. Those licenses are business friendly and do not restrict any type of usage. Having access to the source code is very important for security audit purposes, and for software full ownership.
So what's next?
NextGraph is a work in progress. See the roadmap here.
It received funding through the NGI Assure Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 957073.
If you are a developer
You will be able to use the ecosystem to develop new decentralized apps soon, and you can already join our forum if you have questions.
If you want to support us
You can join our dev team, or support us with a donation !
At least every two months, we will publish here some updates on the work in progress. Stay tuned by subscribing to our newsletter.
Frequently Asked Questions
How is this different from Google Docs/Drive?
Google productivity suite (Google Workspace) is very rich in functionalities and benefits from high quality design. We do aim at providing a similar user experience.
The main difference between Google Docs and NextGraph, is that we do not use a central server and therefor your data remains private all the way.
You can find a list of features we are targeting.
Can I self-host NextGraph? Is it free?
It is free and always will be, as anybody can download the source code and run the software on their devices. By definition, NextGraph is self-hosted. We might propose in the future a managed service for those who do not want to install the broker. We also plan to offer a small home device for purchase, that will be connected to the internet permanently and will run a background service, for those interested.
Is it related to Web3, blockchain or DApps?
DApps means literally Decentralized Applications. So it fits very well the definition of NextGraph ecosystem. But in the recent years, the term has been used mostly by technologists related to blockchains and/or cryptocurrencies. There is no crypto in NextGraph, and there is no central blockchain neither. The term "Web 3.0" used to refer to the advent of the Semantic Web, and was first used by Tim Berners-Lee in 2006. The cryptocurrency enthusiasts use the form “Web3”. You can read more about this topic in Introduction.
How does it work internally?
As we said above, the sync and merge mechanism is based on CRDTs. If you are curious about more technical details, you can read the design paper and specification.
What about existing platforms like NextCloud, Holochain and others ?
Several solutions exist to date that offer live collaboration on rich text documents, but they are often based on the federation topology, which means that someone needs to administer a central server. This is exactly what NextGraph wants to avoid. You can find here a comparison of existing solutions.
Are you the only ones working on such technology?
No we are not ! local-first and decentralized technologies are a hot topic nowadays. There are several other projects with similar goals. Most of them are basing their P2P network on DHT (Distributed Hash Tables). We avoided this pitfall because we believe that data locality is important. With a DHT, your personal data is spread all over the internet, without a way to control its location. Even if it is encrypted (which is not often the case), we consider it a risk. Our P2P overlay is storing data only at a specific list of nodes who participate in a repository. Here you can find a more detailed comparison of those projects.
Vision for NextGraph
Long-term goals include developing or integrating wikis, knowledge bases, search engines, groupware, productivity tools, supply chain solutions, marketplaces and e-commerce solutions, social networks and DAOs.
With NextGraph, you can create and access freely your own interlinked data graphs, while preserving privacy, security, data locality, portability and interoperability.
You can read more about why we believe NextGraph is needed today in the introduction, and get the full picture about our vision. We are looking forward meeting you online, on our Gitea and Community forum !