Wie würde dieser Doppelausgaben-Angriff verhindert werden?

Ich weiß, dass ein Benutzer keinen Fork in der Kette erstellen kann.

Außerdem wird gesagt, dass, da jede Transaktion öffentlich angekündigt wird, jeder Versuch der doppelten Ausgabe in derselben Kette abgelehnt würde, da das Netzwerk wissen würde, dass diese Bitcoins zuvor in der Kette ausgegeben wurden. Aber wie würde das Netzwerk feststellen, dass diese Bitcoins zuvor ausgegeben wurden, weil die Identität von Zahler und Zahlungsempfänger nicht bekannt ist? Zum Zeitpunkt der Ausgabe sind nur die neu erstellten Adressen bekannt, die später während der doppelten Ausgabe geändert werden können.

Zum Beispiel, wenn Alice 10 BTC an Bob sendet, indem sie 0000ab578c4 als ihre Adresse verwendet und dies Teil des 50. Blocks in der Blockchain ist. Jetzt gibt sie wieder 10 BTC an Bob aus, indem sie eine andere Adresse 004325bda im 67. Block derselben Kette verwendet. Wie würde das Netzwerk feststellen, dass dies eine doppelte Ausgabe ist? (Niemand weiß, wem 004325bda gehört).

Wenn sie 10 BTC an zwei separaten Adressen hat, dann hat sie insgesamt 20 BTC und kann daher 10 BTC zweimal an Bob senden.

Antworten (1)

Transaktionen erstellen nicht ausgegebene Transaktionsausgaben . UTXO sind eindeutig identifizierbar. UTXO sind unteilbar, sie werden vollständig zerstört, wenn Geld von ihnen ausgegeben wird. ( Deshalb müssen Sie das Wechselgeld an sich selbst zurücksenden. ) Das bedeutet natürlich auch, dass Sie nicht auswählen können, von welcher Adresse Sie Geld senden, sondern die "Sendeadresse" existiert nur implizit, indem es sich um die Adresse handelt, die die Förderzahlung erhalten hat.

Wenn also jemand versucht, Geld auszugeben, prüfen die Knoten des Netzwerks, ob die entsprechenden UTXO zum Ausgeben verfügbar sind, dh in der Menge der UTXO aufgeführt sind.

Wenn jemand versucht, zweimal Geld auszugeben, wäre der UTXO bereits durch die erste Transaktion verbraucht worden und würde daher nicht mehr in der Menge der UTXO aufgeführt sein.