Should validators be able to reject transactions?
I think a better question is this:
Can you prove a validator received a transaction?
The short answer: 'no'.
And if you could then you would not need a validator.
That's precisely the validators job: to validate.
So the question pivots away from a technical one to a philosophical one.
A validator can always reject a transaction by definition.
The only question left is should they be removed from power if they engage in this behavior.
The answer there depends on several variables that include intent and more philosophy.
This means that each soft or hard fork is an amendment or an introduction of a new law for the blockchain.
A hard-fork is a new law for the blockchain, but a soft-fork is just a new action using the same laws.
A node that implements a soft fork can do so without any of the other nodes realizing it happened.
A soft fork follows all the old rules so no new rules are being created and no old rules broken.
To eliminate the power validators currently have in censoring transactions would require upgrades to blockchains that takes away their autonomy to pick and choose.
Again, to eliminate the power of validators simply makes them not validators.
This is an impossible upgrade to achieve.
It's legit their only job to pick and choose.
This is why POW consensus gets severely underestimated.
POW consensus CANT make these censorship decisions.
A rogue block will always sneak through that the validators can't deny.
Whether that is "good" or "bad" depends on the situation and the opinions surrounding it.
But the fact that the technology exists is inarguably & objectively good.
RE: Should validators be able to reject transactions?