
Una rete effimera P2P sicura e decentralizzata in C++. Include una DHT personalizzata, trasporto cifrato e attraversamento NAT autonomo tramite relay asincroni ad alte prestazioni (epoll/kqueue).
Una rete P2P sicura con Relay personalizzato per NAT ostili, realizzata in C++20.
Oblio programmabile per lo storage peer-to-peer ad alta garanzia.
Shardian progetta infrastrutture per team che trattano le garanzie di cancellazione con la stessa serietà della riservatezza. EphemeralNet è il nostro demone di ricerca in C++20 per dati che devono sparire: un protocollo P2P che usa la semantica del time-to-live (TTL) imposta come vincolo di prima classe. Invece di mutare gli swarm in stile BitTorrent in politiche di conservazione ad hoc, EphemeralNet tratta ogni manifest, chunk e suggerimento di routing come materiale sacrificabile la cui durata viene negoziata ai bordi della rete e imposta crittograficamente.
Ogni nodo esegue eph, un demone compatto che espone un socket di controllo ispirato a gRPC e una CLI in stile remoto. Il kernel abbina una DHT Kademlia consapevole del TTL a sessioni ChaCha20/HMAC, al Secret Sharing di Shamir per la polverizzazione delle chiavi e a hook di pulizia deterministici, così lo stato scaduto evapora simultaneamente dai livelli di storage, dalle tabelle di routing e dai manifest. Il risultato è una mesh che può fare gossip, memorizzare e recuperare dati come un overlay CDN moderno, garantendo al contempo che i dati cessino di esistere secondo programma.
A differenza dei sistemi di archiviazione, EphemeralNet ottimizza per la correttezza temporale: verifica che un chunk non possa sopravvivere alla sua scadenza, anche se i peer vanno offline. Questo lo rende ideale per data room per incidenti, modifiche collaborative temporanee e qualsiasi carico di lavoro che richieda guardrail Zero Trust per la cancellazione.
flowchart LR
subgraph "Operator Workstation"
CLI["eph CLI<br/>(remote shell)"]
end
subgraph "Local Host"
Demon["eph daemon<br/>(control+data kernel)"]
end
subgraph Mesh
DHT["Kademlia DHT<br/>(TTL-indexed)"]
Relays["STUN/TURN + Relay"]
Peers["Peer Swarm"]
end
CLI -->|gRPC-style control| Demon
Demon -->|announce/store/fetch| DHT
Demon -->|NAT traversal| Relays
Demon <-->|ChaCha20 sessions| Peers
eph espone sia il servizio in background sia una superficie di controllo remoto per operazioni automatizzabili.| Piattaforma | Comando |
|---|---|
| Linux e macOS | curl -sSf https://eph.shardian.com/install.sh | sh |
| Windows (PowerShell) | iwr https://eph.shardian.com/install.ps1 -useb | iex |
Gli script di installazione scaricano l'ultimo artefatto di release da GitHub, inseriscono
ephnel tuo PATH e stampano le istruzioni successive.
# Start the daemon with loopback control plane, TCP transport on 45000
PS> eph start --storage-dir C:\temp\ephemeral --control-host 127.0.0.1
# Store a file with a 15-minute TTL; PoW is negotiated automatically
PS> eph store secrets.bin --ttl 900
# Fetch via manifest; direct-only keeps traffic on explicitly advertised peers
PS> eph fetch eph://6c5f... --direct-only --out C:\downloads
# Inspect node health, DHT saturation, and relay status
PS> eph status --verbose
# Check whether a newer CLI release is available
PS> eph update-check
# Configure (creates build/ and toolchain files)
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
# Compile all targets (daemon, CLI, relay, tests)
cmake --build build --parallel
# Optional: execute the full test suite
ctest --test-dir build --output-on-failure
Usa -DEPHEMERALNET_BUILD_TESTS=OFF per saltare i binari di test oppure -GNinja se preferisci le build Ninja.
Il manuale operativo completo, il riferimento al protocollo e le guide di osservabilità sono disponibili su eph.shardian.com. Copie offline sono rispecchiate in docs/ per la revisione in ambienti isolati.
Le pull request sono benvenute: inizia con una proposta in docs/todo.md oppure apri una Discussione su GitHub per allinearci sull'ambito. I nuovi moduli dovrebbero includere note di progettazione, hook di telemetria e test deterministici in tests/.
EphemeralNet è rilasciato sotto la Licenza MIT. Contribuendo, accetti che il tuo lavoro sarà concesso in licenza MIT e che hai il diritto di farlo.