Transaktionskettendiagramm-Hashwert von Satoshi Nakamoto

In Satoshi Nakamotos Diagramm:

Geben Sie hier die Bildbeschreibung ein

Die Zeile, die von Transaktionsblock 1 kommt und zum „Hash“-Label in Transaktionsblock 2 führt, scheint den Hash des gesamten Transaktionsblocks darzustellen (Öffentlicher Schlüssel von Eigentümer 1 + Hash + Signatur von Eigentümer 0) und nicht den in der Transaktion angezeigten Hash-Wert Block 1 (in diesem Fall sollte die Linie (technisch gesehen) eher an den Hash-Block als an die Grenze des Transaktionsblocks angehängt werden). Kann jemand genau bestätigen, wie der angezeigte Hash-Wert berechnet wird und ob er die Signatur des Vorbesitzers enthält oder nicht?

Antworten (1)

Kann jemand genau bestätigen, wie der angezeigte Hash-Wert berechnet wird

Indem die Rohdaten für die Transaktion (wie in den Bytes, die für die Transaktion über das Kabel gesendet werden) genommen und durch eine Hash-Funktion geleitet werden. Für Bitcoin ist das SHA-256 doppelt (SHA-256 zweimal ausgeführt).

und ob es die Unterschrift des Vorbesitzers enthält oder nicht?

Es hängt davon ab, ob. Der Einfachheit halber könnte man sagen, dass es die Unterschrift des Vorbesitzers enthält.

Aufgrund der Aktivierung von segwit enthält es jedoch nicht immer die Signatur. Für Segwit ist der Hash nicht wirklich der Hash der gesamten Transaktion, sondern Teile davon, die nicht Segwit sind. Nicht-Segwit-Transaktionen haben die Signaturen als Teil der gehashten Daten.

Super, danke. Wenn also der Transaktionsblock die Signatur nicht enthält, enthält der Hash von Transaktionsblock 2 dann einen Verweis auf den berechneten Hash von Transaktionsblock 1 (dh speziell den Hash des öffentlichen Schlüssels von Eigentümer 1 + den vorherigen Hash)? Gemäß dem Diagramm wird nichts anderes als der öffentliche Schlüssel gehasht, es sei denn, die Signatur ist enthalten. Ist das Diagramm weitgehend abstrahiert? Gibt es eine Spezifikation, die ich sehen kann, die genau zeigt, was gehasht wird – Segwit oder auf andere Weise?
Das Diagramm ist weitgehend abstrakt und enthält nicht, was tatsächlich gehasht wird. Eine genauere Erklärung findet sich in BIP 144: github.com/bitcoin/bips/blob/master/bip-0144.mediawiki#hashes