Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Download (requesting blocks): Was tun, wenn einer der Up-/Downloader alle Circuits verliert? #4

Open
johnnycrab opened this issue Aug 10, 2014 · 0 comments

Comments

@johnnycrab
Copy link
Member

Die große Problematik liegt darin, dass es nie Bestätigungen für Nachrichten geben kann, da Circuits nicht fütterbar sein können, andere werden probiert etc. Das Frage-Antwort-Spiel mit wechselnden Identifiern funktionier nur so lange, wie es auf jede Frage nur eine Antwort gibt. Verschickt allerdings A an B eine Nachricht und A muss nochmal eine Nachricht schicken (z.B. "ich hab alle Circuits verloren und hab lauter neue"), bevor B antworten kann, gibts ein echtes Problem. Welchen Identifier benutzt man? Dadurch, dass man mehrere Circuits parallel benutzt, und durch die Geschwindigkeitsunterschiede gibt es auch keine Garantie für die Reihenfolge. Hört man auf mehr als eine Nachricht von ein- und demselben Identifier, öffnet man Replay-Attacken Tür und Tor.

Eine Möglichkeit wäre, davon auszugehen, dass zwischen zwei Nachrichten Circuitänderungen maximal n mal vorkommen, und man schickt mit jeder Nachricht eine Liste an n zufälligen Identifiern, die benutzt werden können, um Änderungen an den Circuits zu kommunizieren. Ändern sich alle Circuits von einem Node, schickt er die Änderungsnachricht durch alle Circuits, in der Hoffnung, dass die andere Seite die Nachricht erhält.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant