Autor:
fillipponeOriginal Thema:
There are 2^256 private keys out there: how big is that number?
Gestern stolperte ich beim Stöbern im Bitcoin Kaninchenbau über die berüchtigte keys.lol Website
https://keys.lol(Warnung: Zeitverschwendung!)
Im Grunde handelt es sich um eine Website, die auf jeder Seite nach dem Zufallsprinzip 128 private Schlüssel generiert und dann den Kontostand der zugehörigen Adressen (komprimiert und nicht komprimiert) in der Blockchain überprüft, um eventuelle positive Kontostände oder vergangene Transaktionen zu melden.
Wow!
Wenn Sie ein positives Guthaben auf diesen clientseitig generierten Seiten finden, sind Sie tatsächlich Eigentümer der privaten Schlüssel, also sind Sie der rechtmäßige Besitzer dieses Guthabens, und nichts hindert Sie daran, es auf Ihre eigene Geldbörse zu übertragen.
Ich habe einige Stunden auf dieser Website verbracht und Tausende von privaten Schlüsseln generiert, natürlich ohne etwas zu finden, nicht eine einzige verwendete Adresse, geschweige denn eine mit einem Guthaben.
Dann begann ich zu überlegen, wie ich den Prozess ein wenig verbessern könnte, und im Gespräch mit einigen anderen Nutzern hier im Forum dachte ich, dass wir ein Skript haben könnten, das zufällige private Schlüssel generiert, anschließend mein eigener Bitcoin Knotenpunkt nach dem Guthaben auf dieser Adresse fragt und schließlich das Guthaben auf meine eigene Geldbörse überträgt. Lokal zu arbeiten, sollte den Prozess ein wenig beschleunigen, dachte ich.
Ich wusste von Anfang an, dass die Möglichkeiten, etwas zu finden, winzig waren, aber ich wollte es versuchen, denn wenn ich nach Guthaben suchte und nichts fand, konnte ich mir sicher sein, dass niemand dasselbe mit meinen eigenen Bitcoins tun konnte, die ich so sorgfältig in meiner kalten Brieftasche aufbewahrte.
Während ich darauf wartete, dass @babo sein Skript offenlegt, dachte ich mir: "Fillippone ist nur ein Spielball im Spiel des Lebens"... wie kommt es, dass niemand jemals daran gedacht hat?
Zurück im Kaninchenbau, entdeckte ich schnell den Large Bitcoin Collider.
https://lbc.cryptoguru.org/aboutWow, das ist ein ernstzunehmendes Projekt.
Im Grunde genommen generieren und überprüfen Tausende von verteilten Servern täglich 26 Billionen (!!!) von privaten Schlüsseln.
In den ersten drei Jahren ist es ihnen gelungen, 7 private Schlüssel zu finden. Das ist eine Menge! Ich dachte, die Chancen wären viel geringer, aber wahrscheinlich gibt es einen Fehler in einer Geldbörse, die einen suboptimalen Zufallszahlengenerator zur Erstellung von Schlüsseln verwendet. (Hier wären weitere Untersuchungen erforderlich!)
Schauen wir uns kurz einige Zahlen an:
Anzahl der theoretisch möglichen privaten Schlüssel: 2^256 oder ungefähr 10^77
Anzahl der Bitcoinadressen: 2^160
Anzahl der privaten Schlüssel, die von Bitcoin Collider durchsucht werden: 2^160
Anzahl der Atome im Universum: 10^78 bis 10^82
Anzahl der
verwendeten Bitcoinadressen: 18.000.000
Die Anzahl der TATSÄCHLICH möglichen privaten Schlüssel ist etwas kleiner als 2^256, wie
hier angegeben
Lassen Sie uns ein paar Beispiele ausarbeiten.
- Angenommen, wir haben eine Milliarde aktiver Adressen, von denen jede einen positiven Saldo aufweist: Wir wissen, dass diese Zahl etwa 10^3 größer ist als die tatsächliche Zahl.
Wahrscheinlich ist die Anzahl der Atome im Universum 10^3 mal größer als die Anzahl der Adressen, so dass man sagen kann, dass die Wahrscheinlichkeit, einen privaten Schlüssel mit einem positiven Wert zu finden, ungefähr so groß ist wie die Wahrscheinlichkeit, eines dieser Atome im gesamten sichtbaren Universum zu finden.
Wie groß ist eine Milliarde Atome? Laut dieser Quora Antwort ist es kleiner als ein E.Coli-Bakterium. Nehmen wir also dieses Bakterium, zerkleinern es auf atomarer Ebene, verteilen es im Universum und versuchen, eines dieser Atome zu finden. Ziemlich schwierig, nicht wahr?
- Das zweite Beispiel stammt aus diesem Artikel. Nehmen wir an, wir wollen alle privaten Schlüssel auf der Suche nach einem positiven Saldo scannen und nehmen wir an, dass jeder Bewohner der Erde eine Scangeschwindigkeit hat, die eine Milliarde Mal höher ist als das Doppelte der aktuellen Rechenleistung des Bitcoinnetzwerks, also:
* 10 Milliarden Menschen;
* multipliziert mit einer Milliarde;
* multipliziert mit der doppelten Rechenleistung von Bitcoin, etwa 100 Tausend Terahash pro Sekunde;
erhalten wir: 1.000.000.000.000*1.000.000.000*100.000*100.0000.000.000 = 10^10*10^9*10^5*10^12 = 10^36
Der Einfachheit halber haben wir "115.792.089.237.316.195.423.570.985.008.687.907.852.837.564.279.074.904.382.605 .163.141.518.161.494.336" auf 10^77 abgerundet, und wir haben herausgefunden, dass es 10^77/10^36 = 10^41 Sekunden dauern würde, wenn wir jeden einzelnen privaten Schlüssel auf der Suche nach einem positiven Saldo überprüfen würden, wie viele Jahre würden das sein?
Da ein Jahr etwa 31557600 Sekunden hat, entspricht dies etwa 10^41/31557600 = 31^33 Jahren, was mehr oder weniger dem 10^23-fachen des geschätzten Alters des Universums (derzeit auf 13,82 Milliarden Jahre geschätzt) entspricht, kurz gesagt
100.000.000.000.000.000.000.000, d.h. etwa das 100 Milliarden Milliardenfache des Alters des Universums.
- In allen bisherigen Beispielen wurde die Energie, die in solchen Berechnungen steckt, nicht berücksichtigt. Natürlich müssten all diese sehr leistungsstarken Maschinen mit irgendeiner Art von Energie betrieben werden. Wie viel Energie wäre dafür nötig? Nun, eine ganze Menge, wie diese Infografik zeigt:
Link auf Reddit
Weitere Beispiele dafür, wie viel es kosten würde, einen privaten Schlüssel zufällig zu erraten:
Weitere Referenzen:
Andere, sehr große Zahlen:
Dies sind nur einige Beispiele. Wenn Ihr weitere Ressourcen oder Kommentare habt, dann zögert nicht, diese unten zu posten, und ich werde die Liste ergänzen!