Clearly this can be done with the assistance of a trust third-party escrow. Is there a way without that?
Is there a way to run a voting protocol such that I can know all the votes, and a voter can prove to me they voted, but it is impossible for me to match the votes with the voters?
Or: is there a way for someone to give me a datum in exchange for a receipt, such that the receipt cannot be forged but also cannot be matched up with the particular datum I was given?
Or is there a way for someone to give me a datum anonymously, and then later be able to prove to me that they did so, without me being able to match them up with the particular datum they provided?