Is it possible to create a valid transaction that nodes running bitcoin core can't relay? (i.e. no amount of configuring mempool settings will let them add it to their mempool)
Yes, there are multiple policy rules that are not configurable. You would have to change the code and recompile to accept infringing transactions to your mempool.
A simple example would be a transaction with two OP_RETURN outputs
reply
Could you mimic the effects of a soft fork solely by tightening mempool policies?
reply
Not really. Making mempool policy stricter may eventually cause blocks to exclude transactions infringing on the new rules as hashrate updates. However, as long as just a small portion of the nodes (perhaps as little as 2–5%) run with the old rules and at least one miner has not upgraded, the transactions would still appear in blocks.
On the other hand, a softfork enforced by a majority of the hashrate would actually reorganize offending blocks out of the best chain since it would actually be a consensus rule rather than a policy rule.
reply