| This article reminds me of every other article I've seen about blockchain voting. None of them start with a threat model. None of them talk about what's broken with voting. Mostly they just dive into technology, relying on the reader's imagination to address these points. Here are some simple questions: 1. What are you trying to protect in a vote? 2. Why can't an SQL database with whatever levels of cryptographic assurance you'd like to add do the job? 3. What does a blockchain add to (2) that no other technology does, regardless of cost? These questions are never answered, and indeed they are not answered here either. Instead, these articles lead with technology and rarely get around to what matters. Often there's something like this included in the article: > Blockchains are a technology which is all about providing guarantees about process integrity. If a process is run on a blockchain, the process is guaranteed to run according to some pre-agreed code and provide the correct output. No one can prevent the execution, no one can tamper with the execution, and no one can censor and block any users' inputs from being processed. No. A block chain is a timestamping mechanism. Within certain very narrow boundaries, it makes certain guarantees about the relative ordering of events. A tamper-resistant log file? Yes. A solution to voting? Does that involve relative event ordering? If so, is that the central problem? Electronic cash systems like Bitcoin will work work just fine without a blockchain, provided they can solve the double spending problem. Bitcoin solved it with a system for ordering transactions based on proof-of-work. There are other solutions, but all suffer from censorship pressures in ways that Bitcoin does not. |
> 3. What does a blockchain add to (2) that no other technology does, regardless of cost?
I'll preface this by saying that I'm not a blockchain expert, but from the comfort of my own armchair I consider that the main benefit over a regular SQL database is the fact that you don't need to make it secret and protect it.
There might be other methods for storing a well-ordered list of events in a difficult to tamper with but at the same time public repository, but I don't know of any.