2
1
As far as I understand, a non-standard transaction can be mined in to a block (and this block will be accepted by all nodes), but nodes will not relay a non-standard transaction to other nodes.
Why is it that miners have the freedom to construct non-standard transactions, but everyone else is limited to standard transactions?
I've heard that limiting the types of transactions that get relayed is some form of protection (against unusual script types that could cause problems). However, if this is the reason, doesn't this just leave miners with the ability to perform an attack whilst leaving everyone else restricted?
I'm not against standard transactions. I'm just not sure how this situation came to be.
Thank you. So the mempool would have no limit to the number of expensive to verify transactions it could receive, which could be used as an attack. Whereas blocks can hold a limited number of transactions (delivered every 10 minutes), so any expensive to verify transactions are less of a problem? – inersha – 2018-04-11T11:33:29.710
Basically yes. The mempool does have a limited size, but that limit is pretty large is there is effectively no limit. – Andrew Chow – 2018-04-11T16:15:29.663