Es ist möglich, dass ein Miner eine unbestätigte Transaktion modifiziert (wie das Ändern der Transaktionsausgabe an den Miner selbst) und sie in den lokalen Block eingefügt hat, und nach 10 Minuten hat der Miner das PoW glücklicherweise gelöst, den Block in die Kette eingefügt und gesendet zu anderen?
Wenn eine Transaktion geändert und schließlich mit der Kette verknüpft wurde, wie überprüfen andere, ob die TX gültig war oder nicht? (andere prüfen nur, ob die PoW-Antwort richtig oder falsch war, prüfen nicht tx, habe ich recht?)
Und wenn modifiziertes TX in der Kette war, wie können betroffene Personen ihr Vermögen aus dem Verlust an modifiziertem TX (bei dem der Output an den Miner selbst modifiziert wurde) zurückgewinnen? Könnten sie darum bitten, die Sperre aufzuheben, oder wie könnten sie das tun?
Danke
Es ist möglich, dass ein Miner eine unbestätigte Transaktion modifiziert (wie das Ändern der Transaktionsausgabe an den Miner selbst) und sie in den lokalen Block eingefügt hat, und nach 10 Minuten hat der Miner das PoW glücklicherweise gelöst, den Block in die Kette eingefügt und gesendet zu anderen?
Nein, da die Transaktion ungültig wäre. Die überwiegende Mehrheit der Transaktionen enthält digitale Signaturen, die die gesamte Transaktion signieren. Wenn die Transaktion geändert wird, werden die Signaturen ungültig und somit wird die Transaktion ungültig. Und wenn eine Transaktion ungültig ist, ist der Block, der sie enthält, ebenfalls ungültig.
Wenn eine Transaktion geändert und schließlich mit der Kette verknüpft wurde, wie überprüfen andere, ob die TX gültig war oder nicht? (andere prüfen nur, ob die PoW-Antwort richtig oder falsch war, prüfen nicht tx, habe ich recht?)
Nein, das ist völlig falsch. ALLE vollständigen Nodes verifizieren alle Transaktionen in allen Blöcken, die sie erhalten (sowie Transaktionen, die außerhalb von Blöcken empfangen werden). Nur weil ein Block einen gültigen Arbeitsnachweis hat, bedeutet das nicht, dass der Block gültig ist. Er muss weiterhin auf einem gültigen Block aufbauen und darf nur gültige Transaktionen enthalten. Vollständige Knoten überprüfen weiterhin, ob die in einem Block enthaltenen Transaktionen gültig sind.
Entgegen der landläufigen Meinung sagen Miner nicht, welche Transaktionen gültig sind. Ihre Aufgabe besteht darin, die Reihenfolge der Transaktionen innerhalb bestimmter Einschränkungen zu bestimmen. Es ist die Aufgabe von Full Nodes, Transaktionen zu verifizieren, und alle Miner (oder die Mining-Pools) sollten Full Nodes betreiben.
Jede gültige Bitcoin-Transaktion kann nur erstellt werden, wenn Sie den privaten Schlüssel, den öffentlichen Schlüssel und den öffentlichen Schlüssel des Empfängers haben. Sie können überprüfen, ob die Transaktion gültig ist, ohne den privaten Schlüssel zu haben, aber um sie zu ändern, müssten Sie die Transaktion von Grund auf neu erstellen, was nur möglich wäre, wenn Sie den privaten Schlüssel des Absenders hätten.
Also nein, es ist nicht möglich.
Bearbeiten: Eine gute Erklärung finden Sie unter https://youtu.be/Lx9zgZCMqXE?t=193
Normalerweise ist alles in einer Transaktion außer scriptSig kryptografisch signiert. So kann niemand Ihre Transaktionsausgaben ändern. Dies ist der Standardfall.
Aber es ist tatsächlich möglich, gültige Transaktionen zu erstellen, bei denen die Ausgaben geändert werden können.
Sehen Sie sich die konfigurierbaren Signatur-Hash-Typen an . Die Verwendung von DER-Signaturen mit dem angehängten SIGHASH_NONE
Flag ( ) erzeugt eine gültige Transaktion, deren freigeschaltete Gelder an jeden Ausgang umverteilt werden können.0x00000002
OP_CHECKSIG
Es ist möglich, aber nicht für reguläre Transaktionen
Benutzer253751