Why TrueVote chose Bitcoin for immutable proof-of-ballot

Checksums

A checksum takes data and “hashes” it through a known industry algorithm, such as MD5. The algorithm creates a string of characters that the ONLY way to create the same string of characters is if the input data is the same.

{
"BallotId": "1217",
"President": "Jane Smith",
"Proposition62": "No"
}
3f378d775cf6eda6f3aeee94c7342b69
{
"BallotId": "1217",
"President": "Jane Smith",
"Proposition62": "Yes"
}
abba8fbcd5b52ddc6361d5f66f961e39

Enter Bitcoin

At this point in considering modern software design in the cryptographic and cryptocurrency era we live in today, most entrepreneurs seem to come to the conclusion that they must now launch a new coin and/or blockchain and manage the data there, call it a “decentralized” system and start marketing their new “innovation”. It’s intellectually dishonest.

* DILBERT © Scott Adams. Used By permission of ANDREWS MCMEEL SYNDICATION. All rights reserved.

Bitcoin + OpenTimestamps = Immutable Data

As mentioned in the second page of the white paper, Bitcoin core developer Peter Todd created OpenTimestamps to facilitate data is in a certain state based on something known — time. OpenTimestamps verifies data based on the time the data is hashed to the state of the Bitcoin blockchain at that time and provides a ‘Verified’ status if the data has been unchanged based on the ‘stamp’ it issued at the time it was hashed.

Conclusion

TrueVote is building tools to enable anyone to download the ballot data, run the same algorithm that TrueVote uses to generate the checksum, and then validate the checksum stamp on any node running Bitcoin blockchain.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
TrueVote

TrueVote

To ensure a true democracy, what’s needed is an open, fully digital, tamper-proof, verifiable system. TrueVote is designed to fill that need.