Bitcoin Adresse knacken - Denkfehler

lordg2009

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.503
Wenn es um die Diskussion Bitcoin-Adresse brute-forcen geht, werden immer die Möglichkeiten werden immer die Möglichkeiten durchgerechnet, die ein 256bit hash hat und anschließend kommen Billionen notwendige Jahre raus, um einen private key zu knacken. Anschließend wird eine Hochrechnung mit dem Mooreschen Gesetz gemacht und darauf hingewiesen, dass auch in 50 Jahren noch Jahrzehnte notwendig sind.

Was aber nun, wenn man sich alle gefüllten wallet Adressen aus der Blockchain zieht und den errechneten hash in dieser Liste sucht? Laut Internet gibt es aktuell ca. 14 Mio genutzte wallets. Wenn ich mir zum Ziel setze, nicht eine bestimmte Adresse zu knacken, sondern irgendeine Adresse zu knacken, dann würde sich die Zeit doch durch 14 Mio teilen, oder? Sollte es also in ein paar Jahren technisch möglich sein, eine Adresse in 7 Mio Jahre zu knacken, so würde es nur ein halbes Jahr dauern, eine der beliebigen 14 Mio Adressen zu brute-forcen.

Allerdings ist mir bewusst, dass ich nicht der erste bin, der auf diese Idee kommt, wo liegt mein Denkfehler?
 
Du musst dann aber jedes mal mit 14 Mio Wallets vergleichen. Also bist du wieder bei Plus/minus null
 
Sicherlich dauert das. Aber das zeitintensiveste ist doch das errechnen des hashs. Somit würde sich die Zeit nicht durch 14 Milionen teilen, aber doch drastisch.
 
Hi,

Dein Denkfehler liegt meines Wissens daran dass du unterschätzt wie groß 2^256 ist.
Das Problem ist nicht die Prüfung ob der private-Key in Ordnung ist. Das Problem ist einfach die Anzahl.

Ich könnte mit meinem Vergleich hier falsch liegen, aber ich erinnere mich an folgenden Vergleich:

Angenommen du möchtest von 0 bis 2^256 zählen.
Dafür baust du einen neuen, nahezu perfekten Super-Quantencomputer.
Für jeden Zählschritt braucht dieser Computer nur die minimalst mögliche Menge an Energie die physisch erlaubt ist um ein Teilchen in einen anderen Zustand zu bringen.

Selbst mit diesem neuartigen Super-Quantencomputer braucht du zum durchzählen von 0 bis 2^256 mehr Energie als laut E=mc^2 in unserem Universum verfügbar sein könnte.

Und da hat dieser PC noch nichtmal eine der Adressen geprüft.

EDIT: Weiters: 2^256 ist 1.1579209 * 10^77, eine andere, sehr große Zahl (52!) ist nur 8.0658175e * 10^67. Das ist ein Unterschied von 10 Nullern.

Hier erklärt jemand sehr nett wie groß 52! ist: https://czep.net/weblog/52cards.html

This number is beyond astronomically large. I say beyond astronomically large because most numbers that we already consider to be astronomically large are mere infinitesmal fractions of this number. So, just how large is it? Let's try to wrap our puny human brains around the magnitude of this number with a fun little theoretical exercise. Start a timer that will count down the number of seconds from 52! to 0. We're going to see how much fun we can have before the timer counts down all the way.

Start by picking your favorite spot on the equator. You're going to walk around the world along the equator, but take a very leisurely pace of one step every billion years. The equatorial circumference of the Earth is 40,075,017 meters. Make sure to pack a deck of playing cards, so you can get in a few trillion hands of solitaire between steps. After you complete your round the world trip, remove one drop of water from the Pacific Ocean. Now do the same thing again: walk around the world at one billion years per step, removing one drop of water from the Pacific Ocean each time you circle the globe. The Pacific Ocean contains 707.6 million cubic kilometers of water. Continue until the ocean is empty. When it is, take one sheet of paper and place it flat on the ground. Now, fill the ocean back up and start the entire process all over again, adding a sheet of paper to the stack each time you’ve emptied the ocean.

Do this until the stack of paper reaches from the Earth to the Sun. Take a glance at the timer, you will see that the three left-most digits haven’t even changed. You still have 8.063e67 more seconds to go. 1 Astronomical Unit, the distance from the Earth to the Sun, is defined as 149,597,870.691 kilometers. So, take the stack of papers down and do it all over again. One thousand times more. Unfortunately, that still won’t do it. There are still more than 5.385e67 seconds remaining. You’re just about a third of the way done.
 
Zuletzt bearbeitet:
Hab gerade nachgeschaut, das Universum enthält wohl geschätzt 10^78 Atome, das sind nach meiner Rechnung ca. 2^259 Atome. Man könnte also sagen, ein 256 bit hash birgt hat so viele Möglichkeiten, wie das Universum Atome hat.
 
naja wie überall anders auch gilt auch hier: es ist schwachsinnig zu versuchen da den hash zu knacken/bruteforcen, da das in keinem zeitlichen nutzvollen Rahmen funktioniert ... muss man aber auch nicht, da greift man eher die Implementierung an den die lässt sich viel eher in nem annehmbaren Zeitrahmen kompromitieren! ... Bei Wallets reicht auch einfaches Phishing :D ... viel effektiver. Letztendlich ist ja nur das Endergebnis wichtig. Hier eben das Wallet ist hinterher leer. Ob das dann durch bruteforcen oder phishing geleert wurde spielt keine Rolle mehr.
 
Zuletzt bearbeitet:
lordg2009 schrieb:
Was aber nun, wenn man sich alle gefüllten wallet Adressen aus der Blockchain zieht und den errechneten hash in dieser Liste sucht?

https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses

Die Adressen sind keine simplen Hashes des private Keys und den privaten Teil brauchst du, wenn du Werteinheiten verschieben willst. Wenn ich die Darstellung richtig verstehe gibt es je private Key die Möglichkeit 2^256 public Keys und damit Adressen abzuleiten. Wobei sich im Schnitt die Aufwand für eine zufälligen Treffer um den Faktor (1/2 * n) für jeden bekannten, vorm Provat Key abgeleiteten Pubkey ergibt. Jedoch mit mindestens 3 Stufen recht aufwendiger asymetrischer Kryptoalgorithmen (1x) bzw. Hashverfahren (2x).


Auf Verdacht gegen alle existenten Adressen zu prüfen erhöht die Komplexität um die Anzahl der möglichen private Keys und die liegt nochmals bei 2^256 mit mindestens einer weiteren Stufe etwas komplexerer Algorithmen.

Wer soviel Rechenleistung hat, sollte lieber gleich Schürfen, die Komplexität ist weit geringer.
Ergänzung ()

owned_you schrieb:
naja wie überall anders auch gilt auch hier: es ist schwachsinnig zu versuchen da den hash zu knacken/bruteforcen[...]

"wie überall" stimmt ja auch nicht. Ungesalzene MD5/Sha1-Hashes kann man mit haushaltsüblichen Rechenknechten ernsthaft angreifen.
 
Zurück
Oben