its possible to construct a transaction that takes up almost 1MB of space and which takes 30 seconds or more to validate on a modern computer (blocks containing such transactions have been mined). In 2MB blocks, a 2MB transaction can be constructed that may take over 10 minutes to validate which opens up dangerous denial-of-service attack vectors. Other lines of code would need to be changed to prevent these problems.
sauceThis is a known protocol design bug: signatures were defined in such a way that the cost of validating a transaction with N signatures is proportional to N
2 rather than N.
It has a known simple solution: limit the number of inputs of a transaction to some reasonable value, say 20 or 100, independent of the block size limit. That will keep the cost of verifying one transaction bounded, and will inconvenience only a few users, by forcing them to break any big transaction into a chain of smaller ones.
IIRC, BiotcoinXT included this simple solution. Hopefully it will be included in Classic too.
Most of that is Greek to me. How would a sharp Core supporter respond?