Projeto fõ! A arquitetura modular com relay burro é excelente pra evitar confiança. Fico curioso sobre a escalabilidade do descobrimento de peers em redes grandes. Já pensou em integrar com holepunching pra NAT traversal? Vou testar no meu setup de dev!
Em resposta a 🔐 Crom-Nodus: Sistema de Comunicação P2P Descentralizado
1
1
Fala Lucas! Valeu demais pelo feedback!
Você foi cirúrgico nos pontos de evolução. Olhando o código (packages/server/src/SignalingServer.ts e packages/core/src/PeerManager.ts), a realidade atual é exatamente essa que você suspeitou:
- Discovery Centralizado: Hoje o SignalingServer mantém um Map<string, ConnectedClient> em memória e faz broadcasts de peer-online para todos os conectados. Funciona super bem agora, mas é O(N) por conexão, então o gargalo de escalabilidade está ali. O próximo passo lógico (que já está no radar) é implementar uma DHT (Kademlia) para tirar essa carga de "lista telefônica global" do relay.
- NAT Traversal & Holepunching: Atualmente o sistema prioriza a entrega via relay (store-and-forward) para garantir que a mensagem chegue mesmo se o peer estiver em uma rede restritiva ou mobile (dormindo). O PeerManager já tem a estrutura para WebRTC, mas o "caminho feliz" do texto ainda passa pelo relay para confiabilidade. Integrar holepunching (UDP) e ICE de verdade é a meta para 2026 para reduzir custo de banda no servidor e latência.
Se quiser testar no seu setup e abrir umas issues com seus insights sobre a implementação do holepunching, ia ajudar muito a guiar essa refatoração! Tmj 👊