Topo

Protocolo P2P

An event-sourced, end-to-end encrypted, batteries-included P2P protocol for building complex applications such as team chat. Defines a DAG-based event pipeline where commands produce signed, encrypted, hashed events that are transmitted peer-to-peer via QUIC, validated against mTLS trust state, topologically sorted for causal ordering, decrypted, and stored in SQLite for querying. Informed by and developed for the Quiet project. Self-described as a proof-of-concept, not for production use.

Comunidad

Detalles

Licencia Apache-2.0 / MIT (Rust standard dual license inferred from Cargo.toml; contributing guidelines present) https://github.com/holmesworcester/topo
Estado de Desarrollo 🔨 En desarrollo
Detalle del Estado de Desarrollo WIP (proof-of-concept; explicitly marked not for production use; stretch goal of simplicity not yet met per author)
Propietario holmesworcester (GitHub handle); affiliated with TryQuiet / Quiet project
Órgano de Gobierno None (single developer; proof-of-concept stage)
País Unconfirmed
Año de Inicio 2026
Stack Rust
Financiamiento Unconfirmed
Última Investigación 1 jul 2026

Protocolo P2P Atributos

Orígenes Chat / Messaging (designed as P2P backend for team chat; emerged from Quiet development)
Base de Datos SQLite (via rusqlite; events stored after decryption and topological sort)
Lenguaje de Consulta Custom RPC (JSON method calls via topo rpc; structured request envelope with version field)
Formatos de Datos Custom binary event format (signed, encrypted, hashed events over QUIC wire); JSON (RPC layer)
Edición Colaborativa en Vivo N/A (protocol spec; no application editing layer)
Edición de Texto Enriquecido N/A
Soporte Móvil N/A
Soporte Web N/A
Aplicaciones Nativas N/A (CLI daemon only; no native app)
Términos Free / Open source
Fondos Unconfirmed
Basado En QUIC (transport); mTLS (peer authentication); SQLite (local storage); TLA+ (formal model for DAG and bootstrap transport logic)
Arquitectura P2P DAG-based causal broadcast (events form a directed acyclic graph; topological sort enforces causal ordering; peers sync via set reconciliation over QUIC with mTLS mutual authentication)
Red de Superposición App-wide (workspace-scoped; peers are members of a named workspace; no global DHT)
Direccionamiento por Contenido Yes (events are signed and hashed; content-addressed by cryptographic hash in the event pipeline)
Local-First Yes (SQLite local store is the primary data source; sync happens over QUIC between peers)
Cifrado de Extremo a Extremo (E2EE) Yes (end-to-end encrypted by design; events encrypted before transmission, decrypted only on receiving peer after pipeline validation)
Biblioteca de CRDTs N/A (custom event DAG; no CRDT library identified)
Tolerancia a Fallos Bizantinos No (set reconciliation sync; no explicit BFT consensus mechanism documented)
Firma mTLS (mutual TLS for peer authentication; event signing implicit in hash-sign-encrypt pipeline)
Permisos mTLS-based (peers validated against event-sourced trust state; workspace invite flow controls membership)
Compatibilidad con la Web Semántica No
Contrato Inteligente No
Posición en la Pila del Protocolo Application-layer (built on QUIC over UDP / TCP/IP stack)
Incorporación de Activos/Valor None
Madurez del Protocolo / Estandarización Pre-specification (proof-of-concept with design documentation and TLA+ formal models; no standards body submission; author notes it is not yet simple enough)