Post
Topic
Board Bitcoin Discussion
Re: Blockchain Electronic Votes
by
Boussac
on 13/05/2014, 21:54:20 UTC
What's to stop someone from voting multiple times from multiple addresses?  Would this require registration of a BTC address with a voting commission?  Does .0001 BTC = 1 vote?
Each one of the N voters is identified by a public key KeyA supplied by the organizer.
When N multi-signature addresses have been registered by the organizers, they stop the registration and publish the list of registered addresses.
At that point, if a voter complains that she could not register her mutli-signature address, then there must be a cheater who has registered multiple addresses.
To prevent this, each voter must be required to send to the organizer a message stating that she registered a multi-sig address (without any mention of said address of course), signed with the private key corresponding to her public key KeyB.
In the event of an investigation, the controller requests the public KeyB from each voter and checks their message signature.
The controller request also an anonymous list of all public keys KeyC from each candidate.
If KeyB and KeyA can be combined with one of the public keys KeyC to build a script that hashes to one of the registered multi-sig address, then everything is OK. If there is a match with two or more multi-sig addresses, the voter cheated and must be excluded from the new round of voter registration.
Note that the controller must perform NxN hash computations but that's a small price to pay for the investigation process to preserve the privacy of the votes.

Would it be simpler to just create a new block chain and wallet for each election cycle?
It's probably simpler to use an existing blockchain.
Besides, no other blockchain comes close to the Bitcoin blockchain in terms of protection against a 51% attack.
Creating a new blockchain dedicated to a particular vote amounts to requesting the voters to trust more the organizers: they could take control of the new blockchain, mine some votes, drop some other votes. However, this would only disrupt the counting for a while: in the end, the votes would go though over time.