News for hackers. Stuff that matters.
Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @07:03AM (#26223530)
What about a voting system? That's the only application of a public, decentralized ledger that can kind of makes sense to me. I'm from Switzerland, every few months we have a public voting for various changes to the federal or cantonal laws. I currently do not have a way to be certain that my vote is taken in account. With a public ledger I can check and be sure that my vote is correct.

I'm generally opposed to software voting because I have a complete distrust for such systems, but a public ledger (preferably not based on proof of work, so not ethereum) has interesting characteristics. And the price or inefficiency isn't an issue in this context.

Edit: people commenting seem to misunderstand the proposition. I'm perfectly aware of the privacy around voting and not advocating against it. It should be possible to have a system where your vote is registered publicly as a transaction between your wallet and a "referendum" wallet, in that case unless you have a way to link the public identity of a wallet to an identity (meaning people would somehow leak their public address somewhere) you do not have a way to know my vote. The only thing you could know is the number of total votes and their choice. You can of course generate a new wallet per voting as a way to not have a history.

Edit 2: the plausibility deniability is a fair point, I concede.

Re:Ethereum Isn't Fun Anymore by jlokier on Monday February 22, 2021 @07:24AM (#26223686)
> With a public ledger I can check and be sure that my vote is correct

Any voting system with a public ledger where you can later check your vote is a disaster for election integrity. It's probably surprising, and certainly counter-intuitive, but that's a vector for fraud.

That's why we have a long history of secret ballots. And no cameras in the voting booth.

From a comment a few weeks ago (https://news.ycombinator.com/item?id=25739051):

> you could look up your own vote and the votes of your friends to confirm

You can't do that because visibility causes voting fraud.

By coercion. If votes can be checked by other people, a very large number of people (enough to change the result) will be forced under threat by someone else to "vote correctly".

The same happens if you can check your own vote, because any mechanism that lets you do that can usually be used by someone else - "give me your phone so I can check you voted for X like I told you to" (while holding a gun).

That's why free & fair elections have secret ballots, without personal identification on the ballots. To prevent coercion fraud.

Re:Ethereum Isn't Fun Anymore by px43 on Monday February 22, 2021 @07:54AM (#26223923)
First off, there have been many implementations of various forms of secret ballots on Ethereum using zero knowledge proofs. Mix and match your feature set of who can verify what and when, and there's a zero knowledge scheme that can do it.

Second, coercion has been rolled out as an excuse to disenfranchise voters for ages with no evidence that it's a real threat in the modern era. I live in Oregon, which has been doing mail in voting since the 70s. People argue all the time that mail in voting will lead to coercion, but it has literally never happened in Oregon.

Also, voter rolls are public information. I like collecting data, so I have voter rolls of most states, which often allows me to look up name, home address, phone number, and registered party of anyone who is registered to vote. A lot of states even have parts of voting history publicly available. It's super easy for any employer to figure out what party any employee is in, and exactly which candidates that they've donated money to, etc, yet coercion still isn't a thing.

If you look at the pure economics of coercion, it's pretty obvious why it isn't a thing. It just doesn't scale. Every person that gets added under a coercion scheme make it that much more likely that the person running the scheme is going to go to jail for the rest of their life. No one cares so much about politics that they're going to throw their life away for the potential of changing 5 or so votes.

Re:Ethereum Isn't Fun Anymore by jlokier on Monday February 22, 2021 @08:45AM (#26224412)
> First off, there have been many implementations of various forms of secret ballots on Ethereum using zero knowledge proofs. Mix and match your feature set of who can verify what and when, and there's a zero knowledge scheme that can do it.

Yes, no problem with that. But the GP was arguing that it's better if ballots are not secret. I think it's a common misconception that if only all votes were open they would be more democratic.

At a small scale, I've directly witnessed people who decided not to vote on issues where their vote could be figured out by others, saying they didn't want social consequences of being seen to disagree. I've also known people afraid to vote with their conscience due to reprisals, and I do mean afraid.

> Second, coercion has been rolled out as an excuse to disenfranchise voters for ages with no evidence that it's a real threat in the modern era.

Good point. For the record, I'm pro mail-in voting too, especially during a pandemic. I'm not impressed by those who sought to disenfranchise votes in the USA this time around by arguing that mail-in votes should not be counted after they have been cast in good faith.

The mechanisms we use to protect vote integrity are meant to be a "best we can do" while still allowing people a reasonable way to actually vote. As soon as people are prevented from voting in the name of "integrity", that's not democracy any more.

Mail-in voting fraud has been found to a notable amount in the UK, though not enough to swing a result. But it did not come from individual homes. It's important to have mechanisms in place to look for it, if only to evaluate that it's not happening to a significant degree. Monitoring mail-in vote integrity should be on the look out for where ballots are posted from, and whether there are collisions with multiple votes from the same persons. If 10,000 votes are detected postmarked from the same employer warehouse with the same handwriting, that's time to be suspicious. When it's from 10,000 individual homes, each marked in a different style, you can be much more confident nobody has the capacity to go around every household to make that happen.

However, back to the technical suggestion of a public verifiable vote. If 10,000 people vote privately and then someone they have a commercial relationship with asks for proof they voted a particular way before they get a discount or whatever, that swings it from "nobody can visit every household" back to "systematic pressure is realistic", and it's not democracy any more.

> It's super easy for any employer to figure out what party any employee is in, and exactly which candidates that they've donated money to, etc, yet coercion still isn't a thing.

If people choose to announce their party affiliation, that's something else. Nothing stops people choosing to broadcast how they voted either. That's fine.

However in both cases, people are free to vote differently in secret than whatever they are broadcasting or socially going along with.

Polling data suggests there are plenty of people who are reluctant to truthfully say how they vote, even when told the polling is confidential. I'm sure there are people who leave it implied among their social groups that they lean one way, when in private they actually vote another way.

Re:Ethereum Isn't Fun Anymore by mcherm on Monday February 22, 2021 @11:06AM (#26226075)
I'm a Judge of Elections in Pennsylvania, USA.

You write: > If people choose to announce their party affiliation, that's something else.

In PA (as in most states) one's party affiliation is public by law. In PA it's important because one can only vote in the primary for the party one is registered as a member of. (Voters who do not register an affiliation or are affiliated with a third party simply aren't allowed to vote during the primary.) So it's not really a case of "choosing" to announce their affiliation.

Also, I know multiple individuals in my neighborhood who have confided in me that they registered as members of one party but preferred to vote for the other party. Why? Because (at least historically) our county has a long history of being run by a single party and (to quote my neighbor), "If you are a member of the wrong party your trash won't get picked up."

The secret ballot really DOES prevent certain abuses.

Re:Ethereum Isn't Fun Anymore by jlokier on Monday February 22, 2021 @01:24PM (#26228193)
I must admit, the notion of being "in" a party in a way an employer can easily check, or party affiliation that is legally registered, is outside my experience. By affiliation I meant only the party a person tells other people they support, in a non-binding social sense. I'm not in the USA.

I agree, where affiliation with a party has greater meaning and consequences, and is practically required for access to ordinary local services, the secret ballot is even more important.

That neighbourhood is a great example.

I'm disappointed, really, that in 21st century USA those people are still disenfranchised by local politics from voting in the primary of the party they actually support. But presumably there are good reasons for legal registration.

Re:Ethereum Isn't Fun Anymore by jdmichal on Monday February 22, 2021 @12:30PM (#26227306)
To be fair, even if you register for the opposing party, helping to choose the opponent is still useful. I've considered such plays before.
Re:Ethereum Isn't Fun Anymore by the_snooze on Monday February 22, 2021 @08:20AM (#26224157)
> And no cameras in the voting booth.

Even with cameras in the voting booth, voters still have plausible deniability because they can spoil their marked ballot (that they may have photographed) and request a fresh blank one.

In-person paper voting is pretty much the best voting method we have in terms of privacy, usability, scrutability, and reliability.

Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @07:40AM (#26223808)
Isn't that already a risk though? I vote remotely by mail, you could coerce me to vote for something specific and even send the mail yourself if you want to be sure.
Re:Ethereum Isn't Fun Anymore by mytherin on Monday February 22, 2021 @08:05AM (#26224044)
There is a difference between active coercion (someone goes to your house and forces you with a gun to vote their way) and passive coercion (if you vote for X in 20 years time your vote might be considered inappropriate and you will be fired from your job).
Re:Ethereum Isn't Fun Anymore by sigmaprimus on Monday February 22, 2021 @10:19AM (#26225486)
What about if in 20 years your social media comment was considered inappropriate? For this example let's say it was in a "private" forum but political in nature, would that also be an act of passive coercion to silence a political viewpoint?

Eg: We need to make a list of all his enablers before they delete their posts...

Re:Ethereum Isn't Fun Anymore by dmichulke on Monday February 22, 2021 @07:36AM (#26223773)
Isn't this more about whom I trust less, the politicians or a third party (that might as well be the politicians)?

If so, why is it in the state's power to decree that we have to trust the politicians but not the 3rd parties?

Re:Ethereum Isn't Fun Anymore by jlokier on Monday February 22, 2021 @08:27AM (#26224220)
No it is isn't. Secret ballots aren't about whether you trust those administering the election, although that's a factor.

They are to let you vote as you privately decide with safety from everyone who has an interest in the vote, whether that's third parties, your boss, insurance company, local mafia, etc., or the state.

The state's role, in a democracy, is to ensure state-level elections take place with the various ingredients that ensure it has high integrity. That requires a lot of things; a lot of resources, making sure everyone knows about it, making it clear the result will be respected by the state itself, acting as a coordination point with some kind of authority so that people will tend to respect that an election actually took place.

If you have a third party available who can do that, by all means go for it, but generally you don't have one, and if you did you would start calling it the state.

However, in a democracy the electoral process should be administered as separately as possible from the politicians of the day. Politicians of the day should not be getting much involved, other than to ensure it takes place with all the usual resources.

Note that "the state" and "the politicians" are not the same thing in a democracy. The state consists of multiple institutions, many of which do not particularly trust politicians either.

The people most directly involved in actually running it should demonstrate a commitment to the integrity of the election itself foremost, ahead of their personal political views. On the principle that democracy itself is more valuable than winning any particular election, while still being drawn fairly from a range of people. But they should be observed (without interference) at multiple levels by representatives of different political groups.

Making a combination of people, systems and motivations to achieve integrity is the art of institution building (and maintenance), an electoral commission or something like that. Its independence from politicians of the day is one of its key features.

Regardless of who runs it and who you trust, you still need secret ballots to ensure integrity of the result.

Re:Ethereum Isn't Fun Anymore by probably_wrong on Monday February 22, 2021 @07:33AM (#26223756)
The main problem as I see it is that such a system would be completely inaccessible to anyone who is not a software developer.

With a paper-based system, all you need to understand is that your paper goes into a box and someone counts it later on. Everyone understands every step, including the steps required to secure that box. But once you require people to understand blockchain you are putting the intregrity of the election in the hands of a privileged elite.

Re:Ethereum Isn't Fun Anymore by the_snooze on Monday February 22, 2021 @08:00AM (#26223989)
It's sad so many technically-minded people fail to account for this when it comes to trust, especially in the context of voting. You can't get people to trust a system by cloaking it in cryptographic black magic. It has to be scrutable to the people participating in it, especially the voters and volunteer poll workers who most closely interact with it.
Re:Ethereum Isn't Fun Anymore by crispyambulance on Monday February 22, 2021 @10:17AM (#26225460)
> But once you require people to understand blockchain you are putting the integrity of the election in the hands of a privileged elite.

I would say, even worse, we would have to require people to TRUST a system that uses blockchain in addition to understanding it. The fact that in some thin layer of a gigantic inscrutable system there's a mathematically irrefutable "truth" does NOT make people feel better about it.

Trust is NOT a mathematical concept.

In any case for blockchain to ever take off in common usage, it's going to have to overcome its association with scammy cryptocurrency schemes. That's going to be a while!

Re:Ethereum Isn't Fun Anymore by charcircuit on Monday February 22, 2021 @08:22AM (#26224174)
I don't understand that system. I drop off a sealed ballot in a ballot box and then that's it. I just have to trust that the system works. I have to way to prove that my vote was counted. I have no way to count the votes for. I don't understand the process behind how my votes get counted and it would be fine if people didn't understand how blockchains work.
Re:Ethereum Isn't Fun Anymore by OldHand2018 on Monday February 22, 2021 @04:27PM (#26230884)
If you want to understand how your local elections work, just go volunteer when they ask for volunteers.
Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @07:43AM (#26223830)
Yes, that's a very good point and another reason I personally advocate for paper ballots. But you can also see it the other way: anyone can learn how to check their entry in the ledger, that takes time but it's not some rocket science. That can be democratized in a way paper ballot cannot be as it requires a huge amount of people and has an important cost for the community.
Re:Ethereum Isn't Fun Anymore by 1337shadow on Monday February 22, 2021 @07:10AM (#26223583)
> I currently do not have a way to be certain that my vote is taken in account.

That is something we do a lot of R&D on @Electis, along with the fine fellows from InfernoRed, Microsoft and others. Because the value of an election is the thrust that voters have in it!

It is part of what the homomorphic encryption protocol we use (electionguard) aims at solving. Your ballot is encrypted with a joint public key, and all the "artifacts" of the election are published after it closes. You can verify that your encrypted ballot is present in the artifacts, and that the whole artifacts archive verifies mathematically.

https://www.electionguard.vote/ https://electionguard-python.readthedocs.io/ https://www.electis.io/ https://electeez.com/

Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @07:19AM (#26223641)
That's great, thanks for sharing. That could be its own HN submission!
Re:Ethereum Isn't Fun Anymore by moomin on Monday February 22, 2021 @07:12AM (#26223595)
This may surprise you, but most voting systems make verification hard deliberately. If you can check your vote at home, others can verify your vote as well, which means you've lost the advantages of a secret ballot.
Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @07:15AM (#26223623)
You can only know my vote if you have a way to associate an address with an identity. Unless that's the case, you may be able to check the set of votes, but that's it.
Re:Ethereum Isn't Fun Anymore by Majromax on Monday February 22, 2021 @08:58AM (#26224551)
> You can only know my vote if you have a way to associate an address with an identity.

A secret ballot makes it impossible to verify votes even with collusion between the voter and interested party. That makes vote-purchasing infeasible, since I could take money to vote for you and still defect at the secret ballot box.

A cryptographically-secure secret ballot in this threat model would need to provide the voter with a valid zero-knowledge proof for their actual vote and an imposter zero-knowledge proof for their alternative vote. Something like "if I input A into the system, then it counted vote X; if I input B then it counted vote Y," with A/B remaining private to the voter.

Re:Ethereum Isn't Fun Anymore by Nullabillity on Monday February 22, 2021 @07:24AM (#26223677)
Whoever forces you to vote a certain way can force you to reveal your address too.
Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @07:45AM (#26223845)
Fair point
Re:Ethereum Isn't Fun Anymore by KallDrexx on Monday February 22, 2021 @08:26AM (#26224215)
Maybe I'm missing something, but I think the original point is that blockchain will help the voting process by providing the transparency and verification in the process. And part of that is everyone being able to see that yes the winner won because we can see every vote and clearly see who won.

However, that doesn't help unless you know that every vote was a legitimate and eligible vote. How do you know the votes are legitimate and eligible if the address is anonymous? You need some system to either publicly identify each address or you need a central authority saying which addresses are allowed to vote.

The latter goes right back to the situation we are in today and the blockchain becomes no more useful than a centralized database, because we are still reliant on the centralized authority to tell us how many valid votes mattered.

Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @11:09AM (#26226120)
You have a list of citizens, their personal information are stored in your country databases. They have a unique key pair assigned at some point during their life (let's call it Citizen Key, may be paired to a Citizen ID or something like this).

There is a new voting event, each citizen can now create a voting wallet using their Citizen Key then vote on the various motions by sending a transaction to a destination wallet created for this event.

At the end of the voting event, the votes are counted and no transaction can be send to the destination wallet.

You do have a central authority, it's the country (or state). Only citizens can vote, and only citizens have a valid set of keys.

The benefits is that anyone voting or people who want to verify the voting numbers can do, and without having to trust the software managing the database (I mean, you of course have to trust the blockchain itself...).

Re:Ethereum Isn't Fun Anymore by willis936 on Monday February 22, 2021 @08:29AM (#26224241)
Address records are very much not considered private. Yellow pages only stopped being printed in 2019. The information is still accessible.
Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @10:54AM (#26225901)
By "address" I meant a wallet address on the blockchain.
Re:Ethereum Isn't Fun Anymore by irjustin on Monday February 22, 2021 @07:27AM (#26223713)
I'm against doing electronic voting and tracking [0]. Others have commented on the tracking/anonymous issues, so I'll leave that.

Make the whole system as hard as possible to manipulate by involving a lot of people who distrust the person they're working with.

There is a tiny chance your personal vote will get lost in all the paper handling, but you can be assured that the system is a lot harder to manipulate simply because of the sheer number of people involved.

[0] https://www.youtube.com/watch?v=LkH2r-sNjQs

Re:Ethereum Isn't Fun Anymore by joshspankit on Monday February 22, 2021 @08:04AM (#26224025)
What about government spending? All the way from taking taxes to paying vendors. Including the spending of all politicians. (Minus a reasonable “dark fund” for military and whatnot simply because it can be important to hide your cards from other countries)

If citizens can see exactly where their dollars go it could make corruption very difficult and lead citizens to be far more engaged in their democracies.

Re:Ethereum Isn't Fun Anymore by rmah on Monday February 22, 2021 @10:27AM (#26225559)
You can see where your tax dollars go now (except for the classified items, but even there you can see the totals). You can get detailed breakdowns of nearly everything, including salaries. For example, you can see every NYC employee salary here https://www.seethroughny.net/payrolls. If you want, you can scroll through the massive list of federal, state, local gov contracts on a variety of websites today. For example, Florida state gov contracts https://www.dms.myflorida.com/contract_search

But the fact is, (almost) no one really cares. Many people want to believe they would care, but they don't really. Either way, knowing what's being spent where only makes corruption marginally more difficult. It certainly doesn't lead citizens to be any more engaged. We know this because what you want is already here and it has solved precisely nothing (IMO).

Re:Ethereum Isn't Fun Anymore by joshspankit on Monday February 22, 2021 @11:12AM (#26226159)
Very solid points.

I personally think the engagement part would come instead from "My $5000 in tax went through the system and was eventually spent on a federal initiative I don't agree with" (or since it's all granular: "only $13 of that $5000 went to anything that benefits my community?"). No, I'm not saying that everyone will care, but I think that more people will care.

Re:Ethereum Isn't Fun Anymore by jdmichal on Monday February 22, 2021 @12:44PM (#26227541)
I live in Florida, so they only non-federal tax I pay is property tax. (Excluding sales taxes, of course.) Every year, I get a full breakdown of exactly what mils go where with the bill. I bet we would have something similar at the federal level by now, except that stupidly we have to do the whole "guess the number I'm think of" game with the IRS instead of them sending a bill.
Re:Ethereum Isn't Fun Anymore by Synaesthesia on Monday February 22, 2021 @08:19AM (#26224151)
We could do that without bitcoin. Lot of things we can do, like make democracy more direct by allowing people to vote on issues from an app on their phone. The technology is there.
Re:Ethereum Isn't Fun Anymore by benhurmarcel on Monday February 22, 2021 @08:25AM (#26224199)
The difficulty with that is getting trusted information published, not storing it in a secured manner.
Re:Ethereum Isn't Fun Anymore by joshspankit on Monday February 22, 2021 @09:35AM (#26224972)
If citizens paid in COUNTRYCOIN (publicly-visible blockchain-based currency), all spending was done in COUNTRYCOIN, and all government loans (in or out) were in COUNTRYCOIN, then trusted information would be integral to the whole system.

Yes a contractor could still charge $10k for a hammer, but citizens would uncover that almost immediately.

Re:Ethereum Isn't Fun Anymore by the-smug-one on Monday February 22, 2021 @07:10AM (#26223589)
That destroys plausible deniability, no? How would that system work?
Re:Ethereum Isn't Fun Anymore by lopatin on Monday February 22, 2021 @07:21AM (#26223660)
A public ledger can be achieved without a blockchain right? My understanding is that a ledger can guarantee that your vote was counted, but it can't guarantee that all the other votes are legitimate.
Re:Ethereum Isn't Fun Anymore by dgellow on Monday February 22, 2021 @07:47AM (#26223868)
That may be the case. My point was to say that there is at least one potential application for a blockchain. But I'm sure that's not the best way to approach the problem, just a potential solution I could think of.