Nachdem ich die Bitcoin-Wiki-Seite für Brainwallets gelesen habe, scheint es mir, dass Mining-Ausrüstung verwendet werden kann, um Brainwallet-Passphrasen brutal zu erzwingen. Ist das richtig?
„… so können Hacker kollektiv jede Sekunde mehrere Billionen von Passwörtern in der Privatsphäre ihres eigenen Zuhauses mit genau der gleichen Ausrüstung ausprobieren, die sie zum Schürfen von Bitcoins (im üblichen Sinne) verwenden.“
Wie würde man einen ASIC-Miner verwenden, um die Blockchain mit einem Wörterbuchangriff zu erzwingen? Wie würde die Anwendungslogik aussehen? Kann ein eigenständiger Miner (z. B. der Antminer S1) „ausgetrickst“ werden, zu glauben, dass er normale Arbeit für einen Pool verrichtet, wenn er eigentlich nur zufällige Zeichenfolgen hasht, oder würde er benutzerdefinierte Treiber benötigen?
Nein. Die meisten Brainwallets (unter der Annahme eines konventionelleren Brainwallets wie eines von brainwallet.org und kein Seed-basiertes) werden erstellt, indem eine Passphrase durch eine Runde von SHA256 geleitet wird. ASICs sind für zwei Runden ausgelegt.
Was folgt, ist eine fundierte Vermutung, keine bestimmten Aussagen, und basiert auf Electrums Brainwallet-Phrasen (ich dachte nur, es wäre ein gutes Beispiel), nicht auf anderen Schemata oder von Menschen generierten.
Nein, ein Miner kann nicht leicht dazu verleitet werden (z. B. nur durch einen Schurkenpool), aber er kann so programmiert werden, dass er versucht, Brainwallet-Phrasen zu knacken. Dies liegt daran, dass gewöhnliches Hashing völlig andere Eingaben beinhaltet (ein Block-Header und Nonce, zweimal gehasht) als Brainwallet-Cracking (ein zufälliger 128-Bit-Seed, 100.000-mal gehasht).
Sie würden dies tun, indem Sie zufällige 128-Bit-Seeds durch den Algorithmus von Electrum ausprobieren, bei dem der Seed genommen und 100.000 SHA256-Hashes darauf ausgeführt werden (vielleicht würden einige andere Dinge, die ich vermisse, es schwieriger machen). Sie können dann ein paar weitere Berechnungen durchführen, um die Adressen zu ermitteln, die der Schlüssel generiert, und die Blockchain überprüfen, um festzustellen, ob eine davon übereinstimmt.
Die aktuelle Netzwerk-Hashrate beträgt ~50.000.000 GH/s. Wenn all dies stattdessen dazu verwendet würde, die Electrum-Schlüssel aller zu brechen, und alles, was dazu nötig ist, die 100.000 Hashes sind, würden 5 * 10 ^ 11 von 2 ^ 128 jede Sekunde überprüft. Sie könnten alle Schlüssel in etwa 2 * 10 ^ 19 Jahren oder dem 1,6 * 10 ^ 9-fachen Alter des Universums überprüfen. Während Sie wahrscheinlich lange vorher Kollisionen bekommen würden (abhängig davon, wie viele Electrum-generierte Adressen verwendet werden), denke ich, dass Ihnen dies eine Vorstellung von der Undurchführbarkeit dieser Art von Angriff gibt.
Anders Bräuner Nielsen
Brian Kieffer
Ryanc
jeteon