Shelter Protocol
Entorno de Ejecución P2P Integrado
Comunidad
Enlaces
Detalles
Licencia AGPL-3.0 (Chelonia / chel CLI); protocol spec open (MIT)
Estado de Desarrollo 🟢 Activo
Detalle del Estado de Desarrollo Active — Chelonia CLI updated Feb 2026; Group Income beta testing ongoing
Propietario okTurtles Foundation (501c3 non-profit)
Órgano de Gobierno okTurtles Foundation (501(c)(3) non-profit)
País USA (Washington D.C.)
Año de Inicio 2019
Stack JavaScript / TypeScript (Chelonia); VueJS 2.x (Group Income UI); Hapi.js (server); WebSockets; SBP (Selector-based Programming, custom micro-framework); WebAssembly sandbox for smart contract execution
Financiamiento Donations (BTC, XMR, ZEC, USD); GitHub Sponsors; grant requests from aligned orgs; DWeb event participation
Última Investigación 9 mar 2026
Entorno de Ejecución P2P Integrado Atributos
Orígenes Evolved from Group Income's technical requirements — okTurtles Foundation needed an E2E encrypted, federated application layer to build voluntary basic income app without server-side data visibility. Published as standalone protocol spec ~2019-2022.
Base de Datos Custom append-only message log (contract chains) persisted server-side; each contract chain is a self-referencing CID-addressed event log stored in server key-value store; state reconstructed by replaying events
Lenguaje de Consulta None (event-sourced state; no query language)
Formatos de Datos JSON (SPMessage format); BLAKE2b-256 content IDs (CID, Base58 encoded); shelter: URI scheme for addressing resources; JWS-compatible signatures
Edición Colaborativa en Vivo No native CRDT collaborative editing; shared mutable state via contract chain event sourcing and reactive Vue state updates
Edición de Texto Enriquecido No (text-based messaging; no rich text primitives in protocol)
Soporte Móvil No native mobile SDK; web app accessible via mobile browser; Tauri mentioned as recommended distribution approach for security
Soporte Web Yes — browser-native; primary deployment target is web application
Aplicaciones Nativas Tauri-based desktop packaging recommended in security docs; no official native mobile app
Términos okTurtles Foundation non-profit; no commercial terms; Group Income app open source
Fondos FY2022: $11,122 + 4.49 BTC + 132.9 XMR received; $57,748 + 1.95 BTC + 440 XMR paid out
Basado En ActivityPub (federation concepts); IPFS/CID (content addressing); event sourcing / CQRS patterns; zero-knowledge sub-protocols for password salt retrieval
Arquitectura P2P Federated server model (servers relay contract chain messages to subscribers); clients store/reconstruct local state; servers cannot read encrypted payloads
Red de Superposición None — uses existing HTTP/HTTPS + WebSockets; server federation via standard web protocols
Direccionamiento por Contenido Yes — BLAKE2b-256 CIDs (Base58 encoded) address all resources; shelter: URI scheme; first SPMessage in chain is CID of the contract
Local-First Partial — state reconstructed locally from replayed events; offline: events queued but requires server sync for propagation; state snapshots reduce replay cost
Cifrado de Extremo a Extremo (E2EE) Yes — OP_ACTION_ENCRYPTED for encrypted actions; OP_KEY_ADD/OP_KEY_SHARE for key management; ZK sub-protocol for password salt retrieval without revealing password to server; unique keys per device optional; EdDSA/ECC primitives; cipher-agnostic by design for post-quantum upgrade path
Biblioteca de CRDTs No — uses ordered event logs (deterministic replay); no CRDT library
Tolerancia a Fallos Bizantinos No formal BFT — federated trust model; server operators are trusted; contracts upgradeable by authorized keys
Firma JWS-compatible signing (JSON Web Signatures); OP_KEY_ADD / OP_KEY_SHARE primitives; signingKeyId referenced per message; ECC (cipher-agnostic design)
Permisos Capability-based key authorization: each SPMessage references a signingKeyId and encryptionKeyId defined at contract creation; OP_KEY_ADD grants new keys (multi-device); OP_KEY_SHARE shares secrets between keys; role/function authorization model customizable per contract; server cannot override client-side key permissions
Compatibilidad con la Web Semántica None — no RDF, JSON-LD, or linked data primitives
Contrato Inteligente Yes — "contracts" are upgradeable programs (any language) that process OP_ACTION events against shared state; WebAssembly sandbox recommended; Contract Manifest defines versioned contract code; state transition defined per event type; analogous to OOP class/instance model
Posición en la Pila del Protocolo Application layer — sits above TCP/IP and HTTP/WebSockets; provides encrypted federated application VM layer; comparable to ActivityPub at a higher abstraction level (application runtime vs. social protocol)
Incorporación de Activos/Valor None — no native token or asset primitives in protocol
Herramientas de Desarrollo Chelonia (JS/TS framework, AGPL-3.0) — reference implementation of Shelter Protocol for browser and Node.js; @chelonia/cli (chel) — CLI utility (TypeScript, AGPL-3.0); @chelonia/crypto, @chelonia/lib, @chelonia/serdes — npm packages; @sbp/sbp — Selector-based Programming micro-framework; Group Income codebase as reference application
Opciones de Despliegue Self-hosted server (Hapi.js); web app served separately from server (recommended for security — prevents malicious JS injection); Tauri for desktop app distribution; server stores encrypted contract chains; clients reconstruct state locally
Autenticación e Identidad Identity Contract (customizable per app): stores username, email, profile picture as E2E encrypted state; unique keypairs per device (EdDSA); ZK-based password/salt authentication without exposing password to server; OP_KEY_ADD for multi-device keyset management; no centralized identity registry
Modelo de Almacenamiento Server-side append-only contract chain storage (encrypted blobs); client-side reconstructed application state; optional state snapshots every N messages for sync efficiency; CID-addressed immutable messages
Interoperabilidad Low — Shelter Protocol is self-contained; no ActivityPub federation (despite conceptual borrowing); no DID/VC integration; shelter: URI scheme is custom; no standard identity or data portability interfaces
Grafo Social Application-defined via contracts; no native social graph primitives; Group Income implements group membership via identity + group contracts
Madurez del Protocolo / Estandarización Custom / Community spec — not submitted to any SDO; spec published at shelterprotocol.net; shelter: URI scheme documented informally; Chelonia is alpha/beta; Group Income in beta testing
Política de Actualización Contracts are explicitly upgradeable — each event references a specific contract version; new versions can be deployed; state replay uses version-tagged events; key rotation supported via OP_KEY_ADD/REVOKE