Also, ich verstehe völlig $DUSK nutzt etwas namens Kadcast als Hauptprotokoll, um Blöcke, Transaktionen und Konsensabstimmungen über das Netzwerk zu verbreiten. Das ist nichts, das man von Grund auf neu gebaut hat; es nimmt tatsächlich viel Inspiration aus dem Aufbau einer verteilten Hash-Tabelle nach Kademlia, insbesondere aus dem gesamten Konzept der XOR-Distanz. Im Grunde sendet es anstatt einfach Nachrichten an jeden einzelnen Nachbarn zu schicken wie bei alten Gossip-Protokollen klüger darüber — es leitet Daten über bestimmte, strukturierte Pfade weiter, indem es ausgewählte Peers nutzt.
Etwas aufgeschlüsselt:
Jeder Knoten hat eine eigene Kennung, und die XOR-Distanz zwischen Knoten bestimmt, wie Peers zueinander organisiert werden.
Peers sind nicht einfach zufällig verbunden, sondern sie werden in sogenannte Routing-Buckets gruppiert, basierend darauf, wie weit sie von einem Knoten entfernt sind.
Wenn eine Nachricht sich verbreiten muss, geht sie nicht sofort an alle auf einmal — sie wird stattdessen über eine ausgewählte Menge von Peers weitergereicht, anstatt das gesamte Netzwerk zu fluten.
Da jeder Bucket mehr als einen Peer enthält, gibt es eine Art Sicherheitsnetz: Wenn ein Peer ausfällt oder versagt, gibt es andere Pfade, die bereit sind, die Nachricht weiterzutragen.
Außerdem ist eine Sicherheitsstufe eingebaut: Die Nachrichten werden signiert, und bevor irgendetwas weitergeleitet wird, wird diese Signatur überprüft. Das hilft dabei, bösartige Akteure davon abzuhalten, daran herumzubasteln, wie sich Daten ausbreiten.
Und was die tatsächliche Performance angeht: @Dusk hat berichtet, dass dieses Setup den Bandbreitenverbrauch um etwa 25–50% im Vergleich zu regulären Gossip-Protokollen senkt. Dabei sollte man jedoch im Hinterkopf behalten, dass diese Zahl aus den eigenen Tests und Design-Betrachtungen von Dusk stammt — es ist also keine feste Garantie, die in jeder einzelnen Konfiguration oder Situation überall zuverlässig gilt. #dusk
Etwas aufgeschlüsselt:
Jeder Knoten hat eine eigene Kennung, und die XOR-Distanz zwischen Knoten bestimmt, wie Peers zueinander organisiert werden.
Peers sind nicht einfach zufällig verbunden, sondern sie werden in sogenannte Routing-Buckets gruppiert, basierend darauf, wie weit sie von einem Knoten entfernt sind.
Wenn eine Nachricht sich verbreiten muss, geht sie nicht sofort an alle auf einmal — sie wird stattdessen über eine ausgewählte Menge von Peers weitergereicht, anstatt das gesamte Netzwerk zu fluten.
Da jeder Bucket mehr als einen Peer enthält, gibt es eine Art Sicherheitsnetz: Wenn ein Peer ausfällt oder versagt, gibt es andere Pfade, die bereit sind, die Nachricht weiterzutragen.
Außerdem ist eine Sicherheitsstufe eingebaut: Die Nachrichten werden signiert, und bevor irgendetwas weitergeleitet wird, wird diese Signatur überprüft. Das hilft dabei, bösartige Akteure davon abzuhalten, daran herumzubasteln, wie sich Daten ausbreiten.
Und was die tatsächliche Performance angeht: @Dusk hat berichtet, dass dieses Setup den Bandbreitenverbrauch um etwa 25–50% im Vergleich zu regulären Gossip-Protokollen senkt. Dabei sollte man jedoch im Hinterkopf behalten, dass diese Zahl aus den eigenen Tests und Design-Betrachtungen von Dusk stammt — es ist also keine feste Garantie, die in jeder einzelnen Konfiguration oder Situation überall zuverlässig gilt. #dusk