Blockchain tech for votes

And that prevents me from disclosing it to someone else how?

So, go through the ballots in your precinct until you find one that voted on all the issues and candidates (I usually have a dozen or so things to vote on), until you find one that matches the ballot that you want to show off. Then transcribe that number onto a different sheet of paper (as it is not going to be provided on a handy laminated card as your actual key is).

Then they ask you, why do you have a separate paper for your public key? Why not use the one you were given? Speaking of which, where’s your private key, if you want this $50/if you want to not get bullied/if you want to not get fired/if you don’t want to sleep on the couch tonight, you need to show me your private key.

The way that the encryption works is that you have to create the numbers at random first, so I don’t know if it would be possible to create a key that resolves to dictionary words. Even if you did, we are talking about creating tokens for hundreds of millions of people, so it would be very difficult for everyone to have their own unique set of dictionary words.

Assuming that we stick with 256 bit, (which is not very secure), then that means that the voter only has somewhere in the 30ish range of characters to enter in order to vote.

I’m thinking that this is another stake through the heart of this plan. People are supposed to be entering in these long alphanumeric codes. Well, there goes the vote of most people over 50. I’d say that is the fatal flaw, but there are so many flaws to this plan, that it is hard to tell which is really the killer of it.

Okra, maybe it would help if you actually explained what it is that your solution is trying to do. As it is, it simply adds layers of complexity, invoices voters, demolishes the integrity of the secret ballot, and opens up the system to easier fraud.

What benefit would this pose?

I think it’s important to separate out generic criticisms of online voting, of which there are many and which computer security professionals have been harping on for decades about, with specifically blockchain voting which adds a whole other level of badness to online voting. So far, all of the stuff about key management and security are primarily problems with online voting.

Countries like Estonia have done a lot to mitigate those problems through concerted effort, rather than some ad-hoc key distribution system as proposed by Okrahoma, every citizen of Estonia is issued with a smart ID card with embedded secure enclaves. Card readers are standard hardware in Estonia and used for everyday transactions like e-commerce. Smart cards allow the secret key to remain purely on the card with no way of it being extracted, only the encrypted output is ever sent off card.

Such a scheme is politically infeasible in the US out of some paranoid fear that it could lead to the gubmint bringing about the end of days or some such nonsense but there are systems carefully designed by experts that have tried to mitigate some of the most egregious flaws with online voting. Still, all of these systems are centralized because putting it on the blockchain is still extremely stupid.

'cuz God forbid the peasants will be able to see and count the votes themselves.

Peasants are also quite big fans of vote secrecy. It’s not clear why you think every peasant would share your opinion or accept your flimsy assurances of safety.

I still do not understand, assuming that one is an advocate of e-voting, why one would focus on Bitcoin rather than (to arbitrarily name a few) Prêt à Voter, STAR-Vote, Helios, Split-Value Representations, and so on.

As was pointed out in the thread on Bitcoin, that system was (supposedly) designed to distribute digital coins not under the control of any central bank. It has nothing to do with anonymity or secret ballots.

I think it might be interesting to step back and think about a public voting ledger it more abstractly, as opposed to trying to pick holes in Okrahoma’s specific proposal.

Suppose we still had paper ballots that people marked, and all the ballots were collected and displayed publicly. Likewise, presume that any one person would be able to pick out their own ballot from the massive collection of ballots, because each ballot comes with a little number on a tab that the voter takes with them after they vote that matches the number on the ballot. Assume that these ballots and numbers cannot be forged (ie. you are trusting the government to make them unforge-able). Anyone can go at any time and count the total tally, as well as see that their vote.

As far as I can tell, this is what Okrahoma is saying is effectively achievable with blockchain voting. So is such a system preferable to the current system? Is the transparency of the tally more important than ensuring the privacy of your vote? I tend to have similar concerns to k9bfriender and HMS Irruncible in that the existence of a method capable of publicly verifying a vote could lead people into being pressured/coerced into revealing who they voted for - and this could allow for people to be pressured into voting a certain way. Suppose an employer were to make it a condition of employment for you to submit your ballot # so that they can verify that you voted the way they wanted you to. In the current system, there is no way for them to do that, and you can just lie about who you voted for, but with the public ledger method, they could threaten to fire you if you voted against their wishes or refuse to hand over your ballot #.

You can have your (privacy, secrecy, transparency) cake and eat it too using any number of classic schemes. I just do not see the point of shoehorning Bitcoin into it, and I think the burden is on the proposer to explain why his system is at least as good as actual electronic systems being provided by actual organizations and used in actual real-life elections.

sigh. You can let the “peasants” see and count the votes themselves without blockchain but just… putting the tally of votes online. I’m not quite sure how you’re still failing to understand me.

The problem is that you only have access to three pieces of information. You know who you voted for, you can verify how the computer says your vote was counted, and you can read what the computer says the totals were.

So you go to the poll and vote for Steve Rogers. And you are given a blockchain key that says your vote is 66268900930821716136.

The next day it’s announced Lex Luthor won the election. You go and check on key 66268900930821716136 and you’re told that vote was cast for Steve Rogers.

Can you verify that 66268900930821716137 was cast correctly? No, the only person who can verify that is the anonymous voter that has that key. If the computer tells you that vote was cast for Lex Luthor, you have no way of verifying that’s the candidate that voter wanted to vote for. You don’t even know if there is a voter behind 66268900930821716137 - the computer may have just made up that voter. So that voter can never be called forward to confirm their vote.

The whole point of blockchain technology is that it allows people to keep their identities concealed. And if people are programming the computer to give false results, they’re going to keep their identities concealed. They’re not going to voluntarily step forward and give the information that will verify the fraudulent results.

Yes - except you can’t put the tally online that is not centralized or cannot be falsified - by that centralized authority. Not without doing some kind of blockchain-like mechanism. I’m not quite sure how you’re still failing to understand that.

My suspicion is that the classic systems are too good. Some people want to introduce new systems because they don’t work as well as the classic systems.

That’s not how blockchain works. In order for a transaction to be recorded, there should be a prior transaction with that number in the blockchain. That’s the whole point of it. In order for you to spend a bitcoin, there should be a prior transaction that assigned the bitcoin to you. And a prior transaction that assigned a bitcoin to whoever transferred it to you. Etc etc. All the way to the zero block. That’s how you KNOW that the one paying to you actually has it to pay with.

The starting transactions in this case would be the ones that distributed the tokens to the registered voters. Which would be closely monitored on a physical basis. If a token was NOT given out in that distribution, it cannot be recorded as a voting transaction. Once that distribution is done, no voting transaction can be recorded unless its token was in that initial distribution.

Focusing on the security of the math in the blockchain itself is missing the point. Yes, that math is solid. It’s all the stuff around it that doesn’t work well.

There have been numerous well-publicized frauds, thefts, and losses with Bitcoin. Why do you think those events have happened, and why do you think they wouldn’t happen with a voting system based on similar technology?

Judging by the disagreements of people who know more about the nuts and bolts of this proposal than I do, it seems like this would INCREASE the demand for volunteers to help people vote. Because nobody seems to have an understanding how this would even work, let alone explain it to my grandma.

Because … reasons.

Because those had something to do with websites/exchanges where you can buy/sell bitcoin. Not with the bitcoin system itself. If you want to get technical, when you buy/sell off exchanges, your wallet is on that exchange and they have access to it. The system I was proposing, the “wallet” (or paper wallet if you prefer) would reside with you at all times.

By the way, I was just thinking that the distribution of tokens to voters needs to happen only once per voter. You distribute 10,000 tokens to the voter. Or 100,000 - big number. He can only use one per election. That restriction can be checked in the blockchain, because of its transaction tracking capabilities.

So, walk me through it very carefully: When someone has their token and wants to vote, they, what, go study the algorithms and implement a VoteCoin client themselves? What if they do it wrong? They will do it wrong.

Or do they do what everyone does with Bitcoin, and use some piece of software that someone else has written and just hope that it works? And what happens if it doesn’t? What happens if it has random bugs? What happens if the first unscrupulous developer to get a 5% market share decides to steal an election?

What do you do if someone loses their private key?

If it doesn’t, you can see, immediately, in a public ledger, that your vote didn’t register, or that it registered wrong. And you go to the proper authorities and complain. Not after the election, but immediately.

You go to the proper authorities, invalidate your public key, and get tokens/wallet.

Another step not currently necessary in the present system that will discourage people from voting.
Like I said before, the fewer people that actually vote the better the Republicans do in the elections.
edited to add: How available will these “proper authorities” be in rural areas, poor parts of towns and other areas that have had problems in the past? Who exactly will determine their placement?