Uma nova rede ao lado da eD2K
ed3k é a rede própria de partilha de ficheiros do eMule Qt. Mantém o que fez a eD2K funcionar durante vinte anos — ficheiros identificados pelo seu hash, uma rede Kademlia para os encontrar, servidores opcionais e filas de upload — e reconstrói as partes que envelheceram: o formato de transmissão, o transporte e a forma como os pares provam quem são.
O eMule Qt executa ambas as redes lado a lado. A janela Informações da rede e o painel As minhas informações da janela Servidores mostram uma secção Rede ed3k logo abaixo das secções eD2K e Kad, para que possa compará-las linha a linha.

As mesmas ideias, novos nomes
A maioria das linhas da secção ed3k tem um equivalente na eD2K. O mais importante: o que a eD2K chama High ID e a Kad chama Aberto é um Router na ed3k.
| eD2K / Kad | ed3k | O que significa |
|---|---|---|
| High ID / Kad Aberto | Router: Sim | Os outros podem contactá-lo diretamente. Um router guarda registos Kad e ajuda nós atrás de firewall. |
| Low ID / Kad Com firewall | Router: Não (uma folha) | Está atrás de NAT. Os pares continuam a alcançá-lo, através de relays e hole punching. |
| Estado UDP da Kad | IPv4 / IPv6 | Testado separadamente para cada família: Aberto, Cone NAT ou NAT simétrico. |
| Buddy Kad | Relays | Routers que lhe reencaminham pedidos de ligação. Uma folha mantém pelo menos dois. |
| Buddies servidos | Buddies servidos | Folhas para as quais o seu router faz relay. |
| Servidor eD2K | Nó de índice | Um nó ed3k normal que indexa tudo. Sem software de servidor nem protocolo separados. |
| Hash de utilizador + ID Kad | ID do nó | Um só ID para tudo, o hash da chave de assinatura do próprio nó. |
| ID de cliente | — | Desnecessário. Os pares indicam-lhe o endereço com que o veem. |
| Porta TCP + porta UDP | Porta UDP | Uma porta para tudo. O mesmo número da sua porta TCP eD2K. |
| Ofuscação (opcional) | Ligações: Ofuscadas | Sempre ativa. Não existe modo simples. |
| Kad Indexado | Indexado | Registos que o seu nó guarda para a rede, com o respetivo tamanho. |
A linha Estado tem as mesmas cores da eD2K: verde quando está ligado como router, laranja quando está ligado como folha.
Principais melhorias face à eD2K
- Cifrada por conceção. Todos os pacotes viajam por QUIC ofuscado, tanto na Kad como nas transferências de ficheiros. Nada é enviado em claro e o tráfego é difícil de identificar.
- O Low ID deixa de ser de segunda classe. Testes de acessibilidade, relays e UDP hole punching fazem parte do protocolo base, pelo que dois nós atrás de firewall conseguem sempre transferir entre si.
- IPv4 e IPv6 numa só rede. Ambos são de primeira classe e a acessibilidade é verificada separadamente para cada um.
- Uma porta. Uma única porta UDP em vez de uma porta TCP e outra UDP para encaminhar.
- Identidades reais. Cada nó tem uma chave Ed25519 e o seu ID de nó é o hash dessa chave. Ninguém pode apoderar-se do ID de outro nó.
- Dados maus detetados de imediato. Os ficheiros são identificados por um hash BLAKE3 e verificados em blocos de 256 KiB, pelo que um bloco corrompido é detetado à chegada e o seu remetente é conhecido — em vez de uma parte de 9,28 MB falhar mais tarde.
- Mais difícil de atacar. As posições na Kad ficam associadas ao endereço IP do nó e o número de nós por intervalo de endereços é limitado, contra inundações de nós falsos. Os registos de palavras-chave são assinados pelo publicador, o que permite filtrar spam com eficiência.
- Qualquer pessoa pode ter um servidor. Um nó de índice é apenas um nó com mais uma capacidade.
- Mensagens mais leves. Protocol Buffers com compressão zstd substituem as tags empacotadas à mão da eD2K.
- Espaço para crescer. As extensões acrescentam conjuntos de ficheiros, torrents, mensagens Usenet e links de alojamento de ficheiros como fontes do mesmo ficheiro, salas de chat e muito mais — sem quebrar nós mais antigos.
Funciona com a eD2K, não contra ela
Um ficheiro partilhado também leva o seu hash eD2K, pelo que pares eMule e nós ed3k servem o mesmo download. O eMule Qt usa o número da sua porta TCP eD2K para a ed3k e deriva o seu hash de utilizador eD2K a partir do seu ID de nó ed3k, de modo que cada registo de fonte eD2K — vindo de servidores, Kad ou troca de fontes — já indica a outros clientes eMule Qt que fala ed3k e onde o encontrar. Os clientes eMule clássicos não notam nada.