![]() This is usually not a problem for online network nodes as they could request for the specified transaction to acquire the output value. The algorithm does not involve the amount of Bitcoin being spent by the input.This could be fixed by optimizing the digest algorithm by introducing some reusable “midstate”, so the time complexity becomes O(n). While a 1 MB block would normally take 2 seconds to verify with an average computer in 2015, a 1MB transaction with 5569 sigops may take 25 seconds to verify. Therefore, data hashing grows in O(n 2) as the number of sigops in a transaction increases. For the verification of each signature, the amount of data hashing is proportional to the size of the transaction.Unfortunately, there are at least 2 weaknesses in the original SignatureHash transaction digest algorithm: The detailed procedure is described in a Bitcoin Wiki article. According to the sighash type ( ALL, NONE, SINGLE, ANYONECANPAY), a transaction digest is generated with a double SHA256 of a serialized subset of the transaction, and the signature is verified against this digest with a given public key. There are 4 ECDSA signature verification codes in the original Bitcoin script system: CHECKSIG, CHECKSIGVERIFY, CHECKMULTISIG, CHECKMULTISIGVERIFY (“sigops”). This proposal defines a new transaction digest algorithm for signature verification in version 0 witness program, in order to minimize redundant data hashing in verification, and to cover the input value by the signature. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |