Skip to content

Instantly share code, notes, and snippets.

@gubatron
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gubatron/2972e0908d310ef27627 to your computer and use it in GitHub Desktop.
Save gubatron/2972e0908d310ef27627 to your computer and use it in GitHub Desktop.
Elections using Bitcoins
  1. generate N random wallets private keys and deposit 1 colored satoshi into each wallet.

  2. Print the wallets. Put each wallet in a certified and sealed envelopes.

  3. Have voters come to vote registration place, once identity is verified and that the voter hasn't come already to pick his wallet, voter gets to pick wallet out of a huge pile, thus hiding the identity of the voter. Voter ID number is registered into system so that it can't pick another envelope later. Finger gets marked with very hard to delete ink as extra measure of security.

  4. Voter sends colored satoshi to candidate of preference by using voting machine high level interface (you pick candidate, then it asks you to present private key of wallet to send bitcoin), voting machine never asks for identity of voter. Voter never knows address to where colored satoshi was sent. this way the election cannot be monitored in real time by the media, as partial results might affect the election outcome.

  5. on the way out official which does not know voter identity asks for wallet, wallet is scanned to make sure it has 0 satoshis, wallet is then put back into another official envelope in case an audit needs to be made.

  6. count colored satoshis at the end of the election on the candidate's wallets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment