Ich mache eine Präsentation über Bitcoins und habe nach Berechnungen gesucht, 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, wie viele Zahlenkombinationen er enthalten wird und was dann 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 nach meinen eigenen Berechnungen sehr lehrreich. Vielen Dank.
Kommentare
- Diese Antwort auf Security Stack Exchange ist relevant: security.stackexchange .com / a / 25392/4647
- Bitte erläutern Sie dies dann. directory.io Diese Leute behaupten, dass sie alle privaten Schlüssel haben … Ich denke, die ‚ sagt es nicht die Wahrheit
- Sie sagen die Wahrheit. Auf die gleiche Weise hat jeder, der die Ziffern von Pi erzeugen kann, alle Werke der Literatur, die jemals geschrieben werden.
- coindesk.com/bitcoin-protocol- Hack-Witz
Antwort
Wie lange ist der private Schlüssel in Bytes?
32 Bytes 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 das Ausführen einer ECDSA-Operation genauso lange dauert wie das Überprüfen eines sha256-Hashs (es dauert viel länger), verwenden wir eine Optimierung, die es uns ermöglicht, nur zu benötigen 2 ^ 128 ECDSA-Operationen, 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 “ Eine sehr konservative Schätzung für die Zeit, die benötigt wird, um eine einzelne Bitcoin-Adresse zu beschädigen.
Bearbeiten: Es wurde darauf hingewiesen, dass Computer laut Moores Gesetz . Unter der Annahme, dass sich die Rechengeschwindigkeit jedes Jahr verdoppelt (Moores Gesetz besagt 2 Jahre, aber wir werden auf Nummer sicher gehen), dauert es in 59 Jahren nur noch 1,13 Jahre. Ihre Münzen sind also für die nächsten 60 Jahre ohne sicher Eine Änderung der Algorithmen zum Schutz der Blockchain. Ich würde jedoch erwarten, dass die Algorithmen geändert werden, lange bevor es möglich ist, den von ihnen bereitgestellten Schutz aufzuheben.
Kommentare
- Das Gesetz von Moore ‚ (oder ähnliches) würde diese Zahl wahrscheinlich ein wenig senken, aber nicht genug, um eine Rolle zu spielen. Solange die Antwort eine Form von “ ist, die länger dauert, als es nötig wäre, um die an dieser Adresse “ gespeicherten Münzen abzubauen, sollten wir in Sicherheit sein 🙂
- Es ist wichtig, weil die Leute es verdienen zu wissen, wie sicher ihr Geld ist.
- Das ‚ setzt Moore ‚ kann weitere 6 Jahrzehnte andauern. Auf der anderen Seite ist QC bis dahin vielleicht Mainstream.
- Tolle Antwort. Es ist erwähnenswert, dass die kumulative Netzwerkleistung von Bitcoin ‚ jetzt fast das Zehnfache des Werts beträgt, seit diese Antwort geschrieben wurde. ‚ ist “ nur “ ~ 653 Millionen Jahre Rechenzeit.
Antwort
Ein privater Bitcoin-Schlüssel ist eine zufällige 256-Bit-Zahl. Der öffentliche Schlüssel enthält jedoch einige Informationen zum privaten Schlüssel. Die bekanntesten Algorithmen zum Brechen von ECDSA erfordern O (sqrt (n)) -Operationen. Das bedeutet, dass 2 ^ 128 Vorgänge erforderlich wären, um ein Bitcoin-Konto aufzubrechen.
Der bisher größte defekte ECDSA-Schlüssel des von Bitcoin verwendeten Typs war 112 Bit lang. Ein Bitcoin-Konto ist mehr als 4.000 Milliarden Milliarden Mal schwerer zu brechen.
Das einzige realistische Risiko wäre Quantencomputer.
Kommentare
- Es sollte auch beachtet werden, dass selbst Quantencomputer nur die Zeit von pow (2, N) bis pow (2, N / 2) verkürzen sollen, was, obwohl signifikant, es nicht weit aufbricht. Siehe de.wikipedia.org/wiki/Key_size
- @GaryRowe Sie ‚ liegen falsch . Die Halbierung der Schlüssellänge gilt für symmetrische Schlüssel. Die meisten asymmetrischen Chiffren (einschließlich ECDSA, das für Bitpunkte verwendet wird) können dank des Shor ‚ -Algorithmus mit einem Quantencomputer in Polynomzeit gebrochen werden.Um diesen Wikipedia-Artikel zu zitieren “ Der allgemeine Konsens ist, dass diese Algorithmen für öffentliche Schlüssel bei jeder Schlüsselgröße unsicher sind, wenn ausreichend große Quantencomputer Shor ‚ wird verfügbar. „. Obwohl es quantensichere Signaturschemata gibt, würden sie ‚ wahrscheinlich die Blockchain viel aufblähen.
- @CodeInChaos Gute Punkte alle – sorry Verwirrung stiften.
- Der O (sqrt (n)) – Angriff ist der Geburtstagsangriff, der in jedem Verschlüsselungsschema möglich ist. Auf welche “ Informationen zum privaten Schlüssel „, die der öffentliche Schlüssel anzeigt, beziehen Sie sich?
- @dionyziz I. ‚ Ich spreche nicht über den Geburtstagsangriff. ‚ Ich spreche über das Umkehren eines öffentlichen ECDSA-Schlüssels, um den entsprechenden privaten Schlüssel zu erhalten. Die “ -Information über den privaten Schlüssel „, die der öffentliche Schlüssel anzeigt, ist der Punkt, der dem vom Generator multiplizierten privaten Schlüssel entspricht. Dies ermöglicht die Verwendung diskreter Logarithmusalgorithmen wie großer Schritt, kleiner Schritt .
Antwort
Ein privater Bitcoin-Schlüssel (ECC-Schlüssel) ist eine Ganzzahl zwischen eins und ungefähr 10 ^ 77. Dies scheint keine große Auswahl zu sein, aber für praktische Zwecke ist es im Wesentlichen unendlich. Wenn Sie eine Billion privater Schlüssel pro Sekunde verarbeiten könnten, würde es mehr als eine Million Mal so alt sein wie das Alter des Universums, um sie alle zu zählen Schlimmer noch, eine bloße Aufzählung dieser Schlüssel würde 32 Jahre lang mehr als die Gesamtenergie der Sonne verbrauchen. Dieser riesige Schlüsselraum spielt eine grundlegende Rolle bei der Sicherung des Bitcoin-Netzwerks.
Kommentare
- Chuck Norris hat zweimal bis unendlich gezählt.
- Chuck Norris sagte Satoshi Nakomoto, was zu tun ist.
Antwort
2 ^ 256 = 1.1×10 ^ 77 = Anzahl der Tastenkombinationen
2 ^ 128 = 3.4×10 ^ 38 = die durchschnittliche Anzahl der benötigten Vermutungen
Laut dieser Website: http://en.wikipedia.org/wiki/TOP500 , der schnellste Supercomputer ist der K-Computer mit 10,51 Petaflops.
Ein Petaflop ist 10 ^ 15 FLOPS, Gleitkomma-Instrumente Funktionen pro Sekunde.
Bisher so gut, aber ich muss wissen, wie viele FLOPS pro Vermutung benötigt werden?
[Ich werde eine Vermutung wagen:]
Zwischen 1.000 und 10.000 FLOPS (oder ganzzahlige Äquivalente) pro Schätzung.
10,51 x 10 ^ 15 Operationen / Sekunde / 1000 bis 10000 Operationen / Schätzung) = 10,51 x 10 ^ 12 bis 10,51 x 10 ^ 11 Schätzung / Sekunde.
3,4 x 10 ^ 38 Vermutungen / Riss / 10,51 x 10 ^ 12 Vermutungen / Sekunde = 3,2 x 10 ^ 25 Sekunden.
3,2 x 10 ^ 25 Sekunden / 60 Sekunden / Minute / 60 Minuten / Stunde / 24 Stunden / Tag / 365,25 Tage / Jahr = 1,01 x 10 ^ 18 Jahre
1,01 x 10 ^ 18 Jahre / 1 x 10 ^ 9/1 x 10 ^ 9 = 1,014 bis 10,014 Milliarden Milliarden Jahre.
Die Computer im Bitcoin-Netzwerk sind also doppelt so schnell wie der größte Laborcomputer.
Kommentare
- Es sind genau 0 FLOPs erforderlich Versuchen Sie eine Kombination, da eine FLOP eine Gleitkommaoperation ist und EC-Mathematik nur ganzzahlige Operationen erfordert.
- Es gab noch nie einen Computer, an dem ich gearbeitet habe, der nicht ‚ t integer ma th. Daher würde ich davon ausgehen, dass der südkoreanische K-Computer dies auch kann.
- Ja, aber das Verhältnis zwischen der Geschwindigkeit von Ganzzahl- und Gleitkommaoperationen unterscheidet sich zwischen den Hardware erheblich. Bei einer bestimmten Verteilung der Hardwaretypen, die die Mining-Leistung von Bitcoin ‚ ausmachen, können Sie eine Schätzung abgeben, aber die Antwort auf die Frage “ Wie viele FLOPS werden pro Schätzung benötigt? „, die Antwort ist sicherlich 0.
- Anzahl der Tastenkombinationen = 2 ^ 256; durchschnittliche Anzahl der benötigten Vermutungen = 2 ^ 256/2 = 2 ^ 256 * 2 ^ -1 = 2 ^ 255, niemand hat es bemerkt? Nun, es ändert nichts an der benötigten Milliarde (von Milliarden) Jahren.
Antwort
Es gibt eine vanitygen
Dienstprogramm (siehe Exploitagency-Version die verbesserte Gabel der samr7 „-Version ), mit der Sie abschätzen können, wie lange es dauert, den privaten Schlüssel für das angegebene Muster zu finden (siehe: vg_output_timing_console()
). Einige Sonderfälle (wie wiederholte Zeichen) sind schwieriger als die anderen.
Die Schwierigkeit, eine Eitelkeitsadresse zu finden, hängt von ihrer genauen Struktur ab (führende Buchstaben und Zahlen) und wie wahrscheinlich eine solche Ausgabe bei den beteiligten Algorithmen ist, die aus mehreren Drehpunkten bestehen können, bei denen sich die Schwierigkeit plötzlich ändert. Bitcoin-Wiki
Hier ist die Tabelle, die dies kann finden Sie auf der Bitcoin-Wiki-Seite , auf der die geschätzten Zeiten für das Knacken privater Schlüssel für die angegebenen Adressmuster angegeben sind:
Die folgende Beispieltabelle zeigt, wie sich eine zunehmend komplexe Eitelkeit auf die Schwierigkeit und die durchschnittliche Zeit auswirkt, die erforderlich ist, um eine Übereinstimmung nur für diese Eitelkeit zu finden, geschweige denn für die vollständige Adresse für einen Computer, der 1 Million Schlüssel pro Sekunde durchsuchen kann.
Wenn Sie vanitygen verwenden, denken Sie möglicherweise, dass Sie den privaten Schlüssel für eine bestimmte Adresse finden können. In der Praxis wird dies als unmöglich angesehen.
Praktisches Beispiel
Erstellen wir Folgendes: unspendable
Bitcoin-Adresse :
$ unspendable.py 23456789A123456789A12345678 mainnet: 123456789A123456789A12345678Yr8Dxi
Mit 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: Oben wurde auf MacBook Pro (2,3 GHz Intel Core i7, 16 GB 1600 MHz DDR3) getestet.
Außerdem kann die geschätzte Zeit berechnet werden, wenn nach bestimmten Mustern gesucht wird, z. B.
-
, um die ersten 5 Zeichen von 26 bis 35 (wenige Sekunden) zu finden:
$ 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 von 26-35 Zeichen (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 (einige Wochen):
$ vanitygen -q -k -o/dev/null 12345678 [658.82 Kkey/s][total 2548480][Prob 0.0%][50% in 10.8d]
-
9 Zeichen oder t von 26-35 (einige 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 von 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 von Jahrtausenden, einige 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 von 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 Jahre, 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 die Das erste Zeichen ist nur die Netzwerkkennung (für Bitcoin sind es normalerweise 1
oder 3
) und die letzten 4 Bytes ist nur eine Prüfsumme. Weitere Informationen zur Adresse finden Sie auf dieser Bitcoin-Wiki-Seite .
Schlüsselsuchraten
Auf jeden Fall Die Schlüsselsuchrate kann durch Verwendung einer besseren GPU oder mehrerer CPUs erhöht werden (siehe: -t
). Die Schätzungen können jedoch sehr hoch sein.
Zum Beispiel Hier ist die Tabelle der Schlüsselsuchraten unter Bitcoin-Wiki-Seite :
Und hier sind einige Berichte von Benutzern für verschiedene GPUs:
- i7 8700K – ~ 3Mkey / c
- GTX 980TI (v1.42) – ~ 73Mh
- GTX 1050ti – ~ 23 Mkey / c
- GTX 1070 – ~ 50Mhkey / s
- GTX 1080ti – ~ 108 Mkey / c
Quelle: Liste der unterstützten GPUs (GH-46) .
Antwort
Das einzig realistische Risiko wäre das Quantencomputing.
Oder die Entdeckung eines Fehlers in den BTC-Softwarealgorithmen. Dann kann das Knacken je nach Art des Fehlers eine Frage von Sekunden sein.
Kommentare
- Hallo und willkommen bei StackExchange. Sind Sie sicher, dass Sie ‚ nicht möchten, dass dies eine andere Antwort kommentiert, sondern eine eigenständige Antwort?
- @ThePiachu, danke . Wie Sie vielleicht wissen, können neue Benutzer keine Kommentare veröffentlichen, sondern nur Antworten. Der Moderator kann dies gerne beheben. (Ich kann nur meine eigenen Antworten kommentieren.)
- Oh, Sie sind ein Moderator. I hab gerade gemerkt. 🙂
Antwort
Der schnellste Computer ist 150 Petraflops FPC pro Sekunde, nicht 10 … Versuchen Sie und Bleiben Sie auf dem Laufenden (NV Link- und Volta HCP-Karten auf IBM Power-Prozessoren) … Sie können mehr auf der Website von Team Green oder auf den Konferenzvideos 2015 auf U Tube lesen oder sehen. Da die allgemeine Antwort auf zu basieren scheint 10 Petraflops als schnellster Computer der Welt …Sie sollten klar erkennen können, wie schnell sich die FPC pro Sekunde ändern kann. Das Energieministerium plant ein 300P-System, das bereits auf derselben Technologie basiert.
Der Punkt ist, dass Ihre Bitcoin-Leute, die Ihnen sagen, wie sicher es auf 10P basiert, die grundlegende Mathematik bereits 15 bis 30 Mal falsch haben, weil sie offensichtlich nicht so viel wissen, wie sie denken. Die Verbesserungen sind Unabhängig von Moores Gesetz haben die jüngsten Fortschritte und gegenwärtigen Einschränkungen 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 es funktioniert Die Theorie von einer Milliarde Milliarden Jahren ist bereits um den Faktor 15 bis 30 falsch und wird jedes Jahr mit einer viel höheren Rate falsch sein, als sie annehmen. In 30 Jahren oder weniger wird Bitcoin auf dem gegenwärtigen Niveau leicht durchbrochen Jeder, der 40 bis 50.000 Dollar ausgeben muss (in heutigem Geld) oder eine beliebige Anzahl von Universitäts- oder Unternehmens-Supercomputern verwenden kann.
Jeder, der tatsächlich glaubt, dass 50 Jahre alte Technologie etwas digital Sicheres 50 Jahre lang aufbewahren wird später ist offen gesagt nicht die Art von Person, die Sie p sein sollten JEDE Aufmerksamkeit auf sich ziehen … 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 gerade hier sind.
Kommentare
- NVLink ist eine Technologie, die eine schnellere und energieeffizientere Kommunikation zwischen Knoten in einem Supercomputer ermöglicht. Beides ist nicht wirklich von Belang, wenn Sie ‚ eine erstellen verteilter Key-Cracker.