DEV Community

Cover image for Designing A Voting System For 1 Billion on the Blockchain (Part 2) - How To Keep A Secret

Designing A Voting System For 1 Billion on the Blockchain (Part 2) - How To Keep A Secret

Pranith Hengavalli on October 19, 2018

This post is part two of a series about large scale voting on the Blockchain. In my previous post, we discussed what a large network would look lik...
Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Sorry to be direct, but I've read your post and your previous opus, I have no idea what problem you are trying to solve. Like most of the Blockchain literature, this seems like people having a cool solution chasing a problem they can solve with it.

This is particular is a fake "problem"

I begin to worry that being more reliant on labour-intensive manual counting processes might not be the best way forward.

It's a common misconception among technologists that we need "cutting edge technologies" to solve everything. Not so! If it ain't broken, don't fix it. If we somehow invented software before we invented paper, we would welcome the paper trail as a welcome innovation over the old software paradigm, that provides exactly the simplicity, the robustness, the transparency and the detection of fraud we need in our elections.

Collapse
 
prnthh profile image
Pranith Hengavalli

Thank you for taking the time to go through my posts. I admit that I'm not an expert on some of these concepts, and really I was hoping to get some validation as to whether the methods I described could be improved or at least adapted. I feel that concepts like Delegated Proof of Stake, for example, can solve engineering problems regardless of the original context for which it was invented.

Perhaps I should substantiate my claims a bit more.
indiaevm.org
Every year in India we hear allegations that entire sets of votes are misplaced or lost. The paper trail remains physically impossible to actually tally, since the number of votes in a state or central election here easily add up to a few hundred million. Even the electronic vote count is subject to debate every election season, and I was hoping some of the ideas like signed batches of votes can help mitigate that.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Thanks for taking the time to explain the WHY?

Collapse
 
theoutlander profile image
Nick Karnik

I'm not a blockchain fanboy, but I can see the benefits of using blockchain in this space.

But, when you said"

This is particular is a fake "problem"

I don't seem to get what you are referring to?

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

I asked why should we in the first place give up the paper trail that is a proven, simple, robust, transparent technology for any kind of software based solution that is by default the contrary of all that?
"I don't like it because it's not a cutting edge technology" is a terrible reason.
"It needs too much manual labor" or "it's costly" is a pretty bad reason at least in the context I know of democratic elections in a developed country. Yes it is, but that's a small price to pay to have a working democracy.

Polemical example: bad software based voting solutions played a role in the infamous Florida 2000 election that tipped the US presidency to George W Bush against the candidate that had more votes. We will never know which role they played exactly (and that's a problem!) but from the cost of the useless Iraq War alone (1600 billions according to the Congressional budget office), you can understand very clearly that sparing money there is stupidity on an epic scale!

Thread Thread
 
theoutlander profile image
Nick Karnik

Are you aware of the magnitude of corruption in the US at voting booths? And, how people are suppressed throughout the entire process? That's all a result of this convoluted and outdated process using paper.

All the reasons the OP has mentioned are valid in many countries including the US. Mailed-in ballots get lost all the time. More than often, they're not even counted. There's no way to trace back and know if someone's vote was counted. There's so much corruption in that process. So, this is absolutely the right technology to explore solving these problems.

Besides, with the right technological approach, we will be able to vote from the comfort of our homes in the future and get more precise and quicker results. How many people are involved in manually counting those votes? Using paper is not a small price to pay. On the contrary, it is a huge price to pay. It costs countries their democracy and brings the wrong people in power.

Shouldn't we be using technology to advance humanity? Look at countries like Estonia which are completely digitized and are also working with the govt. in some states to implement Blockchain based solutions in the US.

How can you even compare a blockchain based system to a hackable client-server application from 20 years ago which has been used over and over for the past few years? They're not the same thing. This is the future and it's designed to address these issues.

Thread Thread
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

I am not impressed by your "this is the future" mantra.

I don't know the US voting booths (not from there!), but if they are bad, it's because powerful interests don't want this problem to be fixed, not because of a problem inherent to the technology called paper.

You can ask the relevant international organizations: "How do I ensure fair elections where any significant fraud attempts would be easily detected?" and they will tell you exactly how to do that. Has been done hundreds of times. The problems are known and the solutions are known as well.

Now you can ask security experts "How do I ensure that the software is doing exactly what it claims to be doing, and that everybody understands it?"
And the answer will be:

"lol!"

Collapse
 
vitalcog profile image
Chad Windham

Why does it need to be a decentralized blockchain? Why not a trusted central database. Everything that block chain does a normal database does better. Minus the "block chain" part. But whenever I see solutions to something that can be solved with a normal, old school database involving blockchain I just don't see the reason. Other than people wanting to use blockchain... Seems like keeping a tally of "anonymous" votes doesn't need a blockchain. If you start getting into wanting to keep an historical record of votes that aren't anonymous, maybe it would make more sense.

Collapse
 
theoutlander profile image
Nick Karnik

Because you don't want a central entity to control this because you cannot trust a single entity here. Bitcoin demonstrates potential for the same reason. Blockchain adds the smarts to validate an activity and ensure that it cannot be tampered with. A traditional database approach can be tampered with.

Please listen to the Blockchain Podcast by Software Engineering Daily for some interesting episodes detailing some of this stuff.

Thread Thread
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

You only need git (aka a Merkel tree) for that.
The rest, the "Blockchain" part is there for ideological reasons instead of following the best practice of choosing the simplest thing that works.

Thread Thread
 
vitalcog profile image
Chad Windham

But in this case you do trust the entity. And the idea that a blockchain magically makes corruption not happen is a bit silly. You can't replace trust with tech. Blockchain is a HIGHLY specialized tool. And like all highly specialized tools, it's use cases are actually few and far between. I personally think @Jean-Michel Fayard's response is 100% spot on. People keep wanting to come up with ways to use blockchain, simply for the sake of using blockchain. I'm not saying blockchain is useless, I'm saying it is highly specialized and hard to find the right niche to apply it to. There is a LOT of hype around blockchain right now. Doesn't mean it is actually as "world changing" as people make it out. It is in fact just couple fairly old technologies creatively wrapped together in a creative way...

Collapse
 
sarangparikh22 profile image
sarangparikh22

I feel their are many Architecture flaws that could jeopardize the entire motive of having such thing in place.

When you would be Generating these keys, How do you make sure you do it securely?

How do you guarantee the security of this particular machine and if this gets hacked it has all the private keys...That's actually worse right?

Collapse
 
theoutlander profile image
Nick Karnik

Good job, Pranith! Keep working on ideas like these and exploring blockchain-based solutions. This is absolutely the way to go for our future.

Collapse
 
laisbsc profile image
LaΓ­s Carvalho • Edited

Hi Pranith!! First of all, I can't believe this is the first time you write a series like this! I'm very impressed.
I a currently working on a very similar project in school, a blockchain-based voting app and despite what those guys are commenting, I don't think you are "reinventing the wheel". I see this as taking advantage of tech in order to improve ou daily lives. For that, congratulations! Btw, let's let the grumpy developers over there know that a city in Japan recently started using this tech to gather votes for social development programs. I guess the old paper wheel wasn't good enough, after all. Β―_(ツ)_/Β―

Now, I am a bit confused about your consensus. Are you using PoS? Why? Why not Proof of Identity (since you only have to check the VoterID against the list of people registered to vote) or Proof of Human? or even Zero-Proof knowledge? I had all these questions before and I wanna know how you tackled them! :D

I like the fact that your network does not have any human-regulators, like the guys from "FollowMyVote". Instead, you have a network of node-producers who are randomly chosen on the network. Very clever!

Tell me something, what necessarily is registered in the block? Everywhere I read about blockchain tells me that what is stored in the block is the exchange of assets from one person to another. Is your network based on tokens? What are the swapped assets in your case?

I hope you continue to enlighten us with your series. Congratulations again! And looking forward to hearing from you.