Kademlia (kad)

Definition - Was bedeutet Kademlia (Kad)?

Kademlia ist ein verteiltes Hash-Table-Kommunikationsprotokoll (DHT) für dezentrale Peer-to-Peer-Netzwerke.

Das Kademlia-Netzwerk besteht aus einer Vielzahl von Knoten, die über das User Datagram Protocol (UDP) miteinander interagieren. Jeder Knoten im Netzwerk wird durch eine eindeutige Binärzahl identifiziert, die als Knoten-ID bezeichnet wird. Die Knoten-ID wird verwendet, um Werte (Datenblock) im Kademlia-Algorithmus zu lokalisieren. Die Werte sind auch innerhalb eines Kademlia-Netzwerks mit dem Schlüssel eines bestimmten Werts, einer Binärzahl fester Länge, verknüpft.

Technische.me erklärt Kademlia (Kad)

Im Jahr 2002 führten Petar Maymounkov und David Mazieres das Kademlia-Netzwerk ein.

Es wird durch zwei standardisierte Begriffe, Alpha und K, und einen dritten unregelmäßigen Begriff, B, kategorisiert. Das Kademlia-Netzwerk besteht aus Netzwerkknoten und die Knoten-ID bietet eine direkte Roadmap für die Datei- oder Ressourcensuche.

Der Kademlia-Netzwerkalgorithmus benötigt die Informationen über den zugehörigen Schlüssel für die Suche nach bestimmten Werten. Die Suche erfolgt in mehreren Schritten; In jedem Schritt sucht der Algorithmus nach dem Knoten, der dem Schlüssel des verbundenen Knotens am nächsten liegt. Aufgrund seiner dezentralen Struktur baut Kademlia eine starke Verteidigung gegen einen Denial-of-Service-Angriff auf. Die dezentrale Struktur ist gleichermaßen vorteilhaft, wenn die Knoten überflutet werden.

Kademlia ist in Filesharing-Netzwerken weit verbreitet, da es die Suche nach Informationen in Filesharing-Netzwerken recht einfach macht. Dies liegt daran, dass Schlüsselwörter für die Suche nach Dateinamen verwendet werden und jeder Dateiname in seine Grundwörter unterteilt ist. Solche speziellen Schlüsselwörter werden gewürfelt und zusammen mit dem entsprechenden Datei-Hash und Dateinamen in den Netzwerkspeicher gestellt. Öffentliche Netzwerke, die auf dem Kademlia-Netzwerkalgorithmus basieren, umfassen

  • Kad Netzwerk
  • Overnet
  • BitTorrent
  • Osiris sps
  • Gnutella

Kademlia ist auch in Bibliotheken implementiert, einschließlich

  • Hashmir
  • SharkyPy
  • Mojito