Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: ChiBitCTy on November 07, 2020, 11:33:02 AM



Title: Would the bitcoin blockchain work for voting?
Post by: ChiBitCTy on November 07, 2020, 11:33:02 AM
I always thought that this would be the perfect way to run an election voting system. Mike Caldwell ( Casascius/Bip38 ) stated in I believe the  “Rise and Rise of Bitcoin” documentary that this would be a provably fair way to run election voting.  However I do believe I saw once, and I want to say it was Mod Gmax (former BTC Dev right?) stating that this would be an absolutely idiotic idea and not feasible (something to that extent).  So I’m just curious as to why it would not work ?

I hope this is on topic enough.. this question is simply too high level to ask in spammy Politics.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: HCP on November 07, 2020, 12:23:46 PM
So far... there have been some 144 million votes counted in the US Election, just for the presidental ballot (not including all the senate, house, governor and other "proposition" ballots)... and that's not even 100% of them (nor 100% of the eligible votes in the US)... imagine 144 million transactions being flooded into the network in the course of 1 week... let alone one (election) day. :o

While a blockchain could theoretically be used for recording say the hash of a document of the results, in a tamper resistant way... I don't think it would be a great way to deal with the casting of actual ballots.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: ChiBitCTy on November 07, 2020, 12:30:51 PM
The common problem are :
1. Trade off between verifiability and privacy (do you want whole words who do you support?)
2. Preventing fake identity
3. Preventing identity or private key theft (i expect some people might lost their private key due to scam or hack attempt)

Helpful as always, thank you! ..

1- why would the world have to know? Could all be issued where names aren’t ever exposed. every social security number is issued their keys in private by the government (perhaps only by request, in person ahead of time, or maybe it’s issued at the polls only) & Only they would have to know.

2- can’t fake a social security number ( I know this isn’t something all countries have)

3- Again, perhaps you show up to the polls with your ID,  you’re issued a storage card of some type, once inserted your keys are then and there generated or first issued to you.

As I always state, especially in this board, I’m no Mr Robot so I know my “logic” here could be quite faulty.

So far... there have been some 144 million votes counted in the US Election, just for the presidental ballot (not including all the senate, house, governor and other "proposition" ballots)... and that's not even 100% of them (nor 100% of the eligible votes in the US)... imagine 144 million transactions being flooded into the network in the course of 1 week... let alone one (election) day. :o

While a blockchain could theoretically be used for recording say the hash of a document of the results, in a tamper resistant way... I don't think it would be a great way to deal with the casting of actual ballots.

By then LN, solved  :)  What about using multiple blockchains? Or better yet use increased block sizes?! (Joking)


Title: Re: Would the bitcoin blockchain work for voting?
Post by: o_e_l_e_o on November 07, 2020, 06:01:53 PM
By then LN, solved  :)
I don't see how Lightning could solve this at all. If the whole point is to have an immutable and verifiable record then Lightning is the last thing you want to use since by design you make transactions over Lightning without leaving a record on the blockchain. And even if you could use Lightning, it would still require everyone in the country to open a Lightning channel, and so the number of transactions being processed by miners would be just as large (or even larger, if people also want to close their channels afterwards).


Title: Re: Would the bitcoin blockchain work for voting?
Post by: ChiBitCTy on November 07, 2020, 06:56:37 PM
By then LN, solved  :)
I don't see how Lightning could solve this at all. If the whole point is to have an immutable and verifiable record then Lightning is the last thing you want to use since by design you make transactions over Lightning without leaving a record on the blockchain. And even if you could use Lightning, it would still require everyone in the country to open a Lightning channel, and so the number of transactions being processed by miners would be just as large (or even larger, if people also want to close their channels afterwards).

I was kinda kidding as I’ve used it and though I wasn’t 100% on the anonymous aspect, I know in its current form it’s not feasible. The multiple blockchains being used I was not kidding about. Seems feasible to me, but what do I know.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: Ryker1 on November 07, 2020, 11:31:54 PM
Well, I would agree that the Bitcoin blockchain would work for voting as long as the government's data is connected with it.
However, -- it really is a fantasy when you think that government would allow blockchain technology to be connected with the sensitive information of the people. Also, it would be hard to identify one by one if the account really is under someone's name. Oligarchies will always find a way to manipulate it. During election time I don't think what will happen to the network, perhaps it will clogging and become congested. Perhaps, I don't think blockchain is the solution in the voting system.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: gmaxwell on November 08, 2020, 10:48:24 AM
Voting needs a blockchain like fish need a bicycle.

There are plenty of challenges for voting,  and not only do blockchains not solve *any* of them, they actively undermine the parts that have been solved like making it hard to coerce someone or making it hard for people to sell their votes.

Blockchain voting is a fine litmus test for careful thinking vs getting caught up in blockchain hype.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: NotATether on November 08, 2020, 11:34:55 AM
You’d only need a blockchain for a given dataset (votes in this case) if there is a need for everyone to be able to view it without someone taking it down, and certainly we don’t want any random person to be able to see other people’s votes.

There isn’t a problem with the current way of vote counting, votes are counted using a voting machine, most of which are running old operating systems. How are you going to connect a blockchain to that, let alone bitcoin’s blockchain?


Title: Re: Would the bitcoin blockchain work for voting?
Post by: bob123 on November 08, 2020, 04:13:45 PM
While electronic voting using cryptography definitely is a thing, a blockchain isn't necessary at all. And even less the bitcoin blockchain.

There are several approaches to electronic voting. Some small methods are mentioned here (https://crypto.stanford.edu/pbc/notes/crypto/voting.html).

Multiple protocols do exist, and none of them needs a blockchain.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: gmaxwell on November 08, 2020, 08:45:50 PM
wtf are you talking about?
Maybe try following the link in his post?


Title: Re: Would the bitcoin blockchain work for voting?
Post by: LoyceV on November 10, 2020, 12:40:05 PM
The common problem are :
1. Trade off between verifiability and privacy
I always wondered if Blackbytes (https://bitcointalk.org/index.php?topic=2020882.0) might be a viable option for voting. I think it can be both private and verifiable. It's explained in Hiding entire content of on-chain transactions (https://bitcointalk.org/index.php?topic=1574508). I imagine each voter gets one coin to share, and each candidate has a wallet to accept votes. At the end of the election, the candidate with the biggest wallet wins.

This explains it shortly:
So if I understand correctly, the public block chain is just a "bag of hashes" which cannot be verified or anything by any node or miner.  It is just a block chain of "data".  These data only have meaning for the people receiving "banknote files", which allows them to check the validity of the whole "banknote".  The hashes are in fact nothing else but hashes of "signed transactions", like with bitcoin, except that only the *signature hash* goes on the public block chain, and the actual transaction data remain on the individual banknote file.  Is that the gist ?  In fact, you need, as you say, TWO signatures (or hashes of signatures): one is the transaction signature (including the new beneficiary) and the other is the "spend" signature of simply the previous output.  The first signature (spending signature) makes that you cannot do double spending any more (you have invalidated the file up to the point where you transmit it), and the second signature allows the receiver to have a valid "new address" that he can spend (and only he, because only he has the secret key that goes with it like on bitcoin).
I'm not sure though if the receiving wallet would be able to link the vote to the sender. If that's the case, it doesn't solve anything.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: NotATether on November 10, 2020, 02:27:02 PM
I'm not sure though if the receiving wallet would be able to link the vote to the sender. If that's the case, it doesn't solve anything.

There are more problems than just that. Who can be trusted to hold the wallets? The candidates holding it themselves would create a conflict of interest because they might pay someone to send dummy votes to their wallet. And there is all types of fraud that can be pulled if the wrong people are custodians for them, which pretty much includes all citizens who have a favorite party.

Then there’s the problem of the blockchain developers being the only ones capable of investigating cases of fraud in their own voting blockchain, while there are already procedures in traditional voting systems to alert governments of potential fraud.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: LoyceV on November 10, 2020, 03:56:49 PM
Who can be trusted to hold the wallets? The candidates holding it
That was my idea, on live TV, so we can see their faces as their balance goes up :P

Seriously though, there are so many things that can go wrong. Paper is much easier and can be checked by much more people than any electronic solution.

Quote
Then there’s the problem of the blockchain developers being the only ones capable of investigating cases of fraud in their own voting blockchain, while there are already procedures in traditional voting systems to alert governments of potential fraud.
It may end up like "The DAO": all "experts" think it's safe, "normal" people have no idea how it really works, and one guy called "The Attacker" really knows how it works and fools them all.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: Joel_Jantsen on November 10, 2020, 09:35:39 PM
So far... there have been some 144 million votes counted in the US Election, just for the presidental ballot (not including all the senate, house, governor and other "proposition" ballots)... and that's not even 100% of them (nor 100% of the eligible votes in the US)... imagine 144 million transactions being flooded into the network in the course of 1 week... let alone one (election) day. :o
The scalability issue if ever bitcoin's blockchain implemented on that commercial level, I'm sure it will be taken care of. For instance, instead of the entire country vote in a single day, do it state per day.

Apart from all the technical challenges mentioned above, would it actually be feasible for all the non-tech savvy people to learn about the voting system on blockchain just for 1 day? Remote areas with no internet, old folks with no technology at all, will find it extremely hard to cast their votes. I believe, even if the bitcoin blockchain-based system is ready, the world isn't.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: NotATether on November 10, 2020, 10:39:56 PM
The scalability issue if ever bitcoin's blockchain implemented on that commercial level, I'm sure it will be taken care of. For instance, instead of the entire country vote in a single day, do it state per day.

One state per day? Then we would have a situation worse than this year's gridlock, where it took 4 days to decide the outcome of the 2020 US election. 50 days, or even waiting longer than a week is too slow. Governments need election results quickly.

Apart from all the technical challenges mentioned above, would it actually be feasible for all the non-tech savvy people to learn about the voting system on blockchain just for 1 day? Remote areas with no internet, old folks with no technology at all, will find it extremely hard to cast their votes. I believe, even if the bitcoin blockchain-based system is ready, the world isn't.

And Iowa agrees with you (https://www.theverge.com/2020/2/5/21122497/iowa-caucus-app-debacle-voting-election-technology). That's a state full of low-tech people. Imagine the havoc a bug in a blockchain voting system could wreak on presidential elections.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: hulla on November 11, 2020, 12:14:25 AM
Blockchain will provide a provably fair election voting system but due to the total transaction confirmation that Bitcoin blockchain can execute every 30 minutes it was indeed an idiotic idea to use Bitcoin blockchain for election voting system and it better to make use of blockchain that provide almost instant tx confirmation.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: dkbit98 on November 11, 2020, 03:11:22 PM
Problem with people using Bitcoin blockchain for voting would be the numbers, because millions of people vote in same day.
Now imagine millions of people using bitcoin blockchain and sending transactions in the same time, that would make fees go sky high, mempool would be full and transactions stuck.
Fair voting is not an easy task to solve, but I think it's time to change it.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: ChiBitCTy on November 11, 2020, 04:05:04 PM
Voting needs a blockchain like fish need a bicycle.

There are plenty of challenges for voting,  and not only do blockchains not solve *any* of them, they actively undermine the parts that have been solved like making it hard to coerce someone or making it hard for people to sell their votes.

Blockchain voting is a fine litmus test for careful thinking vs getting caught up in blockchain hype.

I was pretty sure it was you who had spoken about this at some length before.  Thank you and thank you everyone else who made some obviously very valid points as to why this would not be a feasible solution.  I guess what I had in my mind was that the blockchain can't be hacked ( as of right now anyhow ) and that every vote can be viewable...the whole thing is I don't trust our government ( not that I believe all the voter fraud nonsense Trump is going on and on about right now) and would like to see a provably fair way used.


Title: Re: Would the bitcoin blockchain work for voting?
Post by: LoyceV on November 11, 2020, 05:01:15 PM
the whole thing is I don't trust our government ~ and would like to see a provably fair way used.
I don't think that's possible, but you can do your share by applying to be an observer (https://www.electoralcommission.org.uk/who-we-are-and-what-we-do/elections-and-referendums/observing-elections-and-referendums) (this is just the first link I found on the subject).
In a way counting votes is a form of crowd sourcing :D


Title: Re: Would the bitcoin blockchain work for voting?
Post by: bob123 on November 11, 2020, 05:19:01 PM
Problem with people using Bitcoin blockchain for voting would be the numbers, because millions of people vote in same day.
Now imagine millions of people using bitcoin blockchain and sending transactions in the same time, that would make fees go sky high, mempool would be full and transactions stuck.

Using one transaction per vote is a naive approach.
And even if the bitcoin blockchain would be used (which is a bad idea since better alternatives exist and blockchains simply do not provide any advantage here), there would be better ways than one transaction per vote, resulting in high fees.

Aggregating multiple votes into a single transaction could be the simplest way to not bloat the mempool and blockchain with too much transactions.


Still, using blockchains for voting is dumb.