ed3k-Netzwerk

Ein neues Netzwerk neben eD2K

ed3k ist das eigene Filesharing-Netzwerk von eMule Qt. Es behält, was eD2K zwanzig Jahre lang funktionieren ließ – Dateien, die über ihren Hash bekannt sind, ein Kademlia-Netzwerk zum Auffinden, optionale Server und Upload-Warteschlangen – und erneuert die Teile, die gealtert sind: das Wire-Format, den Transport und die Art, wie Peers ihre Identität nachweisen.

eMule Qt betreibt beide Netzwerke parallel. Der Dialog Netzwerkinformationen und der Bereich Meine Info im Server-Fenster zeigen direkt unter den Abschnitten für eD2K und Kad einen Abschnitt ed3k-Netzwerk, sodass sich beide Zeile für Zeile vergleichen lassen.

Die Abschnitte Kad und ed3k-Netzwerk im Dialog Netzwerkinformationen, mit unkenntlich gemachten Adressen, IDs und Hashes

Gleiche Ideen, neue Namen

Die meisten Zeilen im ed3k-Abschnitt haben ein eD2K-Pendant. Das Wichtigste: Was eD2K High ID und Kad Offen nennt, ist in ed3k ein Router.

eD2K / Kad ed3k Bedeutung
High ID / Kad Offen Router: Ja Andere können dich direkt erreichen. Ein Router speichert Kad-Einträge und hilft Knoten hinter Firewalls.
Low ID / Kad Firewalled Router: Nein (ein Leaf) Du befindest dich hinter NAT. Peers erreichen dich trotzdem, über Relays und Hole Punching.
Kad-UDP-Status IPv4 / IPv6 Für jede Adressfamilie einzeln getestet: Offen, Cone-NAT oder Symmetrisches NAT.
Kad-Buddy Relays Router, die Verbindungsanfragen an dich weiterleiten. Ein Leaf hält mindestens zwei.
Bediente Buddies Bediente Buddies Leaves, für die dein Router als Relay dient.
eD2K-Server Index-Knoten Ein gewöhnlicher ed3k-Knoten, der alles indiziert. Keine separate Server-Software, kein separates Protokoll.
Benutzer-Hash + Kad-ID Knoten-ID Eine ID für alles: der Hash des eigenen Signaturschlüssels des Knotens.
Client-ID — Nicht nötig. Peers teilen dir die Adresse mit, unter der sie dich sehen.
TCP-Port + UDP-Port UDP-Port Ein Port für alles. Dieselbe Nummer wie dein eD2K-TCP-Port.
Obfuskierung (optional) Verbindungen: Obfuskiert Immer aktiv. Einen Klartextmodus gibt es nicht.
Kad Indiziert Indiziert Einträge, die dein Knoten für das Netzwerk speichert, samt Größe.

Die Zeile Status ist wie bei eD2K eingefärbt: grün, wenn du als Router verbunden bist, orange, solange du als Leaf verbunden bist.

Die wichtigsten Verbesserungen gegenüber eD2K

  • Verschlüsselt von Grund auf. Jedes Paket wird über obfuskiertes QUIC übertragen, Kad und Dateitransfers gleichermaßen. Nichts wird je im Klartext gesendet, und der Datenverkehr lässt sich nur schwer identifizieren.
  • Low ID ist keine Bürger zweiter Klasse mehr. Erreichbarkeitstests, Relays und UDP-Hole-Punching sind Teil des Kernprotokolls, sodass zwei Knoten hinter Firewalls immer Daten austauschen können.
  • IPv4 und IPv6 in einem Netzwerk. Beide sind gleichberechtigt, und die Erreichbarkeit wird für jede einzeln geprüft.
  • Ein Port. Ein einziger UDP-Port statt eines TCP- und eines UDP-Ports, die weitergeleitet werden müssen.
  • Echte Identitäten. Jeder Knoten hat einen Ed25519-Schlüssel, und seine Knoten-ID ist der Hash dieses Schlüssels. Niemand kann die ID eines anderen Knotens übernehmen.
  • Fehlerhafte Daten werden sofort erkannt. Dateien werden über einen BLAKE3-Hash identifiziert und in 256-KiB-Blöcken geprüft, sodass ein beschädigter Block bei Ankunft auffällt und sein Absender bekannt ist – statt dass später ein 9,28-MB-Part fehlschlägt.
  • Schwerer anzugreifen. Kad-Positionen sind an die IP-Adresse des Knotens gebunden, und die Zahl der Knoten pro Adressbereich ist begrenzt, als Schutz vor Fake-Knoten-Fluten. Schlüsselwort-Einträge werden von ihrem Herausgeber signiert, was effizientes Spam-Filtern ermöglicht.
  • Jeder kann einen Server betreiben. Ein Index-Knoten ist einfach ein Knoten mit einer zusätzlichen Fähigkeit.
  • Schlankere Nachrichten. Protocol Buffers mit zstd-Kompression ersetzen die von Hand gepackten Tags von eD2K.
  • Raum zum Wachsen. Erweiterungen ergänzen Dateisets, Torrents, Usenet-Beiträge und Links von File-Hostern als Quellen derselben Datei, Chaträume und mehr – ohne ältere Knoten zu beeinträchtigen.

Arbeitet mit eD2K zusammen, nicht dagegen

Eine freigegebene Datei trägt auch ihren eD2K-Hash, sodass eMule-Peers und ed3k-Knoten denselben Download bedienen. eMule Qt verwendet deine eD2K-TCP-Portnummer für ed3k und leitet deinen eD2K-Benutzer-Hash aus deiner ed3k-Knoten-ID ab. So zeigt jeder eD2K-Quelleneintrag – von Servern, aus Kad oder per Quellenaustausch – anderen eMule-Qt-Clients bereits, dass du ed3k sprichst und wo sie dich finden. Klassische eMule-Clients bemerken nichts.

.:Jetzt aktivieren
Der ed3k-Knoten ist standardmäßig aktiviert. Unter Optionen → ed3k → „Enable the ed3k node“ schaltest du ihn aus oder wieder ein. Das Netzwerk ist jung: Wenn möglich, lass einen Knoten rund um die Uhr laufen – jeder Router macht es für alle schneller. Das Protokoll ist eine offene, gemeinfreie Spezifikation auf GitHub; sie ist noch ein Entwurf und kann sich ändern.

 

Zurück zu allen Funktionen