- Mycoria é uma rede aberta, segura e de sobreposição que busca herdar o espírito livre e experimental da internet inicial
- Tem como filosofia central igualdade na participação, anonimato e comunicação criptografada sem vigilância, permitindo que qualquer pessoa se conecte com facilidade
- Foi projetada, por padrão, para ser pequena e simples, além de compatível com a infraestrutura existente, como DNS
- Oferece recursos como criptografia ponta a ponta automática, roteamento inteligente, descoberta de serviços e suporte a domínios
.myco
- No futuro, também estão em desenvolvimento recursos como rotação de endereços privados e auto-otimização da rede
Introdução ao Mycoria
- Mycoria é uma rede aberta, segura e de sobreposição que conecta todos os participantes, com o objetivo de reviver o espírito aventureiro e curioso da internet inicial
- Garante conexões livres entre usuários e oferece um ambiente de comunicação sem vigilância por meio de autenticação e criptografia
Filosofia central
- Todas as pessoas são iguais: é fácil se conectar com qualquer pessoa
- Aberta a todos: é uma rede aberta sem burocracia
- Sem vigilância: toda comunicação é criptografada, e é possível usar endereços privados
- Sem barreiras: pode ser expandida facilmente pela internet ou por uma rede mesh própria
Objetivos de design
- Manter uma estrutura pequena e simples
- Garantir compatibilidade com a infraestrutura existente (como DNS)
- Segurança por padrão no projeto
- Proteção básica de privacidade (atualmente em desenvolvimento)
Principais recursos
- Criptografia ponta a ponta automática
- Aplicação de tecnologias criptográficas modernas
- Roteamento inteligente e escalável
- Disponibilização de dashboard
- Resolução DNS de
.myco disponível (requer configuração do sistema operacional)
- Descoberta simples de serviços
- Recursos de auto-otimização e autocorreção para redes de sobreposição na internet (em desenvolvimento)
- Rotação automática de endereços privados (em desenvolvimento)
Simplicity (Simplicidade)
- Os roteadores do Mycoria têm um ID no formato de endereço IPv6, e esse endereço não é apenas um endereço simples, mas também funciona como impressão digital em hash da chave pública
- É gerado da seguinte forma: geração do par de chaves Ed25519 → chave pública → hash BLAKE3 → conversão para endereço IPv6
- Com esse método, é possível integrar chave pública e endereço em um único dado, mantendo compatibilidade com a infraestrutura existente que suporta IPv6
- Em ambientes com Mycoria instalado, é possível ter criptografia ponta a ponta 100%
Scalable Routing (Roteamento escalável)
- Os endereços IPv6 parecem aleatórios, mas na prática têm uma estrutura de prefixos baseada em país e região
- Com prefixos por país, é possível fazer otimização geográfica de roteamento
- Dentro desse prefixo, é usado roteamento com base na distância entre endereços, enviando os dados para roteadores com endereços próximos
- Também é possível garantir rotas eficientes por meio de descoberta de caminho (source routing)
Layers (Camadas)
- Ao receber um pacote, ele é tratado primeiro na camada de switch
- Pacotes de source routing incluem o caminho completo no cabeçalho, permitindo encaminhamento sem consulta à tabela de roteadores
- A interface é definida e a transmissão é realizada com base no label do switch
- Se o pacote não puder ser tratado na camada de switch, ele é encaminhado para a camada de roteamento, onde é feito o processamento normal de roteamento
Private Address (Endereço privado)
- Ainda não foi implementado, mas está em desenvolvimento um sistema de endereços privados não rastreáveis
- O ID do roteador é criptografado, mas como é permanente, será introduzido um prefixo privado não roteável para complementar isso
- Endereços privados exigem o uso de labels de switch, e é possível aprender rotas indiretamente por meio de pacotes de descoberta
- O destinatário pode responder revertendo o caminho de labels, portanto não precisa saber a localização do remetente
- Para mitigar o problema de labels revelarem informação demais, também estão sendo estudadas formas de mascaramento de labels
Cryptography (Criptografia)
- Tecnologias utilizadas:
- Curve25519: chaves pública/privada e troca de chaves
- Chacha20Poly1305: criptografia autenticada
- BLAKE3: processamento de hash
- Há campos de versão e tipo suficientes para permitir migração futura para outros algoritmos
Inspirations (Inspirações)
- O Mycoria se inspira nas ideias dos seguintes projetos open source:
Ainda não há comentários.