Pull 748 pay to script hash [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2012-01-08T16:12:16+00:00


Summary:

In a discussion on January 7, 2012, Gavin Andresen and Pieter discussed the compressed-public-keys patch. Pieter mentioned that he had added some unit tests but Gavin was unsure if the patch had been pulled. They went on to discuss how compressed public keys interact with pay-to-script-hash to make ECDSA denial-of-service attacks less expensive and how transaction fees need to be reconsidered before releasing version 0.6. Compressed public keys are smaller and more CPU intensive to verify than regular public keys. It is suggested that the fee policy should be tweaked to deter attackers from using compressed public keys and 1-of-3 CHECKMULTISIG transactions for denial-of-service attacks.The purpose of counting the number of sig ops after executing a script in ConnectInputs is to ensure compliance with the rule that "a block shall not contain more than MAX_BLOCK_SIGOPS (20,000)". This rule applies to both the old and new ways of counting sig ops, which involves looking at scriptPubKeys and pay-to-script-hash scripts in the scriptSig. However, there is concern that this counting may be too late in the process. To address this, further refactoring of ConnectInputs is suggested, including the addition of FetchInputs() and AreInputsStandard() functions.Gavin Andresen suggests reverting an old pull and then re-requesting it to make it easier to see the real changes regarding the purpose of counting the number of sig ops after executing a script in ConnectInputs. He notes that there were one major merge and eight commits to fix bugs or tweak things. In order to facilitate code review, Gavin updates his gavinandresen/master GitHub branch to the state of the tree just before the OP_EVAL merge. The changes can be viewed at https://github.com/gavinandresen/bitcoin-git/compare/master...pay_to_script_hash. There are unrelated 0.6 pulls in those changes as well, but it should be obvious what is what.Additionally, a comparison is being made between a defunct OP_EVAL proposal and the current pay to script hash proposal. The comparison is based on reading a diff of the two proposals, which can be found at https://github.com/bitcoin/bitcoin/pull/748/files. It is suggested that for code review purposes, it would be more beneficial to revert the old pull and re-request it, simplifying the process of identifying the actual changes made between the two proposals.


Updated on: 2023-08-01T02:51:41.383013+00:00