Ich verstehe, dass eine Bitcoin-Adresse eine Kombination oder mehr als eine Art von Verschlüsselung und Entropie ist, und ich verstehe auch, wie unwahrscheinlich es ist, dass dieselbe Adresse gleichzeitig generiert wird.
Obwohl die privaten Schlüssel unterschiedlich sein werden, mildert dies meine Bedenken nicht.
Wenn Person A einem Zahler ihre öffentliche Adresse sendet, woher weiß das Netzwerk, dass es sie nicht an die Adresse von Person A und Person B senden soll?
Vielleicht habe ich hier nur einen Fehlurteil, und dass der öffentliche Schlüssel aus dem privaten Schlüssel und dem Hash160 abgeleitet werden muss und daher eine öffentliche Adresse nicht ohne den gleichen privaten Schlüssel generiert werden kann
Das Netzwerk kann den Unterschied nicht erkennen. In dem astronomisch unwahrscheinlichen Fall, dass zwei verschiedene Personen private Schlüssel haben, deren öffentliche Schlüssel an dieselbe öffentliche Adresse gehasht sind, können beide alle Münzen ausgeben, die an diese Adresse gesendet werden, je nach Verfügbarkeit.
Um zu veranschaulichen, wie unwahrscheinlich dies ist: Angenommen, jeder Satoshi jeder jemals generierten Bitcoin wurde an seine eigenen eindeutigen privaten Schlüssel gesendet. Die Wahrscheinlichkeit, dass es unter diesen Schlüsseln zwei geben könnte, die derselben Adresse entsprechen, beträgt ungefähr eins zu 100 Trillionen.
Natürlich ist die Wahrscheinlichkeit nur dann „astronomisch unwahrscheinlich“, wenn die privaten Schlüssel wirklich zufällig generiert werden. Wenn dies nicht der Fall ist, besteht eine größere Chance, dass jemand anderes den privaten Schlüssel erraten kann. Jeder, der dies tut, kann Münzen ausgeben, die an diese Adresse gesendet werden. Genau das ist bei dieser Schwachstelle passiert .
Eine unterhaltsame Aktivität, analog zu "einen Dollarschein auf der Straße lassen und sehen, wer ihn aufhebt", besteht darin, sich einen privaten Schlüssel zu erstellen, der eine sehr kleine Ganzzahl ist. Dann schicken Sie einen kleinen Geldbetrag an die entsprechende Adresse. Es scheint eine Reihe von Leuten zu geben, die solche Adressen beobachten, damit Sie sehen können, wer es zuerst schafft (indem er es an eine sicherere Adresse ausgibt, die sie kontrollieren).
Als lustige Tatsache möchte ich hinzufügen, dass Sie, wenn Sie den Null-String als öffentlichen Schlüssel nehmen und ihn hashen, die Adresse erhalten 1HT7xU2Ngenf7D4yocz2SAcnNLW7rK8d4E
, die etwa 69,77 Bitcoins enthält. Leider sind diese nicht auszugeben, da die Adresse wahrscheinlich durch einen Softwarefehler generiert wird und wahrscheinlich keinen damit verbundenen privaten Schlüssel hat.
Ein öffentlicher Schlüssel entspricht einem privaten Schlüssel, der nur eine sehr große Ganzzahl ist.
Was das Netzwerk betrifft, kann jeder, der den privaten Schlüssel für Gelder an einer Adresse hat, diese ausgeben. Der einzige Eigentumsnachweis ist, dass aufgrund der Funktionsweise der Public-Key-Kryptographie private key ==> public key/public address
in Ordnung ist, das Gegenteil kann nicht berechnet werden.
Wenn Sie den privaten Schlüssel für Geldmittel an einer Adresse aufbewahren und ein Kunde zufällig denselben privaten Schlüssel herausgibt, können Sie die Münzen ausgeben. Unter der Annahme von Zufallszahlen wird dies jedoch niemals passieren
Nate Eldredge
David Schwarz
Madzi Konjo