
Uma rede P2P efêmera, segura e descentralizada em C++. Possui um DHT personalizado, transporte criptografado e travessia NAT autônoma usando relays assíncronos de alto desempenho (epoll/kqueue).
Uma rede P2P segura com Relay personalizado para NATs hostis, construída em C++20.
Esquecimento programável para armazenamento ponto a ponto de alta segurança.
A Shardian projeta infraestrutura para equipes que levam garantias de exclusão tão a sério quanto a confidencialidade. EphemeralNet é nosso daemon de pesquisa em C++20 para dados que devem desaparecer: um protocolo P2P que usa semânticas de tempo-de-vida (TTL) como restrição de primeira classe. Em vez de mutilar enxames estilo BitTorrent em políticas de retenção ad hoc, o EphemeralNet trata cada manifesto, chunk e dica de roteamento como material descartável cuja vida útil é negociada na borda e criptograficamente imposta.
Cada nó executa eph, um daemon compacto que expõe um soquete de controle inspirado no gRPC e uma CLI remota. O núcleo combina uma DHT Kademlia com reconhecimento de TTL, sessões ChaCha20/HMAC, Compartilhamento de Segredo de Shamir para pulverização de chaves e ganchos de limpeza determinísticos para que o estado expirado evapore simultaneamente entre camadas de armazenamento, tabelas de roteamento e manifestos. O resultado é uma malha que pode gossipar, armazenar e buscar como uma overlay de CDN moderna — garantindo que os dados saiam de existência no prazo.
Ao contrário de sistemas de arquivamento, EphemeralNet otimiza para correção temporal: ele verifica que um chunk não pode sobreviver ao seu prazo, mesmo que peers fiquem offline. Isso o torna ideal para salas de dados de incidentes, edições colaborativas temporárias e qualquer carga de trabalho que precise de barreiras de Confiança Zero para exclusão.
flowchart LR
subgraph "Workstation do Operador"
CLI["eph CLI<br/>(shell remoto)"]
end
subgraph "Host Local"
Demônio["eph daemon<br/>(kernel de controle e dados)"]
end
subgraph Malha
DHT["DHT Kademlia<br/>(indexada por TTL)"]
Relés["STUN/TURN + Relay"]
Peers["Enxame de Peers"]
end
CLI -->|controle estilo gRPC| Demônio
Demônio -->|anunciar/armazenar/buscar| DHT
Demônio -->|travessia NAT| Relés
Demônio <-->|sessões ChaCha20| Peerseph expõe tanto o serviço de fundo quanto uma superfície de controle remoto para operações automatizáveis.| Plataforma | Comando |
|---|---|
| Linux e macOS | curl -sSf https://eph.shardian.com/install.sh | sh |
| Windows (PowerShell) | iwr https://eph.shardian.com/install.ps1 -useb | iex |
Os scripts de instalação baixam o artefato da versão mais recente do GitHub, colocam
ephno seu PATH e exibem instruções de acompanhamento.
# Iniciar o daemon com plano de controle loopback, transporte TCP na porta 45000
PS> eph start --storage-dir C:\temp\ephemeral --control-host 127.0.0.1
# Armazenar um arquivo com TTL de 15 minutos; PoW é negociado automaticamente
PS> eph store secrets.bin --ttl 900
# Buscar via manifesto; --direct-only mantém tráfego apenas em peers explicitamente anunciados
PS> eph fetch eph://6c5f... --direct-only --out C:\downloads
# Inspecionar saúde do nó, saturação da DHT e status do Relay
PS> eph status --verbose
# Verificar se existe uma versão mais nova da CLI disponível
PS> eph update-check
# Configurar (cria build/ e arquivos de toolchain)
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
# Compilar todos os alvos (daemon, CLI, relay, testes)
cmake --build build --parallel
# Opcional: executar a suíte de testes completa
ctest --test-dir build --output-on-failure
Use -DEPHEMERALNET_BUILD_TESTS=OFF para pular binários de teste ou -GNinja se preferir compilações com Ninja.
O manual de operações completo, a referência do protocolo e os guias de observabilidade estão em eph.shardian.com. Cópias offline estão espelhadas em docs/ para revisão em ambientes isolados.
Pull requests são bem-vindos — comece com uma proposta em docs/todo.md ou abra uma Discussão no GitHub para alinharmos o escopo. Novos módulos devem incluir notas de design, ganchos de telemetria e testes determinísticos em tests/.
EphemeralNet é distribuído sob a Licença MIT. Ao contribuir, você concorda que seu trabalho será licenciado sob MIT e que você tem o direito de fazê-lo.