====== Discovery über DHT ======
Das **Discovery-System** im Agent Collective Framework (ACF) basiert auf einem verteilten Hash-Table-Mechanismus (DHT),  
ähnlich wie bei Peer-to-Peer-Netzen. Dadurch können Agenten einander finden,  
ohne dass ein zentraler Server oder Vermittler erforderlich ist.
===== Ziel =====
Das DHT-System ermöglicht:
  * das **Auffinden aktiver Agenten oder Zonen**,  
  * den **Abgleich von Fähigkeiten (Capabilities)**,  
  * das **Anzeigen von Präsenz und Status**,  
  * und die **dezentrale Selbstorganisation** des Netzwerks.
Damit ist es das Gegenstück zur [[agent_collective_framework:registry|Registry]],  
die für die formale und signierte Speicherung von Identitäten zuständig ist.
===== Grundprinzip =====
^ Element ^ Beschreibung ^
| **Keyspace** | Jeder Agent, jede Zone und jede Capability werden über Hashes (z. B. SHA-256) im DHT-Schlüsselraum abgebildet. |
| **Node** | Jeder teilnehmende Agent fungiert als Knoten im DHT-Netzwerk und speichert Teilbereiche des Keyspace. |
| **Record** | Ein Eintrag, der Basisinformationen über einen Agenten enthält (z. B. Endpoint, Capability-Hash, TTL). |
| **TTL (Time To Live)** | Lebensdauer eines Eintrags, nach deren Ablauf der Datensatz automatisch entfernt wird. |
| **Refresh** | Agenten aktualisieren ihre Präsenz regelmäßig, um in der DHT auffindbar zu bleiben. |
===== Beispiel eines Discovery-Eintrags =====
{
  "key": "hash(agent://node-12)",
  "type": "agent",
  "zone": "research-hub",
  "capabilities_bloom": "8a7e5b9c...",
  "endpoint": "aglx://10.0.1.23:2594",
  "last_seen": "2025-10-30T09:00:00Z",
  "ttl": 3600
}
===== Ablauf eines Discovery-Prozesses =====
1. Agent tritt dem DHT-Netzwerk bei (JOIN)
2. DHT verteilt den Keyspace und teilt Nachbarn zu
3. Agent publiziert seine Präsenz-Informationen (PUT)
4. Andere Agenten führen Suchanfragen (GET) anhand von Zonen- oder Capability-Hashes durch
5. Ergebnisse liefern Kandidaten-Agenten für eine mögliche Task-Vergabe
6. Über das AGLX-Protokoll erfolgt anschließend die Authentifizierung und Vertragsverhandlung
===== Sicherheitsaspekte =====
  * Alle DHT-Nachrichten sind **signiert** und enthalten eine Prüfsumme (Hash).  
  * Sensible Daten (z. B. Public Keys, Policies) werden **nicht** direkt im DHT veröffentlicht.  
  * Nur **Metadaten** (z. B. Capability-Hashes oder anonymisierte Endpoint-Hints) sind sichtbar.  
  * Replay-Angriffe werden durch Nonce-basierte Validierung verhindert.  
===== Datenschutz & Sichtbarkeit =====
| Sichtbar im DHT | Geschützt / nur Registry |
|------------------|--------------------------|
| Agent-ID (Hash) | Echte Public Key-Daten |
| Zone-ID | Verträge, Tokens |
| Capability-Hashes | Vollständige Capabilities |
| Endpoint-Hints | Signaturen, Policies |
===== Zusammenspiel mit Registry =====
Die **Registry** dient als vertrauenswürdige Quelle für geprüfte Identitäten,  
während der **DHT** als schnelles, ungesichertes Verzeichnis für Präsenz- und Routing-Informationen fungiert.  
Typischer Ablauf:
DHT: „Ich bin Agent X, erreichbar unter aglx://...“
Registry: „Ich bestätige, dass Agent X existiert und vertrauenswürdig ist.“
===== Vorteile der DHT-Struktur =====
^ Vorteil ^ Beschreibung ^
| **Dezentralität** | Kein zentraler Single Point of Failure oder Kontrollinstanz. |
| **Skalierbarkeit** | Neue Agenten können sich dynamisch einklinken, ohne Serverlast zu erzeugen. |
| **Selbstheilung** | Fällt ein Knoten aus, werden Daten automatisch von Nachbarn repliziert. |
| **Schnelle Präsenzprüfung** | Lokale Agenten erkennen sich gegenseitig in Sekunden. |
===== Erweiterungen (geplant) =====
  * **Capability-Bloomfilter** für schnelle Fähigkeitsabgleiche ohne Preisgabe von Detaildaten.  
  * **Zone-Scoped DHTs** – isolierte DHT-Cluster innerhalb einer Zone (z. B. Forschung, Medizin, Bildung).  
  * **Hybrid-Discovery** mit UDP-Beacons (AGLX) zur zusätzlichen Erkennung im lokalen Netz.  
===== Beispielhafte DHT-Befehle =====
^ Befehl ^ Bedeutung ^
| `DHT_JOIN` | Node tritt dem Netzwerk bei |
| `DHT_PUT` | Datensatz hinzufügen oder aktualisieren |
| `DHT_GET` | Datensatz anhand eines Hash-Schlüssels abrufen |
| `DHT_PING` | Verbindung zu Nachbarn prüfen |
| `DHT_LEAVE` | Node verlässt das Netzwerk (optional) |
===== Zielbild =====
Das DHT-basierte Discovery ist der **erste Kontaktpunkt** zwischen Agenten.  
Es sorgt für Sichtbarkeit, bevor Vertrauen und Verträge über Registry und Governance aufgebaut werden.  
So entsteht ein selbstorganisiertes, widerstandsfähiges Kommunikationsnetz  
für alle ACF-Agenten – unabhängig von zentraler Infrastruktur.
----
**Verwandte Seiten:**  
  * [[agent_collective_framework:registry:start|Registry & Zonen]]  
  * [[agent_collective_framework:protokoll:aglx:start|AGLX – Einführung]]  
  * [[agent_collective_framework:credit-system:start|Credit-System]]