Wofür werden midstate und hash1 beim Mining verwendet?

Die erste Antwort hier erklärt gut, wie die SHA-256-Funktion mehr als eine Eingabe erfordert (eine erste wird von den SHA-256-Spezifikationen angegeben). Soweit ich weiß, ist der "Midstate" -Wert der anfängliche Hash der ersten Hälfte der Daten, der später als Eingabe für den Double-Hash der zweiten Hälfte der Daten dient.

Ist das richtig?

Und hier ist eine Erklärung, was der „hash1“-Wert eigentlich ist und bedeutet, aber wofür wird er verwendet?

Was meinst du hier mit "halb"? Wenn b=SHA(a=SHA(data)), a = "anfänglicher Hash" und b = "zweite Hälfte"? Also, aist der Mittelstaat?
Dies definiert Midstate gut; es ist „der Inhalt des ‚Zustands‘, nachdem der erste [SHA256]-Block verarbeitet wurde.“ Es ist also nicht drin, awenn b=SHA(a=SHA(data))es datalänger als ein SHA256-Block (64 Byte) ist. Ist der Bitcoin-Block-Header nicht 80 Bytes groß?

Antworten (1)

1) Ja, es ist richtig.

2) Es ist veraltet. Im Allgemeinen wird es verwendet, um das Ergebnis des Minings zu schreiben, um es an den Pool zu senden. Dadurch soll sichergestellt werden, dass das Ergebnis die richtige Länge hat und einige Regeln einhält. In der Praxis ist es immer dieselbe nachgestellte Zahlenfolge.

Der Hash1-Wert selbst wird also nie wirklich verwendet? Es dient nur als Formatierungsvorlage?
@ConstableJoe Nun, es wird nicht für Berechnungen verwendet, es ist im Allgemeinen veraltet und wird schließlich aus dem getwork-Protokoll ausgelassen.
Interessant. Scheint ziemlich nutzlos, es sei denn, ich übersehe etwas.