Difference between revisions of "Legacy Sighash Algorithm"
(Created page with "The legacy sighash algorithm was used to generate a hash value that is signed by an ECDSA signature. The input to the algorithm consists of a transaction and sighash flags. W...") |
m |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | The legacy sighash algorithm was used to generate a hash value that | + | The legacy sighash algorithm was used to generate a hash value that was signed by an ECDSA signature. The input to the algorithm consists of a transaction and sighash flags. |
− | Within the algorithm, it calls | + | Within the algorithm, it calls a serialisation algorithm that is used to serialise a transaction, "CTransactionSignatureSerializer". Depending on the sighash flags, different parts of the transaction will be modified before the transaction is fed to the serialisation algorithm. Contrary to the use of hashes in the new sighash algorithm, the modification is simply to remove strings or to replace strings with zeros or one in the transaction. Once serialised, the transaction is then fed to double SHA256 to produce a hash value for either ECDSA signature creation or verification. |
− | The detail can be found at https://github.com/bitcoin-sv/bitcoin-sv/blob/ | + | The detail can be found at https://github.com/bitcoin-sv/bitcoin-sv/blob/master/src/script/interpreter.cpp |
by searching "CTransactionSignatureSerializer". | by searching "CTransactionSignatureSerializer". |
Latest revision as of 02:09, 30 October 2020
The legacy sighash algorithm was used to generate a hash value that was signed by an ECDSA signature. The input to the algorithm consists of a transaction and sighash flags.
Within the algorithm, it calls a serialisation algorithm that is used to serialise a transaction, "CTransactionSignatureSerializer". Depending on the sighash flags, different parts of the transaction will be modified before the transaction is fed to the serialisation algorithm. Contrary to the use of hashes in the new sighash algorithm, the modification is simply to remove strings or to replace strings with zeros or one in the transaction. Once serialised, the transaction is then fed to double SHA256 to produce a hash value for either ECDSA signature creation or verification.
The detail can be found at https://github.com/bitcoin-sv/bitcoin-sv/blob/master/src/script/interpreter.cpp by searching "CTransactionSignatureSerializer".