Currently miners can signal for certain BIP proposals. But users cannot signal, that's why they need to indirectly force miners to vote for them, using UASF's.
But why are transactions not used for signalling? For example 1 transaction = 1 vote. That would allow a very large userbase to signal directly without the miners, and seems pretty foolproof, since both censoring or creating them (just for the purpose of influencing the vote) will be very expensive to an attacker.
It feels like a much nicer solution than a UASF, so what am I overlooking here?