HOPR Basics: Proof of Relay

Melissa Guenthardt
HOPR Deutsch
Published in
5 min readFeb 24, 2022

Das ist die sechste Folge in unserer Serie über die Grundlagen von HOPR. Links zu früheren Folgen findest du am Ende des Artikels.

Der Aufbau eines incentivierten Mixnets birgt ein Paradox: Wie stellt man sicher, dass die Nodes Daten weiterleiten, anstatt nur die Belohnung anzunehmen und keine Arbeit zu leisten?

In der letzten Folge haben wir die Lösung vom Proof of Relay bereits angeteasert. In dieser Folge erklären wir, wie sie funktioniert.

“Trustless Privacy”

Wir können uns nicht darauf verlassen, dass Menschen Regeln befolgen, nur weil es moralisch das Richtige wäre, um zu machen. Wir können uns nicht darauf verlassen, dass Menschen Regeln befolgen, nur weil es moralisch das Richtige wäre, um zu machen. Wir müssen dafür sorgen, dass das Befolgen der Regeln ein rein rationales und profitables Vorgehen ist. Diese Dinge sind die Grundsteine vieler Kryptosysteme und macht sie “trustless” (ein etwas verwirrender Begriff, der bedeutet, dass ein System vertrauenswürdig ist, weil man keinem seiner Mitglieder vertrauen muss). Grundsätzlich gilt: Wenn die Art und Weise, wie das System möchte, dass jemand sich verhält, auch die egoistischste Art und Weise ist, sich zu verhalten, müssen wir uns nicht auf die Nettigkeit und das Wohlwollen anderer verlassen.

Im Fall von HOPR brauchen wir einen Weg, um sicherzustellen, dass jeder gerecht belohnt wird, aber erst, nachdem er oder sie die Daten weitergeleitet hat. Dieser Mechanismus muss dafür sorgen, dass jeder ehrlich bleibt, ohne dass er oder sie explizit nachverfolgt und überprüft wird. Sonst wäre einmal mehr die ganze Arbeit zum Schutz der Privatsphäre, die wir bei der Entwicklung des Mixnets geleistet haben, zunichtegemacht.

Vertrauenswürdige Nodes

In der letzten Folge hatten wir uns einen naiven Ansatz für die Bezahlung von Node Runner angesehen, bei welchem der Absender die komplette Bezahlung für das Senden der Daten durch die einzelnen Nodes im Voraus tätigt, und sich jeder Node Runner jeweils seinen Anteil nimmt und den Rest inkl. Daten weiterleitet.

Das Problem dabei ist jedoch, dass es keine Garantien gibt. Warum nicht einfach das Geld nehmen und die Daten nicht weiterleiten? Die Anonymität des HOPR-Netzwerkes würde es den Nodes ermöglichen, die Belohnung abzusahnen, ohne Arbeit zu leisten. Denn wie wir bereits gelernt haben, kennt immer nur der jeweilige Absender die vollständige Route, die ein Datenpaket nehmen soll. Durch die Vermischung im Mixnet gäbe es daher keine Möglichkeit, nachzuvollziehen, wo eine Weiterleitung nicht stattgefunden hat.

Wir brauchen also eine Möglichkeit, um sicherzustellen, dass die Nodes erst dann bezahlt werden, wenn sie ihre Aufgabe erfüllt haben. Dies ist eine intuitive Lösung, wie wir sie von der Arbeit kennen. Normalerweise werden wir erst nach getaner Arbeit bezahlt, nicht vorher. Aber wie kann das im HOPR-Netzwerk erreicht werden?

Ein einfacher Ansatz wäre es, zu versuchen, dass jede Node in einer Kette die vorherige Node bezahlt. Wenn Dmytro also Daten von Chāo erhält, sendet er Chāos Bezahlung als Belohnung. Aber mit diesem Vorgehen stossen wir wieder auf das altbekannte Problem. Warum sollte sich Dmytro die Mühe machen und Chāo bezahlen? Warum behält Dmytro nicht einfach Chāos Belohnung für sich selbst? Auch hier bedeutet die Privatsphäre des Netzwerks, dass es keine Möglichkeit gäbe, erwischt zu werden.

(Dies ist eine leichte Vereinfachung — schliesslich weiss Chāo, dass er einige Daten an Dmytro geschickt hat und dass er keine Bezahlung erhalten hat. Aber er könnte nicht beweisen, dass es böswillig war. In Netzwerken gehen ständig Dinge schief! Und selbst wenn Dmytro einen den Ruf etablieren würde, keine Belohnungen auszuzahlen, könnte er einfach aus dem Netzwerk aussteigen und mit einer neuen Identität von vorne beginnen. Auch hier ist die Privatsphäre ein zweischneidiges Schwert).

Wie können wir dieses Problem also lösen?

Proof of Relay

Die Innovation von HOPR besteht darin, dass jedes aufeinanderfolgende Node Paar in einer Kette beim Bezug der Belohnung voneinander abhängig ist. Chāo kann die Belohnung erst dann einfordern, wenn er Daten an Dmytro weiterleitet. Dmytro kann die seine Belohnung ebenfalls erst einfordern, wenn er Chāos Bezahlung freigibt.

Dies wird durch eine komplexe kryptografische Technik ermöglicht, die aber eigentlich einfach zu verstehen ist.

Wenn Daten durch das HOPR-Netzwerk gesendet werden, wird für jeden Node in der Kette eine Zahlung generiert. Diese wird mit einem kryptografischen Schlüssel verschlüsselt. Nur, wenn du den gesamten Schlüssel hast, kannst du deine Belohnung einfordern. Fehlt jedoch ein Teil des Schlüssels, ist er wertlos.

Diese Schlüssel werden in also jeweils zwei Hälften geteilt, sodass du nur dann deine Bezahlung einfordern kannst, wenn du beide Hälften besitzt.

Während die Daten die Kette durchlaufen, tauschen aufeinanderfolgende Node Paare die Schlüsselhälften untereinander aus. Chāo tauscht die erste Hälfte seines Schlüssels mit der zweiten Hälfte des Schlüssels von Betty. Er tauscht die erste Hälfte von Dmytros Schlüssel gegen die zweite Hälfte von seinem. Danach kann er seine Zahlung einfordern, aber nur, weil die Daten erfolgreich von Betty zu Chāo zu Dmytro weitergeleitet wurden.

Dieser Mechanismus zwingt jeden dazu, sich an die Regeln zu halten. Wenn du eine Node betreibst, und Daten von mir erhältst, kann keiner von uns die Belohnung einfordern, bis wir uns gegenseitig unsere Schlüsselhälften zusenden, was wir aber erst machen können, nachdem wir die Arbeit geleistet haben. Es gibt also keinen Vorteil, wenn man sich vor seiner Verantwortung drückt, sprich kein Schlupfloch, um Geld zu stehlen. Das Egoistischste, was man tun kann, ist zu kooperieren, d. h. die Motivation für alle sind perfekt aufeinander abgestimmt.

Wahrung der Privatsphäre

Diese einfache, aber extrem leistungsfähige Innovation eröffnet eine ganze Welt von Möglichkeiten. Mit dem Proof of Relay Konsensmechanismus können wir ein vollständig privates Mixnet mit Incentivierungen aufbauen, das unbegrenzt wachsen kann, weil wir nicht darauf angewiesen sind, vertrauenswürdige, selbstlose Menschen zu finden, die es betreiben.

Wir müssen aber noch ein weiteres Problem lösen. Denn wenn jede Zahlung eine Transaktion auf einer öffentlichen Blockchain erzeugt, kommen wir gefährlich nahe daran, versehentlich eine Datenbank für alles, was im Netzwerk passiert, bereitzustellen. Deswegen verwendet HOPR probabilistische Zahlungen, um die HOPR-Zahlungsebene von der Nachrichtenebene zu entkoppeln und so den Datenschutz zu gewährleisten. Wir werden beim nächsten Mal erklären, wie das funktioniert.

Dies ist eine Übersetzung vom Originalartikel “HOPR Basics: Proof of Relay”. Mehr zu HOPR und dem HOPR Protokoll findet ihr auf hoprnet.org oder auf medium.com/hoprnet

Webseite: https://hoprnet.org/de
Twitter: https://twitter.com/hoprnet
Telegram: https://t.me/hoprnet
Discord: https://discord.gg/dEAWC4G
LinkedIn: https://www.linkedin.com/company/hoprnet
Forum: https://forum.hoprnet.org

HOPR Basics Folgen:

Folge 1: Was ist HOPR?
Folge 2: Was sind Metadaten?
Folge 3: Anonymes Weiterleiten
Folge 4: Mixnets
Folge 5: Incentivierungen
Folge 6: Proof of Relay
Folge 7: Tickets und Zahlungskanäle
Folge 8: Probabilistische Zahlungen
Folge 9: Cover Traffic
Folge 10: Cover Traffic Nodes
Folge 11: Cover Traffic ausgleichen

--

--