ed3k-netwerk

Een nieuw netwerk naast eD2K

ed3k is het eigen bestandsdelingsnetwerk van eMule Qt. Het behoudt wat eD2K twintig jaar lang liet werken — bestanden die via hun hash bekend zijn, een Kademlia-netwerk om ze te vinden, optionele servers en uploadwachtrijen — en bouwt de onderdelen die verouderd zijn opnieuw op: het berichtformaat, het transport en de manier waarop peers bewijzen wie ze zijn.

eMule Qt draait beide netwerken naast elkaar. Het dialoogvenster Netwerkinformatie en het deelvenster Mijn info van het Servers-venster tonen direct onder de eD2K- en Kad-secties een sectie ed3k-netwerk, zodat je ze regel voor regel kunt vergelijken.

De secties Kad en ed3k-netwerk van het dialoogvenster Netwerkinformatie, met vervaagde adressen, ID's en hashes

Dezelfde ideeën, nieuwe namen

De meeste rijen in de ed3k-sectie hebben een eD2K-tegenhanger. De belangrijkste: wat eD2K High ID noemt en Kad Open, heet in ed3k Router.

eD2K / Kad ed3k Wat het betekent
High ID / Kad Open Router: Ja Anderen kunnen je rechtstreeks bereiken. Een router bewaart Kad-records en helpt nodes achter een firewall.
Low ID / Kad Firewalled Router: Nee (een leaf) Je zit achter NAT. Peers bereiken je nog steeds, via relays en hole punching.
Kad UDP-status IPv4 / IPv6 Per familie apart getest: Open, Cone NAT of Symmetrische NAT.
Kad-buddy Relays Routers die verbindingsverzoeken aan je doorgeven. Een leaf heeft er minimaal twee.
Bediende buddy’s Bediende buddy’s Leaves waarvoor je router als relay fungeert.
eD2K-server Indexnode Een gewone ed3k-node die alles indexeert. Geen aparte serversoftware of ander protocol.
Gebruikers-hash + Kad-ID Node-ID Eén ID voor alles: de hash van de eigen ondertekeningssleutel van de node.
Client-ID — Niet nodig. Peers vertellen je op welk adres ze je zien.
TCP-poort + UDP-poort UDP-poort Eén poort voor alles. Hetzelfde nummer als je eD2K TCP-poort.
Obfuscatie (optioneel) Verbindingen: Geobfusceerd Altijd aan. Er is geen platte modus.
Kad Geïndexeerd Geïndexeerd Records die je node voor het netwerk opslaat, met hun grootte.

De rij Status is net als bij eD2K gekleurd: groen wanneer je als router verbonden bent, oranje zolang je als leaf verbonden bent.

Belangrijkste verbeteringen ten opzichte van eD2K

  • Standaard versleuteld. Elk pakket gaat via geobfusceerde QUIC, Kad en bestandsoverdrachten evengoed. Er wordt nooit iets leesbaar verstuurd en het verkeer is moeilijk te herkennen.
  • Low ID is niet langer tweederangs. Bereikbaarheidstests, relays en UDP hole punching maken deel uit van het kernprotocol, zodat twee nodes achter een firewall altijd naar elkaar kunnen overdragen.
  • IPv4 en IPv6 in één netwerk. Beide zijn volwaardig, en de bereikbaarheid wordt voor elk apart gecontroleerd.
  • Eén poort. Eén UDP-poort in plaats van een TCP- en een UDP-poort die je moet forwarden.
  • Echte identiteiten. Elke node heeft een Ed25519-sleutel en zijn node-ID is de hash van die sleutel. Niemand kan het ID van een andere node overnemen.
  • Foute data meteen opgemerkt. Bestanden worden geïdentificeerd met een BLAKE3-hash en gecontroleerd in blokken van 256 KiB, zodat een beschadigd blok bij aankomst wordt opgemerkt en de afzender bekend is — in plaats van dat een deel van 9,28 MB later faalt.
  • Moeilijker aan te vallen. Kad-posities zijn gekoppeld aan het IP-adres van de node en het aantal nodes per adresbereik is beperkt, tegen vloeden van nepnodes. Trefwoordrecords worden ondertekend door hun publicist, wat efficiënte spamfiltering mogelijk maakt.
  • Iedereen kan een server draaien. Een indexnode is gewoon een node met één extra mogelijkheid.
  • Slankere berichten. Protocol Buffers met zstd-compressie vervangen de met de hand ingepakte tags van eD2K.
  • Ruimte om te groeien. Extensies voegen bestandssets, torrents, Usenet-berichten en links van bestandshosters toe als bronnen van hetzelfde bestand, plus chatrooms en meer — zonder oudere nodes te breken.

Werkt samen met eD2K, niet ertegen

Een gedeeld bestand draagt ook zijn eD2K-hash, zodat eMule-peers en ed3k-nodes dezelfde download bedienen. eMule Qt gebruikt je eD2K TCP-poortnummer voor ed3k en leidt je eD2K-gebruikers-hash af van je ed3k-node-ID, zodat elk eD2K-bronrecord — van servers, Kad of bronuitwisseling — andere eMule Qt-clients al vertelt dat je ed3k spreekt en waar ze je kunnen vinden. Klassieke eMule-clients merken niets.

.:Zet het aan
De ed3k-node staat standaard aan. Met Opties → ed3k → “ed3k-node inschakelen” schakel je hem uit of weer in. Het netwerk is jong: laat als je kunt een node dag en nacht draaien — elke router maakt het sneller voor iedereen. Het protocol is een open specificatie op GitHub in het publieke domein; het is nog een concept en kan veranderen.

 

Terug naar alle functies