Vote-tampering/Booth-capturing is a very serious problem in India.
Some points to consider:
1) The uneducated people should not be allowed to vote, obviously, since they are uneducated. (Seems a little harsh, I know. But voting should be restricted to the educated people for many reasons. One of which is that it is extremely easy to manipulate uneducated people by bribing them, offering free alcohol/drugs - which currently happens in my fucked up country.)
2.a) A closed-source algorithm could be used. The algorithm would only allow 1 person to mine 1 coin per 12 hours (Not sure whether this restriction is possible to implement, but I think it can be done.) Then release the miner for the coin 24 hours before voting commences. Each user would then only be able to generate 'x' coins where 1 < x < 2. They would have to send the coin to the public wallet of the person/party they are electing. All transactions would be open to view on the blockchain. So no problem there.
What stops someone from pretending to be more than 1 person and mining multiple coins? There is nothing about crytocurrencies that prevents one person from holding multiple addresses and nothing that indicates that those addresses are held by the same person.
2.b) Instead of closed source algorithm, we could implement both the algorithm and miner open-source but release them 24 hrs prior to commencement of voting.
Not necessary. Since the vote is counted by coins that come from coinbase transactions you could have it set up so that only coins generated after a certain time or block height are allowed to vote.
The problem with the above proposal is that you cannot possibly allow everyone to mine their necessary voting coin in that limited amount of time without having a massive number of orphan blocks. That could become problematic
2.c) We could pre-mine enough coins and sell them at an extremely nominal rate (~Rs. 1/coin or ~$0.015USD/coin), again, 24 hours before commencement of voting.
That would in fact work better, but then you are back to the original problem. What happens if someone buys people's private keys so that they can essentially have more than one vote?
Would this work? Can you suggest a better idea?
It probably wouldn't work, but I don't really think there are better ways to do voting through the blockchain. What is really needed are stricter laws about who can vote.
While we're at it, maybe we could also discuss how to prevent bribes in Government offices as well? I'm sure the blockchain can be used for this as well, just not sure how to approach the architecture!
Force all government officials to spend using some cryptocurrency. All of the transactions are on the blockchain. Since everyone would be able to see their transactions, they will be less likely to take a bribe because there is a higher chance of people knowing about it.
Very nice arguments you have there.
I see no feasible way to force one user to have one wallet. So this idea has to be scrapped. Damn, you poked a hole in it in under 10mins!
I'm assuming it is however feasible to allow only 1 coin to be mined by 1 computer in 12 hours? But no, I don't think that makes sense. Because hardware would vary. Not sure. Even if that is the case, then I doubt people in India could hire the right team or get the right equipment to mine enough coins to tip the balance. Also, a big difference in the number of coins received into the contestants' wallets would be a clear indicator of fraudulent activity.
Yes, absolutely. Forcing goverments to use crypto would be the way. That's what I have been thinking as well. But then again, the current processes would have to be adapted to reduce/eliminate citizen-govt.official interaction. Because the corrupt official could easily still ask for a bribe on interacting with the customer.
The process transformation would be unfeasible IMHO, at least for the Indian Govt.
I originally thought that the process can be modified in this way (taking the example of Passport Issuing):
The citizen sends the payment along with documents to the relevant wallet address (would have to implement a sidechain to do this, I guess), and the order is processed. I'm guessing it would also be possible to hide sensitive data and personal details from the public? But if we do that, won't it defeat the purpose?
Ugh, I need coffee!