Es gibt einen Teil des Bitcoin-Protokolls, den ich nicht ganz verstehe.
Wenn Sie eine Transaktion durchführen und die Ausgabe einer vorherigen Transaktion für beispielsweise 1 BTC ausgeben, stellen Sie eine Signatur bereit, indem Sie den privaten Schlüssel verwenden, der mit dem öffentlichen Schlüssel (oder der Adresse) übereinstimmt, der in der Ausgabe der vorherigen Transaktion erscheint. Meine erste Frage hier ist, was genau signiert wird?
Zweitens, wenn die Transaktion gesendet wird, was hindert einen böswilligen Peer daran, die Eingabe meiner Transaktion mit Signatur für 1 BTC zu nehmen und eine neue Transaktion mit derselben Eingabe zu fälschen, die an ihre eigene Adresse geht? Um dies zu vermeiden, müsste die gesamte Transaktion (einschließlich Ausgaben) signiert werden. Ich konnte kein Dokument finden, das angibt, dass die gesamte Transaktion signiert ist.
Soweit ich weiß, signieren Sie sowohl die Eingabe als auch die Ausgabe der Transaktion, was bedeutet, dass niemand den Inhalt der Transaktion ändern kann, ohne Ihre Signatur ungültig zu machen. Ich hatte auch einige Probleme mit diesem Teil des Algorithmus und habe sogar früher eine ähnliche Frage gestellt , aber diese befasst sich eher mit den Low-Level-Bitoperationen als mit dem High-Level-Konzept.
Gopoi
Vedmant
mhrsalehi