Glossar · im Detail

Sighash

Ein Flag, das angibt, auf welche Teile einer Transaktion sich eine Signatur verpflichtet.

Wenn du eine Transaktion signierst, signierst du nicht die Rohbytes. Du signierst einen Hash ausgewählter Teile, den Signature Hash. Ein ein-Byte-Sighash-Flag am Ende der Signatur sagt, welche Teile.

Die Flags

  • SIGHASH_ALL (Standard): committed sich auf alle Inputs und Outputs.
  • SIGHASH_NONE: committed sich nur auf Inputs; jeder kann die Outputs ändern.
  • SIGHASH_SINGLE: committed sich auf den Output mit demselben Index wie dieser Input.
  • ANYONECANPAY lässt sich mit jedem kombinieren, sodass die Signatur nur auf ihren eigenen Input committed.

Upgrades

BIP143 (SegWit v0) ließ Signer auf den ausgegebenen Betrag committen – das behob quadratisches Hashing und hilft Hardware-Wallets. BIP341 (Taproot) ging weiter, committed sich auf alle ausgegebenen Beträge und Scripts und fügte SIGHASH_DEFAULT hinzu, das sich wie ALL verhält, aber ein Byte spart.