p2pbitcoinvotingvoting-systemblockchain

How to check if an user voted but to be impossible to see for whom?


Blockchain Voting System

How current system works

Problems

How the new system works

Problems

https://gist.github.com/moldcraft/e2eb508e10b9ae7e70d1


Solution

    1. A voter produces a statement of how they wish to vote.

    2. The voter blinds the vote, attaches the blinded vote to a proof of their identity, and signs it.

    3. The central authority receives the blinded vote and verifies the signature. If the signature is correct, the central authority signs the blinded vote.

    4. The voter unblinds the signed vote and uploads it to a repository or adds it to a blockchain anonymously.

    5. The central authority must be able to produce one signed, blinded vote for every unblinded vote produced. So if there are 50,000 votes signed by the central authority collected, the central authority must be able to produce 50,000 blinded votes signed by voters.

    The signed, blinded votes show who voted. The unblinded votes show how many votes each candidate or proposal got. There is no way to map the blinded votes to the unblinded votes, so there is no way to tell who voted for what.