Was kann in einer signierten Bitcoin-Transaktion geändert werden? Ich meine, wie ist es möglich, die Transaktion zu ändern, um ihren Hash zu ändern, aber die Transaktion gültig zu halten, ohne dass private Schlüssel signiert werden müssen?
Hier ist die Liste der bekannten Quellen der Formbarkeit von BIP62 (das zurückgezogen wurde und nicht mehr aktuell ist, aber einen Einblick gibt):
(1) wurde für alle Transaktionen von BIP66 behoben, und (2)-(6) werden durch Standardregeln in neueren Bitcoin Core-Versionen verhindert. Ein Sonderfall von (7) soll von BIP147 behoben werden.
Segregated Witness (BIP141) schlägt vor, alle zu beheben, aber nur für Transaktionen, die ausschließlich von Segwit-Ausgaben ausgegeben werden. Dazu werden die scriptSig-Daten in ein neues Feld (den Zeugen) verschoben, das die txid nicht beeinflusst.
Nein! Die Algorithmen werden durch den ersten von Bitcoin erstellten Block generiert. Wenn Sie also den Hash ändern, wird die Transaktion nicht erkannt und ungültig.
TL;DR Heute - nichts
Tatsächlich gibt es mehrere Quellen für Formbarkeit. Die meisten von ihnen (nicht alle) sind bereits durch geänderte Konsensregeln behoben, andere werden zu Transaktions-Nicht-Standards.
Aber. Bist du Angreifer oder Verteidiger?
Sie können Transaktionen erstellen, die von jeder Person manipuliert werden können, ohne sie ungültig zu machen und ohne Kenntnis Ihrer Schlüssel. Es ist leicht.
Amaclin
Pieter Wuille