BIP 143 verstehen [Hash-Berechnung, lockTime, Sequenznummer, Witness-Format]

Ich versuche, einige der in BIP 143 vorgestellten Konzepte zu verstehen . An diesen Dingen hänge ich fest:

(1) Ein neues Hash-Format wird präsentiert. Dieses neue Format wird verwendet, um einen Hash zu erstellen, der, wenn er mit einem privaten Schlüssel signiert wird, als Signatur für eine Eingabe fungiert. Wenn meine Transaktion eine Mischung aus Eingabetypen enthält (z. B. P2PKH und P2WPKH) und ich die P2PKH-Eingabe signiere, verwende ich dann immer noch das ursprüngliche Hash-Format, das in der Vergangenheit verwendet wurde, oder soll ich dieses neue Format verwenden? Es scheint, dass das neue Format nur beim Signieren der P2WPKH-Eingaben verwendet wird, richtig?

(2) In der Vergangenheit habe ich lockTime immer auf 0x00 gesetzt. Warum ist es im BIP 143-Beispiel auf 0x11 gesetzt?

(3) In der Vergangenheit habe ich sequenceNumber immer auf 0xffffffff gesetzt. Warum ist im BIP 143 Beispiel auf 0xeeffffff gesetzt?

(4) Ich kann das Format des Zeugenabschnitts nicht ganz verstehen. Natürlich sollte für jede Eingabe ein Eintrag vorhanden sein. Und für den P2PKH-Eingang ist es einfach auf Null gesetzt. Aber was kommt als nächstes? Demnach besteht jeder Eintrag aus einer ganzen Zahl, die die Anzahl der "Stack-Items für das entsprechende txIn" angibt, und dann besteht jedes Stack-Item aus einem Größenindikator und der Nutzlast des Stack-Items . Aber was sind die Stack-Items und wie ist ihre Reihenfolge? Vermutlich würde ich hier mein Eingabeskript und meine Signatur ablegen, oder?

Antworten (1)

  1. Ich glaube, Sie können beides in diesem Stadium verwenden. Die Markierung und die Flaggenshow lassen den Client entschlüsseln, welches Schema verwendet wird, und entsprechend interpretieren.

  2. lockTime legt fest, ab wann die Transaktion gültig ist. 0x00 stammt aus dem ersten Block, 0x11 stammt aus einem späteren Block. Sie können weiterhin 0x00 verwenden, wenn Sie dies wünschen. https://bitcoin.org/en/glossary/locktime . Die meisten Transaktionen werden mit einer Sperrzeit in der Vergangenheit veröffentlicht, damit sie sofort abgebaut werden.

  3. Die Sequenznummer: https://bitcoin.org/en/glossary/sequence-number

  4. Die Stack-Items hängen von der Art der Transaktion ab. Siehe die Beispiele in bip 141. Zum Beispiel ist der Zeuge für p2WPKH, der in BIP16 P2SH verschachtelt ist, "signature" "pubkey".