Author

Topic: Is it possible to use the Blockchain to prevent vote-tampering? (Read 1489 times)

hero member
Activity: 798
Merit: 722
Also note, Dash has been voting on budget proposals via blockchain for several months now:
https://www.dashwhale.org/budget
https://dashninja.pl/budgets.html
legendary
Activity: 2814
Merit: 2472
https://JetCash.com
A lot of people with no/little education have got more sense, than the well-educated who seem to vote for scamming corrupt politicians.

Remember - whoever you vote for, the government always wins. Smiley
newbie
Activity: 14
Merit: 0

An interesting article and good to see students pushing for blockchain applications.

The comment about feeling sceptical about the project and coding was irrelevant.

sr. member
Activity: 412
Merit: 287
2.c) We could pre-mine

Sounds like a scam :s

In all fairness, the government could just buy them anyway. History has shown the distribution of pre-mines is never fair.

Trust-less voting is a hard problem in general, and is actively researched. You need to have more to your proposal than 'put it on a blockchain'.
legendary
Activity: 1148
Merit: 1000
Of course, but the Bitcoin blockchain is public ledger. In less "democratic" countries you could be signing a death warrant for voting a certain way.
newbie
Activity: 7
Merit: 0
MUCH OF the booth capturing and rigging let loose in the recent local poll could have been avoided had the State Election Commission used electronic voting machines (EVM). The failure to use voting machines contributed largely to booth capture.
legendary
Activity: 1218
Merit: 1007
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.
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.
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.

Would this work? Can you suggest a better idea?

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!
So the idea is overall good, but a more practical idea would likely be based around distributing a single address and private key, which is registered in some gov't database, or alternative system, to make sure that the votes are not being passed around. Restrict everyone's access to the private key, and let only their public address be known to them. If someone "loses" their account, their previous one is invalidated, as per usual.

Each address can only ever own 1 coin every term, and then they send their coin to the address corresponding to their favored party. Most coins wins?

I do think most of your ideas are good, but some of them might be a tad too difficult to apply in an efficient way.
hero member
Activity: 501
Merit: 503
depends on how the votes are made/counted
member
Activity: 70
Merit: 10
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! Smiley

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.
It could be possible if you wrote the code to only allow one address to receive the coins once. But that can be circumvented by people having multiple wallets.

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.
It would. But if someone uses multiple wallets ...

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.
Of course the problem is getting lawmakers to pass such a law forcing that. They don't want to expose their own corruptness so such a law would probably not be passed, which is unfortunate.

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?
The documents could be encrypted to keep the sensitive data away from the public, but the hash of the unencrypted documents could be included in the blockchain. That way if someone wanted to verify the authenticity of the documents, they can take the hash of them and see if that hash is somewhere in a transaction in the blockchain.

You're right, this definitely needs more thought. But I think more people should get working on fixing this problem. Especially in democracies. I mean, wtf is the world coming to if you can't even elect the people that are supposed to represent you in the Govt. Ugh.

And whoa, that's a brilliant idea. Stupid stupid stupid me. Just brilliant. Hash the data after encryption and store the hash publicly. Beautiful. But again, needs a lot more thought than I initially imagined!

Good talk, thanks a ton!
staff
Activity: 3458
Merit: 6793
Just writing some code
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! Smiley

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.
It could be possible if you wrote the code to only allow one address to receive the coins once. But that can be circumvented by people having multiple wallets.

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.
It would. But if someone uses multiple wallets ...

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.
Of course the problem is getting lawmakers to pass such a law forcing that. They don't want to expose their own corruptness so such a law would probably not be passed, which is unfortunate.

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?
The documents could be encrypted to keep the sensitive data away from the public, but the hash of the unencrypted documents could be included in the blockchain. That way if someone wanted to verify the authenticity of the documents, they can take the hash of them and see if that hash is somewhere in a transaction in the blockchain.
member
Activity: 70
Merit: 10
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! Smiley

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! Tongue
staff
Activity: 3458
Merit: 6793
Just writing some code
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.
member
Activity: 70
Merit: 10
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.
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.
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.

Would this work? Can you suggest a better idea?

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!
Jump to: