Ich mache eine Präsentation über Bitcoins und suchte nach einigen Berechnungen, damit sich die Leute bei der Verschlüsselung mit privaten Schlüsseln sicher fühlen. Bitte antworten Sie zuerst, wie lang der private Schlüssel in Bytes ist, dann wie viele Zahlenkombinationen er enthalten wird, und dann, was der schnellste Computer oder das schnellste Netzwerk von Supercomputern ist und wie lange es dauern würde, einen privaten Schlüssel mit diesem Computer zu knacken. Ich denke, das Ergebnis wäre sehr lehrreich, basierend auf meinen eigenen Berechnungen. Vielen Dank.
wie lang der private Schlüssel in Bytes ist
32 Byte oder 256 Bit
dann, wie viele Zahlenkombinationen es enthalten wird
Es gibt 2^256 verschiedene private Schlüssel. Das ist etwas größer als eine 1 gefolgt von 77 Nullen.
Was ist der schnellste Computer oder das schnellste Netzwerk von Supercomputern?
Auf seinem Höhepunkt im August 2011 überprüfte das Bitcoin-Netzwerk 15 Billionen sha256-Hashes pro Sekunde. (Siehe http://bitcoin.sipa.be/ )
wie lange es dauern würde, einen privaten Schlüssel mit diesem Computer zu knacken
Wenn wir davon ausgehen, dass die Ausführung einer ECDSA-Operation genauso lange dauert wie die Überprüfung eines sha256-Hashs (es dauert viel länger) und wir eine Optimierung verwenden, die es uns ermöglicht, nur 2 ^ 128 ECDSA-Operationen zu benötigen, dann kann die benötigte Zeit berechnet werden:
>>> pow(2,128) / (15 * pow(2,40)) / 3600 / 24 / 365.25 / 1e9 / 1e9
0.6537992112229596
Es sind 0,65 Milliarden Milliarden Jahre.
Das ist eine sehr konservative Schätzung für die Zeit, die benötigt wird, um eine einzige Bitcoin-Adresse zu knacken.
Bearbeiten: Es wurde darauf hingewiesen, dass Computer gemäß dem Mooreschen Gesetz im Laufe der Zeit exponentiell schneller werden . Angenommen, die Rechengeschwindigkeit verdoppelt sich jedes Jahr (das Mooresche Gesetz sagt 2 Jahre, aber wir gehen auf Nummer sicher), dann dauert es in 59 Jahren nur 1,13 Jahre. Ihre Münzen sind also für die nächsten 60 Jahre sicher, ohne dass die Algorithmen zum Schutz der Blockchain geändert werden müssen. Ich würde jedoch erwarten, dass die Algorithmen geändert werden, lange bevor es möglich ist, den Schutz, den sie bieten, zu brechen.
Ein privater Bitcoin-Schlüssel ist eine zufällige 256-Bit-Zahl. Der öffentliche Schlüssel gibt jedoch einige Informationen über den privaten Schlüssel preis. Die bekanntesten Algorithmen zum Brechen von ECDSA erfordern O(sqrt(n))-Operationen. Das bedeutet, dass 2^128 Operationen erforderlich wären, um ein Bitcoin-Konto zu knacken.
Der bisher größte gebrochene ECDSA-Schlüssel des Typs, den Bitcoin verwendet, war 112 Bit lang. Ein Bitcoin-Konto ist mehr als 4.000 Milliarden Milliarden Mal schwerer zu knacken.
Das einzig realistische Risiko wäre Quantencomputing.
Ein privater Bitcoin-Schlüssel (ECC-Schlüssel) ist eine ganze Zahl zwischen eins und etwa 10^77. Dies mag nicht wie eine große Auswahl erscheinen, aber für praktische Zwecke ist es im Wesentlichen unendlich. Wenn Sie eine Billion private Schlüssel pro Sekunde verarbeiten könnten, würde es mehr als eine Million Mal das Alter des Universums dauern, um sie alle zu zählen. Schlimmer noch, allein das Aufzählen dieser Schlüssel würde mehr als die gesamte Energieabgabe der Sonne für 32 Jahre verbrauchen. Dieser riesige Schlüsselraum spielt eine grundlegende Rolle bei der Sicherung des Bitcoin-Netzwerks.
2^256 = 1,1x10^77 = Anzahl der Tastenkombinationen
2 ^ 128 = 3,4 x 10 ^ 38 = die durchschnittliche Anzahl der erforderlichen Vermutungen
Laut dieser Website: http://en.wikipedia.org/wiki/TOP500 ist der schnellste Supercomputer der K-Computer mit 10,51 Petaflops.
Ein Petaflop sind 10^15 FLOPS, Gleitkommabefehle pro Sekunde.
So weit so gut, aber ich muss wissen, wie viele FLOPS pro Rate benötigt werden?
[Ich wage eine Vermutung:]
Zwischen 1.000 und 10.000 FLOPS (oder ganzzahlige Äquivalente) pro Tipp.
10,51 x 10^15 Operationen/Sekunde / 1000 bis 10000 Operationen/Schätzung) = 10,51x10^12 bis 10,51x10^11 Schätzung/Sekunde.
3,4x10^38 Vermutungen/Crack / 10,51x10^12 Vermutungen/Sekunde = 3,2x10^25 Sekunden.
3,2x10^25 Sekunden / 60 Sekunden/Minute / 60 Minuten/Stunde / 24 Stunden/Tag / 365,25 Tage/Jahr = 1,01x10^18 Jahre
1,01x10^18 Jahre / 1x10^9 / 1x10^9 = 1,014 bis 10,014 Milliarden Milliarden Jahre.
Die Computer im Bitcoin-Netzwerk sind also doppelt so schnell wie der größte einzelne Laborcomputer.
Es gibt ein vanitygen
Dienstprogramm ( sehen Sie sich die Version von Exploitagency an, die eine verbesserte Abzweigung der Version von samr7 ist ), das Ihnen die Schätzungen geben kann, wie lange es dauert, den privaten Schlüssel für das gegebene Muster zu finden (siehe: vg_output_timing_console()
). Einige Sonderfälle (wie wiederholte Zeichen) sind schwieriger als die anderen.
Die Schwierigkeit, eine Vanity-Adresse zu finden, hängt von ihrer genauen Struktur (führende Buchstaben und Zahlen) ab und davon, wie wahrscheinlich eine solche Ausgabe angesichts der beteiligten Algorithmen ist, die aus mehreren Pivots bestehen können, bei denen sich die Schwierigkeit plötzlich ändert. Bitcoin-Wiki
Hier ist die Tabelle, die auf der Bitcoin-Wiki-Seite zu finden ist , die geschätzte Zeiten zum Knacken privater Schlüssel für die angegebenen Adressmuster enthält:
Die folgende Beispieltabelle zeigt, wie sich eine zunehmend komplexe Vanity auf die Schwierigkeit und die durchschnittliche Zeit auswirkt, die erforderlich ist, um eine Übereinstimmung nur für diese Vanity zu finden, ganz zu schweigen von der vollständigen Adresse, für eine Maschine, die 1 Million Schlüssel pro Sekunde durchsuchen kann.
Wenn Sie Vanitygen verwenden, könnten Sie denken, dass Sie den privaten Schlüssel für eine bestimmte Adresse finden könnten. In der Praxis wird dies als unmöglich angesehen.
Lassen Sie uns die folgende Bitcoin-Adresse erstellen :unspendable
$ unspendable.py 23456789A123456789A12345678
mainnet: 123456789A123456789A12345678Yr8Dxi
Dann vanitygen
kann ich die Leistung auf meinem Computer berechnen (> 240 Kkey / s):
$ vanitygen -q -k -o/dev/null 1
[241.29 Kkey/s][total 2880199][Found 11618]
Hinweis: Obiges wurde auf einem MacBook Pro (2,3 GHz Intel Core i7, 16 GB 1600 MHz DDR3) getestet.
Darüber hinaus kann es die geschätzte Zeit berechnen, wenn nach bestimmten Mustern gesucht wird, z
um die ersten 5 Zeichen von 26-35 zu finden (wenige Sekunden):
$ vanitygen -q -k -o/dev/null 12345
[698.17 Kkey/s][total 8192][Prob 0.2%][50% in 4.5s]
6 erste Zeichen von 26-35 (wenige Minuten):
$ vanitygen -q -k -o/dev/null 123456
[701.39 Kkey/s][total 51712][Prob 0.0%][50% in 4.3min]
7 Zeichen von 26-35 (wenige Stunden):
$ vanitygen -q -k -o/dev/null 1234567
[471.87 Kkey/s][total 8192][Prob 0.0%][50% in 6.3h]
8 Zeichen von 26-35 (wenige Wochen):
$ vanitygen -q -k -o/dev/null 12345678
[658.82 Kkey/s][total 2548480][Prob 0.0%][50% in 10.8d]
9 Zeichen von 26-35 (wenige Jahre):
$ vanitygen -q -k -o/dev/null 123456789
[572.50 Kkey/s][total 1631744][Prob 0.0%][50% in 2.0y]
10 Zeichen von 26-35 (ein Jahrhundert):
$ vanitygen -q -k -o/dev/null 123456789A
[630.48 Kkey/s][total 118528][Prob 0.0%][50% in 104.2y]
11 Zeichen von 26-35 (wenige Jahrtausende)
$ vanitygen -q -k -o/dev/null 123456789A1
[579.78 Kkey/s][total 17348352][Prob 0.0%][50% in 6571.6y]
12 Zeichen aus 26-35 (Hunderte von Jahrtausenden):
vanitygen -q -k -o/dev/null 123456789A12
[751.61 Kkey/s][total 6720512][Prob 0.0%][50% in 294013.9y]
13 Zeichen von 26-35 (Tausende Jahrtausende, wenige Millionen Jahre):
$ vanitygen -q -k -o/dev/null 123456789A123
[666.93 Kkey/s][total 3886080][Prob 0.0%][50% in 1.921802e+07y]
14 Zeichen aus 26-35 (Milliarden Jahre):
$ vanitygen -q -k -o/dev/null 123456789A1234
[817.44 Kkey/s][total 3994880][Prob 0.0%][50% in 9.094109e+08y]
15 Zeichen von 26-35 (50 Milliarden Jahre):
$ vanitygen -q -k -o/dev/null 123456789A12345
[784.31 Kkey/s][total 4633856][Prob 0.0%][50% in 5.497420e+10y]
... 28 Zeichen ( Dezillion von Jahren, wenn Sie Glück haben)
$ vanitygen -q -k -o/dev/null 123456789A123456789A12345678
[910.34 Kkey/s][total 2723072][Prob 0.0%][50% in 3.981113e+33y]
Es ist erwähnenswert, dass die oben generierte Adresse 34 Bytes hat, aber das erste Zeichen ist nur die Netzwerkkennung (für Bitcoin ist es normalerweise 1
oder 3
) und die letzten 4 Bytes sind nur eine Prüfsumme. Weitere Einzelheiten zur Adresse finden Sie auf dieser Bitcoin-Wiki-Seite .
Sicherlich kann die Keysearch-Rate durch die Verwendung einer besseren GPU oder mehrerer CPUs erhöht werden (siehe: -t
), aber die Schätzungen können dennoch riesig sein.
Hier ist zum Beispiel die Tabelle der Keysearch-Raten auf der Bitcoin-Wiki-Seite :
Und hier sind einige Berichte von Benutzern für verschiedene GPUs:
Quelle: Liste der unterstützten GPUs (GH-46) .
Alle anderen haben sich entschieden, eine Frage wie zu beantworten
Wie lange würde ein großer Computer brauchen, um einen bestimmten privaten Schlüssel zu knacken?
Stattdessen beantworte ich die eigentlich gestellte Frage...
Wie lange würde ein großer Computer brauchen, um einen privaten Schlüssel zu knacken?
Dank Large Bitcoin Collider ist dies eine empirische Frage. Es dauerte ungefähr ein Jahr, um ungefähr ein Dutzend private Schlüssel zu finden ...
https://lbc.cryptoguru.org/trophies
Beachten Sie, dass jeder dieser geknackten Schlüssel für eine Bitcoin-Adresse war, die ein Guthaben hatte, sodass der Cracker das Guthaben hätte ausgeben können, wenn er wollte.
Viele werden viele Ausreden dafür anführen, warum dies nicht relevant ist, aber Tatsache ist, dass die Parteilinie „Es ist praktisch unmöglich, private Bitcoin-Schlüssel zu knacken“ eine nachweislich falsche Aussage ist. Schlüssel wurden geknackt, und das seit Milliarden von Milliarden Jahren nicht.
Her mit den Downvotes!
(Wenn Sie versucht sind, abzustimmen, kommentieren Sie zumindest, warum Sie abgelehnt haben. „Ich möchte nicht, dass dies wahr ist“ oder „Andere Leute haben mir gesagt, dass dies nicht wahr ist“ oder „Ich möchte sicherstellen, dass diese Antwort nicht die erste ist Seite mit Antworten" sind keine Gründe, auf die Sie stolz sein sollten.)
Das einzig realistische Risiko wäre Quantencomputing.
Oder die Entdeckung eines Fehlers oder Fehlers in den BTC-Softwarealgorithmen. Dann kann das Reißen je nach Art des Fehlers eine Sache von Sekunden sein.
Der schnellste Computer hat 150 Petraflops FPC pro Sekunde, nicht 10 ... Versuchen Sie, mit der Zeit Schritt zu halten (NV Link und Volta HCP-Karten auf IBM Power-Prozessoren) ... Sie können mehr auf der Website von Team Green oder der Konferenz 2015 lesen oder sehen Videos auf U-Rohr. Da die allgemeine Antwort auf 10 Petraflops als dem schnellsten Computer der Welt zu beruhen scheint ... Sie sollten deutlich sehen können, wie schnell sich die FPC pro Sekunde ändern kann. Das Energieministerium plant bereits ein 300P-System, das auf derselben Technologie basiert .
Der Punkt ist, dass Ihre Bitcoin-Leute, die Ihnen sagen, wie sicher es auf 10P basiert, bereits die grundlegende Mathematik 15-30 Mal falsch liegen, weil sie offensichtlich nicht so viel wissen, wie sie denken. Die Verbesserungen hängen auch nicht vom Mooreschen Gesetz ab, die jüngsten Fortschritte und derzeitigen Einschränkungen haben mit einem völlig anderen Gesetz zu tun, das NV Link so gut wie möglich gelöst und die Rechenzeit so gut verbessert hat. Dies ist nur das heutige Beispiel dafür, wie ihre Theorie von einer Milliarde Milliarden Jahren ist bereits um den Faktor 15-30 falsch und wird jedes Jahr mit einer viel höheren Rate falsch werden, als sie annehmen. In 30 Jahren oder weniger wird Bitcoin auf seinem gegenwärtigen Niveau leicht von jedem geknackt werden, der 40 bis 50.000 Dollar auszugeben hat (nach heutigem Geld) oder eine beliebige Anzahl von Universitäts- oder Unternehmens-Supercomputern verwenden kann.
Jeder, der wirklich glaubt, dass 50 Jahre alte Technologie 50 Jahre später etwas digital sicher halten wird, ist ehrlich gesagt nicht die Art von Person, der Sie überhaupt Aufmerksamkeit schenken sollten ... Bedeutet das, dass Bitcoin heute gefährlich ist? Nicht wirklich, aber wenn die gleichen Leute in 30 Jahren für die Sicherheit verantwortlich sind, sind es die gleichen ahnungslosen Leute, die jetzt hier sind.
Gary
Benutzer9827
David Schwarz
mikeschuld