Elektrum-Saatworte sind dumme Sicherheitsfragen

Ich beginne mit Bitcoin und obwohl ich ziemlich gut verstehe, wie die Blockchain funktioniert, bereiten mir die von einigen Wallets (MultiBit und Electrum) verwendeten Seed-Wörter Gänsehaut und Zweifel. Die Hauptfrage ist: Warum sind sie sicher? Die Basis für die Frage: Menschen sind keine gute Quelle für zufällige Daten, also verwenden wir Seed-Wörter aus einer zufälligen pc-zeitbasierten Quelle. Diese Startwörter sind eine Darstellung einer Binärzahl und die Phrase mit 12 Wörtern ergibt einen 128-Bit-Hash. Diese Wörter stammen aus einem Wörterbuch mit 4096 Wörtern. Das Wörterbuch von Electrum wird beispielsweise in einem Python-Skript gespeichert. Wir können also sagen, dass wir diese 4096 Wörter kennen. Ich habe eine Startphrase (12 Wörter) aus meiner Brieftasche. Was schützt das ganze Netzwerk von jemandem, der das letzte Wort seines eigenen Satzes 4096 Mal ändert, um 4096 Bitcoin-Geldbörsen zu öffnen? Ich weiß mit Elektrum wieder zum Beispiel, dass 128 dieser 4096 gültige Adressen generieren. Was schützt das Netzwerk dann vor jemandem, der die Bitcoin-Geldbörsen von 128 Freunden öffnet und das ganze Geld stiehlt? Der letzte Teil ist einfacher, die Validierung erfolgt online, wie eine Brieftaschenprüfung der Wörter den privaten Schlüssel öffnen, wenn sie offline arbeiten können?

Für zusätzliche Sicherheit können Sie einige Wörter ändern und auch hinzufügen, indem Sie Wörter verwenden, die nicht im Wörterbuch enthalten sind.

Antworten (3)

Für die überwiegende Mehrheit der möglichen 12-Wort-Kombinationen waren die entsprechenden Brieftaschen leer und wurden nie generiert. Die Gesamtzahl der Kombinationen ist ziemlich groß , so dass der Versuch, sie brutal zu erzwingen, nicht funktionieren wird. Tatsächlich sind Wörter nur eine andere (mnemonische) Möglichkeit, die im privaten Schlüssel enthaltene Entropie zu codieren.

Ich weiß, dass die Wörter nur eine Darstellung der verschiedenen 2^12-Bit-Sätze sind. Aber dann ist die Antwort JA. Es würde die Brieftaschen "entschlüsseln". Ich verstehe, dass die überwiegende Mehrheit jungfräulich oder leer sein wird. Aber diese 128 gültigen Wörter zum Ersetzen des letzten Wortes in einem gültigen Satz sind ziemlich einfach zu testen. Wie viel Zeit würde es kosten, das zu tun?
@SasukePikaloko Ich verstehe nicht ganz, woher die Zahl 128 kommt ... Und was ist der Grund für den Versuch, das letzte Wort zu ersetzen?
Die 128 ist vom CRC. Nur 128 Wörter ergaben gültige Adressen. Der Grund ist einfach: Wenn ich versuche, ein Wort zu ändern, bekomme ich irgendwann Zugriff auf die Brieftasche und sehe jemandem Geld. Ich habe versucht, das Timing dafür zu verstehen. Ungefähr 1,5 x 10^24 Jahre, wenn Sie eine Phrase pro Sekunde versuchen. Ist es richtig?

Es ist genauso sicher, wie private Schlüssel selbst sicher sind; Der Suchraum ist einfach so groß, dass die Wahrscheinlichkeit, dass jemand einen privaten Schlüssel oder Seed generiert, den jemand anderes verwendet, extrem gering ist, um im Grunde unmöglich zu sein.

Nichts schützt jemanden davor, Hunderttausende von Schlüsseln und Hunderttausende von Seed-Phrasen zu generieren und zu sehen, ob einer von ihnen Bitcoin mit sich verknüpft hat. Da der Suchraum jedoch so groß ist, hätte diese Person eine Wahrscheinlichkeit von fast 0, einen Schlüssel zu finden, den jemand verwendet hat. Selbst wenn sie eine Million Schlüssel pro Sekunde generiert (entweder zufällig oder durch Seed-Phrasen), hätte diese Person eine grundsätzlich 0-Wahrscheinlichkeit, den privaten Schlüssel einer anderen Person zu finden, selbst wenn sie bis zum Hitzetod des Universums suchen würde.

Der letzte Teil ist einfacher, die Validierung erfolgt online, wie eine Brieftaschenprüfung der Wörter den privaten Schlüssel öffnen, wenn sie offline arbeiten können?

So funktioniert Bitcoin nicht. Es gibt keinerlei Validierung mit privaten Schlüsseln. Private Keys müssen nicht "validiert" oder irgendwo registriert werden oder ähnliches.

Ich habe nach dem Prozess gefragt, bei dem ich die zu importierenden Wörter in die Brieftasche eingebe und dann meine Brieftaschen-App meine Bitcoin abruft. Offline kann die Wallet das nicht. Aber wenn man es nur macht, wer schnell ist dieser Prozess? Der Prozess ist, einen Satz einzugeben -> Bitcoin anzeigen. Wenn dieser Prozess SO SCHNELL ist, kann er in Mikrosekunden durchgeführt werden, dann kann jemand etwa tausend Kombinationen pro Sekunde testen. Wie möglich ist das?
Die Schlüsselableitung ist für Menschen schnell. Aber wie gesagt, die Anzahl möglicher privater Schlüssel (darauf kommt es hier an; die Ausdrücke sind im Wesentlichen die gleichen wie private Schlüssel) ist so massiv, dass selbst wenn Sie Tausende pro Sekunde generieren, die Wahrscheinlichkeit, dass Sie einen Schlüssel finden, mit der Die Zeit des Hitzetods des Universums, die jemand hat oder verwendet, ist im Grunde 0. Das Nachschlagen, ob ein Schlüssel verwendet wurde, kann ebenfalls schnell erfolgen, ist jedoch viel langsamer als die Schlüsselgenerierung, da Datenbanksuchen erforderlich sind.

Bitte beachten Sie, dass auch die Reihenfolge dieser Wörter stimmen muss, damit sich diese 35 Dezimalstellen der Möglichkeiten auf 44 Dezimalstellen erhöhen. Selbst wenn Sie 1000.000.000 Möglichkeiten pro Sekunde prüfen könnten, wird die Zeit des Universums nicht ausreichen.