3 ms·
I replied to this somewhere else in the thread, but the main benefit is the fact that the ledger can be stored publicly, unlike a database. This allows for bett
by mariusor 5y ago
I replied to this somewhere else in the thread, but the main benefit is the fact that the ledger can be stored publicly, unlike a database. This allows for better transparency and auditing when it comes to how votes get submitted to it.
Someone else said that a git repository can be used for a subset of this mechanism also, and I agree mostly agree.
So probably a crypto ledger is not the only way to implement a transparent method of electronic voting, but it has a lot of the properties that are required for it.
- lamontcg 5y agoDatabases can be made available publicly. And a permissioned blockchain is controlled by third parties that can control what gets written to it, just like a database. You can have a public database that anyone can download and audit, and that can be rendered effectively immutable via that auditing. Transparency is also problematic for voting records since votes need to be private to prevent coercion. The fact that I don't know how you voted is a security feature that prevents me from threatening you to vote a certain way. And once you've watered down blockchain to mean 'git' then its lost most of its meaning. And why do you need a merkle tree in that case? Why does your data need to branch? Why do you need diffs? Why do you need anything more than a table full of votes? You could do some kind of cyrptographic signing of votes so that it established a cert chain for a given vote, but hid the identity other than perhaps zip code, so then it was auditable that the CA had signed a given number of certs from a zipcode and that a given number of votes had been received from each zipcode so that it was auditable that way, while producing public voting results at a geographical granularity (zipcodes with very small numbers of people might still be a problem). But none of that requires what we consider to be blockchain crypto in this day. You don't even need git, you just need a PKI and some old school 90s era cryptography and a database.
- mariusor 5y agoI don't think there's a way to make a database public in a binary form at scale. Any other format than binary would not represent the real data in my opinion. Votes need be private only in as much as who is the voter, I replied in post #28976010 with how this would be handled, but the basics would be that there's not a direct way of linking a voter with their public vote. The merkle tree is needed for the same reason as in git, to have a well defined relationship between votes. Branching is for having multiple vote items in the same ledger. Diffs are for auditing. I'm not saying that a blockchain ledger is the definite technology for storing this kind of information, but to me it looks like it has a lot more desired properties than a database. In the end you need blockchain technology to have a chance to sell this to people. If you bundle a certificate authority and a postgres database with a crud interface nobody will be excited by it. The first iteration of this type of software needs not be perfect, it needs not be used for electing the president of the Universe, it is fine if a company uses it for selecting the color of wallpaper for the break room. We need to start doing things in this direction, because the world is getting bigger and the populations grow bigger and paper ballots won't scale forever, and most importantly it could lower the effort for participating in elections to the level that politics can be reimagined into something that resembles a democracy better. [edit: sorry for the pathetic last part, but I feel pretty strongly about this]