Blockchain-based election system
A blockchain-based election system includes an owner-controlled blockchain, an election administration server, registrars for authenticating voters and providing instructions for the election, and electronic devices for casting ballots. The administration server interfaces with the blockchain to manage election rules and content. The registrars authenticate each voter's identity and issue ballots to each voter through the blockchain. The voters may cast their ballots using an election polling place device, a wallet app or another electronic device such as a computer. Once cast, the ballots are tabulated and the vote counts revealed using the blockchain. Public key encryption is used to secure each step in the election process. An anonymizer service obfuscates voter identity with timing delays and false communication messages to prevent an attacker from correlating information about the voter. As a result, any authorized person or entity may verify the election results by querying the blockchain.
1 . A method of conducting an election comprising:
a blockchain;
a ballot casting apparatus;
an anonymizer service in communication with both the blockchain and the ballot casting apparatus, the anonymizer service having computer logic that rearranges and randomizes the sequence and timing of ballot casting transactions stored on the blockchain;
separating sequential ballot casting transactions across multiple non-sequential blocks; and
computer logic within the anonymizer service that receives a ballot casting transaction from the ballot casting apparatus, and forwards the ballot casting transaction to the blockchain after a random period of time.
2 . A method of conducting an election comprising:
a blockchain;
a ballot casting apparatus;
an anonymizer service in communication with both the blockchain and the ballot casting apparatus; and
computer logic within the ballot casting apparatus to cast at least one false ballot casting transaction as a decoy transaction to the anonymizer service;
the decoy transactions being transmitted from the ballot casting apparatus automatically and without being initiated by a user action; and
the decoy transactions being transmitted at random time intervals preceding or following the true ballot casting transaction.
3 . A method of conducting an election comprising:
a blockchain;
a ballot casting apparatus in communication with the blockchain;
an encryption key pair comprising a private key and public key;
casting a ballot by submitting a cast ballot transaction to the blockchain that comprises voter selections marked on the ballot encrypted with the encryption public key;
storing the encrypted voter selections from cast ballots on the blockchain in a manner that remains encrypted and secret until such time that the encryption private key is later revealed; and
revealing election results by submitting a decrypt results transaction to the blockchain that comprises the encryption private key, the encryption private key being stored on the blockchain.