Seed Generator

Hi @all und hallo Roman

In deinem Video https://youtu.be/kllDZNKUJL4?t=2223 sprichst du über Zufallszahlengeneratoren. Es gibt zwei verschiedene Arten von Zufallszahlen. Die erste Zufallszahl ist eine welche durch Statistik auf die Verteilung geprüft wurde. Wenn keine Muster gefunden wurde gilt die Zahl als zufällig.
Zb diese Zahlen sind nicht Zufallszahlen:
5874178122741244214262402 (die Anzahl der Zahlen treten nicht gleichmäßig auf)
151414191715… Hier ist ein Muster erkennbar.
Die andere Art von Zufallszahl ist wenn die Berechnungen nicht mehr reproduziert werden kann. Hier setzt man auf physikalische Eigenschaften. Zb der zerfall von radioaktiven Atomen oder quantenmechanischer Effekte.
Jetzt hast du(ihr) sicherlich mitbekommen das bei einem Schweizer Chiphersteller (Crypto AG) die CIA die Generatoren manipuliert hatte. Die Seeds konnten später wieder hergestellt werden und somit hatte man die Schlüssel.
In einem anderen Fall konnte man Spielautomaten in Las Vegas über den Seedgenerator beeinflussen.
Meine Frage nun: Wie kann der Seedgenerator im Ledger verhindern das sich Muster bilden und gleichzeitig gegen Manipulationen schützen?

(1) Zufallszahlen sind eben nicht dadurch definitert, dass sie gleichmäßig auftreten, sondern dass sie mit derselben Zufallsverteilung auftreten. Erst bei infinitismal großen Mengen ist das dasselbe.
(2) Der Ledger verwendet zum Erstellen der Zufallszahlen hardware-gebundene Eigenschaften, die wir als echt-zufällig betrachten können. Roman hat das (afair) in einem Video mal erklärt, kann mich aber nicht mehr an die Details erinnern.

tl;dr: Der Ledger generiert echte Zufallszahlen.

1 „Gefällt mir“

Das Futter des Zufallgenerators des Ledgers ist das Grundrauschen der Hardware.

1 „Gefällt mir“

Wie kannst du die Muster verhindern?

Wie kann ich das testen wenn die Seeds nie das Gerät verlassen?

Um die Zufälligkeit des Seeds zu beweisen, müsstest Du ja nur die Zufälligkeit des Grundrauschens beweisen. I.e. Du müsstest den Seed gar nicht kennen um zu zeigen, dass er zufällig sein muss.

Zum einen gerechten Würfel zu testen muss die Gleichverteilung ausgewert werden. Das selbe wird auch beim Lotto gemacht.

Um die Zufälligkeit des Seeds zu beweisen, müsstest Du ja nur die Zufälligkeit des Grundrauschens beweisen.

Nur die Zufälligkeit des Grundrauschens zum Zeitpunkt x (bei erstellen des Seeds). Und du musst auch Beweisen das in dieser Zeit das Rauschen nicht manipuliert werden kann.

1 „Gefällt mir“