0-ART is a novel solution by FreedomTool.org for building privacy-first, scalable, decentalization-friendly and verifiable applications such as messengers, private collaborative workspaces and many others. Extending the classic approaches for continuous group key agreement such as ART and MLS it gives a crucial component beforementioned solutions lack - verifiability: each group operation is supplied with a proof of a correct execution which lowers a level of trust assumptions on Service Provider and makes systems built with 0-ART scalable, efficient and even more privacy-preserving. Moreover, 0-ART supports concurrent updates of a group through a merging mechanism and gives a practical solution for role management based on anonymous verifiable credentials. You could check out technical details in our whitepaper.
Here we present our implementation of 0-ART written in Rust along with a demo Flutter app for private collaboration - Veil.
- book - engineering description of our 0-ART protocol implementation
- core - core crates implementing 0-ART protocol:
- cortado - carefully crafted elliptic curve which is "native" for the bulletproofs implementation(built upon Ristretto group).
- zk - zero-knowledge proofs for tree operations built with great bulletproofs protocol.
- art - implementation of ART and auxiliary tree routines.
- crypto - implementation of additional cryptography routines(X3DH protocol, Schnorr signatures).
- client-sdk - client SDK library for developers which want to integrate 0-ART protocol into their applications based on our own application layer protocol.
- veil-app - the first practical application of 0-ART: demo of the private collaborative workspace.
- infrastructure - all backend services supplied in docker-compose
- node - delivery backend service that also verifies all group operations.
- message-relay - service implementing outbox pattern for supplying messages into message-broker
- transistor - auxiliary service for untrusted encrypted data sharing