Wie verifizieren Miner Transaktionen, ohne Absender und Empfänger zu identifizieren?

Ich meine, in Satoshi-Papier lesen wir, dass Sender und Empfänger eine begrenzte Anonymität haben.

Indem öffentliche Schlüssel anonym gehalten werden. Die Öffentlichkeit kann sehen, dass jemand einen Betrag an jemand anderen sendet, jedoch ohne Informationen, die die Transaktion mit jemandem verknüpfen.

Wie können Bergleute durch Anonymisierung öffentlicher Schlüssel überprüfen, ob der Absender genug Geld hat?

Antworten (2)

indem öffentliche Schlüssel anonym gehalten werden.

Das Whitepaper bezieht sich darauf, dass standardmäßig nicht bekannt ist, welche Person oder Organisation einen öffentlichen Schlüssel kontrolliert. ---Der öffentliche Schlüssel selbst kann aus der Signatur einer Bitcoin-Transaktion wiederhergestellt werden--- Der öffentliche Schlüssel ist als Teil des scriptSig in einer Transaktionseingabe enthalten und wird dann gehasht und gegen den öffentlichen Schlüssel validiert, der zum Erstellen der Adresse verwendet wurde.

Da eine Signatur nur durch den entsprechenden privaten Schlüssel erzeugt werden kann, können Sie überprüfen, ob es sich um den richtigen Schlüssel für die angegebene Adresse handelt.

Obwohl Sie also sehen können, wie die Beträge verschoben werden, wissen Sie nicht, wer sie ausgibt oder wohin sie gehen (ohne eine Off-Chain-Analyse durchzuführen).

Indem öffentliche Schlüssel anonym gehalten werden, können Bergleute überprüfen, ob der Absender genug Geld hat

Nachdem wir nun festgestellt haben, dass der Schlüssel selbst verfügbar ist, validieren Miner, dass die Beträge korrekt sind, indem sie auf die Eingabekette verweisen. Jeder Input in einer Transaktion bezieht sich auf einen bestimmten Output, der in der Vergangenheit erstellt wurde. Bei der Validierung sucht der Knoten alle vorherigen Transaktionen, auf die verwiesen wird, addiert alle ihre Ausgabewerte und überprüft dann die Ausgaben der aktuellen Transaktion. Wenn die durch die Transaktion erzeugten Ausgaben kleiner oder gleich der Eingabesumme sind, ist sie gültig.

In der Praxis sind die Outputs derzeit geringer als die Inputs, da 0-Gebühren-Transaktionen nicht mehr erlaubt sind (sie können immer noch abgebaut werden, aber Sie werden es ziemlich schwierig finden, sie zu übertragen). Die Differenz zwischen den Inputs und den Outputs wird vom Miner als Transaktionsgebühr geltend gemacht.

Der vollständige Unterschrifts- und Adressverifizierungsprozess umfasst:

  • Validierung der Signatur über die Transaktionsdaten
  • Hashing des öffentlichen Schlüssels aus scriptSig mit HASH_160und Vergleich mit dem in die Adresse eingebetteten Hash

Dies bestätigt Folgendes:

  1. Die Transaktion selbst wird unterzeichnet
  2. Der öffentliche Schlüssel stimmt mit dem öffentlichen Schlüssel innerhalb der Adresse überein (indem überprüft wird, ob die Hashes gleich sind)
@saraafshar Key Recovery wird auf Crypto.SE beschrieben: crypto.stackexchange.com/a/18106/2301
Vielen Dank für Ihre Antwort, aber ich kann nicht verstehen, wenn Miner keinen öffentlichen Schlüssel haben, wie können sie die Signatur überprüfen? Sie meinen, der Miner kann den öffentlichen Schlüssel des Absenders anhand der Signatur finden?
Richtig, ich habe meine Antwort etwas weiter bearbeitet, um zu erläutern, wie der wiederhergestellte Pub-Schlüssel auch die Adresse überprüft
wenn ich es richtig verstehe, weil Miner endlich den öffentlichen Schlüssel finden, damit sie wissen, wer der Absender ist und wir keine Anonymität haben?
Sie kennen den Schlüssel, aber sie wissen nicht, wem dieser Schlüssel gehört. Sofern Sie eine Adresse nicht irgendwie öffentlich mit Ihrer Identität in der realen Welt verknüpft haben (indem Sie sie in einem Forum, sozialen Medien, Blog oder was auch immer veröffentlicht haben), ist es nicht möglich zu erraten oder zu beweisen, wem eine Adresse gehört.
@RaghavSood Der öffentliche Schlüssel ist explizit in der Skriptsignatur enthalten, die nicht aus der Signatur wiederhergestellt wurde. Es könnte aus der Signatur wiederhergestellt werden, ist aber nicht in der Praxis, da es sich um einen CPU-intensiven Prozess handelt.
@Abdussamad Oh je, du hast recht. Ich dachte an Ethereum TXS. Ich werde die Antwort aktualisieren, danke!

Wenn Sie aufgefordert wurden, eine Bargeldtransaktion zu überprüfen, müssen Sie lediglich prüfen, ob die umgetauschten Scheine echt sind. Sie müssen nicht wissen, wer die beiden Parteien sind oder was ihre Motive sind.

Auf ähnliche Weise verifizieren Miner nur, dass die sendende Partei die privaten Schlüssel einer Adresse hat, die das Bitcoin hat, und dass sie das Bitcoin nicht bereits woanders hingeschickt haben.

Eigentlich suche ich nach einem Weg für vollständige Anonymität. Ich kenne das Mischen von Diensten oder die Verwendung mehrerer Brieftaschen, aber sie haben eine geringe Anonymität