
Una red P2P efímera, segura y descentralizada en C++. Cuenta con un DHT personalizado, transporte cifrado y traversal NAT autónomo mediante relays asíncronos de alto rendimiento (epoll/kqueue).
Una red P2P segura con Relay personalizado para NATs hostiles, construida en C++20.
Olvido programable para almacenamiento peer-to-peer de alta seguridad.
Shardian diseña infraestructura para equipos que toman las garantías de eliminación tan en serio como la confidencialidad. EphemeralNet es nuestro daemon de investigación en C++20 para datos que deben desaparecer: un protocolo P2P que usa semánticas de tiempo de vida (TTL) impuesto como restricción de primera clase. En lugar de mutar enjambres al estilo BitTorrent en políticas de retención ad-hoc, EphemeralNet trata cada manifiesto, fragmento y pista de enrutamiento como material fungible cuyo tiempo de vida se negocia en el borde y se impone criptográficamente.
Cada nodo ejecuta eph, un daemon compacto que expone un socket de control estilo gRPC y una CLI remota. El núcleo combina una DHT Kademlia consciente de TTL con sesiones ChaCha20/HMAC, compartición secreta de Shamir para pulverización de claves y ganchos de limpieza deterministas para que el estado expirado se evapore simultáneamente en los niveles de almacenamiento, tablas de enrutamiento y manifiestos. El resultado es una malla que puede chismosear, almacenar y recuperar como una superposición CDN moderna, garantizando que los datos desaparezcan según lo programado.
A diferencia de los sistemas de archivo, EphemeralNet optimiza para la corrección temporal: verifica que un fragmento no pueda sobrevivir a su plazo, incluso si los pares se desconectan. Esto lo hace ideal para salas de datos de incidentes, ediciones colaborativas temporales y cualquier carga de trabajo que necesite barandillas de Confianza Cero para la eliminación.
flowchart LR
subgraph "Estación de trabajo del operador"
CLI["CLI eph<br/>(shell remoto)"]
end
subgraph "Host local"
Demon["daemon eph<br/>(núcleo de control+datos)"]
end
subgraph Malla
DHT["DHT Kademlia<br/>(indexada por TTL)"]
Relays["STUN/TURN + Relay"]
Peers["Enjambre de pares"]
end
CLI -->|control estilo gRPC| Demon
Demon -->|anunciar/almacenar/recuperar| DHT
Demon -->|travesía NAT| Relays
Demon <-->|sesiones ChaCha20| Peers
eph expone tanto el servicio en segundo plano como una superficie de control remoto para operaciones automatizables.| Plataforma | Comando |
|---|---|
| Linux y macOS | curl -sSf https://eph.shardian.com/install.sh | sh |
| Windows (PowerShell) | iwr https://eph.shardian.com/install.ps1 -useb | iex |
Los scripts de instalación descargan el último artefacto de lanzamiento de GitHub, colocan
ephen tu PATH e imprimen instrucciones de seguimiento.
# Inicia el daemon con plano de control loopback, transporte TCP en 45000
PS> eph start --storage-dir C:\temp\ephemeral --control-host 127.0.0.1
# Almacena un archivo con un TTL de 15 minutos; PoW se negocia automáticamente
PS> eph store secrets.bin --ttl 900
# Recupera mediante manifiesto; direct-only mantiene el tráfico en pares explícitamente anunciados
PS> eph fetch eph://6c5f... --direct-only --out C:\downloads
# Inspecciona salud del nodo, saturación de DHT y estado del relay
PS> eph status --verbose
# Verifica si hay una versión más reciente de la CLI disponible
PS> eph update-check
# Configurar (crea build/ y archivos de toolchain)
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
# Compilar todos los objetivos (daemon, CLI, relay, pruebas)
cmake --build build --parallel
# Opcional: ejecutar la suite completa de pruebas
ctest --test-dir build --output-on-failure
Usa -DEPHEMERALNET_BUILD_TESTS=OFF para omitir los binarios de prueba o -GNinja si prefieres compilaciones con Ninja.
El manual de operaciones completo, la referencia del protocolo y las guías de observabilidad están en eph.shardian.com. Copias sin conexión están reflejadas bajo docs/ para revisión en entornos aislados.
Las solicitudes de extracción son bienvenidas: comienza con una propuesta en docs/todo.md o abre una Discusión en GitHub para alinear el alcance. Los nuevos módulos deben incluir notas de diseño, ganchos de telemetría y pruebas deterministas bajo tests/.
EphemeralNet se publica bajo la Licencia MIT. Al contribuir, aceptas que tu trabajo se licenciará bajo MIT y que tienes el derecho de hacerlo.