4
Gavin Andresen, one of the core developers, has discussed increasing the block size to 16.7 MB (and doubling that every two years).
The maximum number of signature operations per block is currently set to 20000:
[...] About the scriptSig being an arbitrary byte array, there is one caveat: the checksig operations in it are counted towards the block sigop limit (20000), so you probably don't want to accidentally trigger this. Making it a list of just push operations (including of the extranonce) avoids that.
A back-of-the-envelope calculation tells me that there will be around 100K signature operations in a 16.7 MB block. Will the maximum number of signature operations per block also need to change?
Why would sig ops of an output without an input be counted at all? You only need to run the script when you have an input that spends the prevout, it seems silly that it was ever calculated this way, unless there is a different kind of CPU exhaustion attack that I am not thinking of? – morsecoder – 2015-01-23T14:46:37.760
1
No idea. Satoshi added the code that's still used. (Note Satoshi's contributions are credited on GitHub to the user saracen; the commit log says s_nakamoto.)
– David A. Harding – 2015-01-23T15:09:24.597@DavidA.Harding BTW, you first linked to CTransaction::GetSigOpCount, but what's actually called by the code at the second link is CScript::GetSigOpCount.
– Nick ODell – 2015-01-24T01:38:35.480