Well, I always feel the urge to redeem myself after proving I am an imbecile. Because of this I involuntarily considered secret balloting in the back of my mind since you corrected me.
What if there's two hashes formed, one which pertains to the vote, confirming a vote based on the asset involved occurred, and one which inures to the asset itself, which the voting mechanism will not allow to vote again?
This is not quite trivial, but I suspect it is doable.
Sadly, just hashing certainly won't work. In my other comment I think this is a good summary of the real catch-22:
I must be missing something. I do not grasp why the SP cannot be assigned a hash that allows a) public verification that it has been used to vote - but not how it voted, b) prevents it being used to vote again for that election, and c) can either be used to change one's vote later, permitting 'liquid democracy' and folks to change their mind after discovering unsavory facts post-election, or terminate upon conclusion of the plebiscite.
A hash is fairly easy to construct that allows your item 1. Why is 2. even desirable?