Hacker News new | past | comments | ask | show | jobs | submit login

It’s all using cryptography.

Cryptographic signatures are heavily used in these networks. People sign the transactions using elliptic-curve cryptography (or they are moving to some quantum-resistant thing). Then a blockchain or other decentralized network stores the transactions while a programming language is used to make sure that everyone and every node is following the rules.

Being able to finally trust the code instead of a middleman has the potential to be extremely useful despite your insistence that it cannot possibly have any uses because you personally don’t like it. Because trust is costly, and being able to reduce the attack surface enables much larger coordination and larger value to be managed collectively, with far less corruption.




There is no way to do commerce with physical goods without trusting either (a) your trading partner, (b) a middleman, or (c) your government. Crypto only solves the postmen of trading crypto without trust. Everything else still needs a trusted middleman.

And for things like voting, it is hundreds of times easier to verify if a paper ballot election is rigged than it is to verify if a crypto based election is rigged.


That’s wrong

First of all, there are many more applications than commerce with physical goods. There’s global payments for services, recurring subscription models, gated access to content, contests, voting, governance, UBI, and much more. Check out https://intercoin.org/applications for a more comprehensive list.

I wrote this article in 2020 after multiple voting debacles in Iowa etc. Paper ballots and hand counting is what lost Al Gore the election for instance and George W Bush got elected, leading to a lot of wars and destruction. With all those paper butterly ballots and other things, it was actually NOT easier at all. People had to recount throughkut multiple days until the Supreme Court simply stopped them:

https://www.coindesk.com/in-defense-of-blockchain-voting/

And now a large proportion of the country believes the 2020 election was rigged due to mail-in ballots arriving and being counted in the middle of the night. Go tell them they’re wrong. You may think they’re crazy but cryptographic signatures and valid IDs could have made it FAR more secure. Unlinkability is the only thing that is hard, for that we could have given everyone a token and used a zero-knowledge proof mixer.

In fact, that is what Google now does with its “privacy sandbox”. But you have to trust Google :-)


Commerce with software goods, or even exchange for digital traditional currencies, suffers from exactly the same problem as physical goods: there is no possible way to use the block chain to guarantee that a payment on the block chain will result in a good or service being provided outside the block chain. You can try to build more things onto the block chain itself, but that quickly becomes un scalable.

And for elections: if you think for a second that a crypto voting machine wouldn't have been cast doubt on by the people who brought you "Hugo Chavez stole the election through Dominion voting machines", then I have no idea on what planet you live.

On a separate topic, the USA is almost uniquely bad in the world, at least for rich democratic countries, in having such problems carrying out elections.

In my own, incomparably poorer, country, with a 50% rural population, we just don't have these problems. You have a 90% physical voting system: you come to the polling station, they check your ID in an electronic system to make sure you meet the voting age and haven't voted before in this election, they give you a stamp and a ballot, you stamp the ballot in a private booth, typically in a local school. You fold the ballot, and put it in a big urn. At the end of the voting day, representatives of all parties and anyone else who registered as an observer opens the urn and they all count the votes. They report the counts higher up electronically, and safely store the physical ballots. Elections happen on a Sunday, from 8 AM to 8 PM, sometimes with local extensions where a polling station is still full at the close. Preliminary results from exit polls are announced immediately at 8PM by the media. The electoral officials announce the first official preliminary results by 22PM, and then throughout the night. By 12 PM the next day, the vote count and official final results are typically out.

No "hanging chads", etc. There are plenty of other electoral issues (busing, paying for votes, strong local cliques where even representatives of different parties conspire to steal votes for a single party, bad education leading to people not knowing their rights or who to vote for, etc). But not procedural problems, and no machines that make it easy to hide systematic stealing.


At the end of the voting day, representatives of all parties and anyone else who registered as an observer opens the urn and they all count the votes. They report the counts higher up electronically, and safely store the physical ballots.

What you describe is exactly what happens in byzantine-fault-tolerant networks, and much more. But because it is done by machines, the cost is brought down by orders of magnitude so now many groups can have decision making and votes about many things every day, rather than spending billions once every few years and manually counting. This technology is made available to all, as opposed to, say, trusting the operators of a StackExchange site to not rig the periodic elections for moderators and those who will run the site. And it allows the communities eg DAOs to collectively manage larger amounts of money without worrying some director will abscond with it.

The REAL conflation has been by crypto-haters of decentralized protocols with centralized entities like FTX or Celsius. The only thing they have in common with crypto is that you can send crypto to the address they control. And then, they pinky promise they’ll take care of it. Crypto has been developed exactly to remove the need for such middlemen! While FTX fell, UniSwap and Aave Protocol didnt miss a beat. No one worries a UniSwap smart contract will rugpull then one day. Government regulation isnt needed when the code has been battle tested with billions of dollars. Just like government regulation of HTTP isnt needed even though it was needed for physical mail delivery. That’s the kind of building blocks we need for a future system — for voting too. Cheaper faster better.

It is a bit like arguing email and the world wide web is worse than the gold standard of regular mail. Look at how much innovation it has unleashed once given the chance to build on top. Sure we had chain letters and scams and phishing etc. But we also enabled trillions of dollars in ecommerce and SaaS and much more!


It is impossible for all but maybe 10 humans in the entire world to make sure a machine implements the algorithm it purports to implement. It is impossible for all but the best programmers + mathematicians to verify that the algorithms that they purport to implement achieve the safety/security goals they hope to achieve.


And yet, with crypto, it is possible for people to verify that the code matches exactly what was written, and it was publicly audited by multiple companies and battle-tested with billions of dollars in value.

UniSwap is a great example. No one ever worries that a UniSwap instance will do something nefarious. That's how the decentralized software SHOULD be. We don't need everyone to verify, but just allow ANY AUDITORS IN THE WORLD to do it.


This is trust in a middleman - the auditors. There is noting trustless about this system. For money, that's probably good enough - it's no less trustworthy than a bank. But it's FAR from enough assurance for national voting.


No. The auditors aren't actually handling your transactions. You can have N auditors sign off on code. And there's also battle-testing it in practice. Comparing that to literal middlemen -- telephone switchboard operators, banks, etc. -- is a category error


No, but you don't know if your transactions are actually safe, or even more so an election, if you don't trust these auditors. The people writing the code, running the servers, etc - you also need to trust them, and they are actually the ones handling your transactions or votes, the exact middlemen.

And again, in any fully electronic system, you need to take into account the whole system, not just one part of it. Maybe Bitcoin or Ethereum or whichever blockchain you like is indeed perfectly safe and very trust-worthy. But if I'm connecting to it to vote from a Windows PC that I last updated 5 years ago, then I'm still extremely likely to lose my private key to my money or have my vote cast for whoever Microsoft or the writers of all the malware I'm running likes best.

There is no way to make electronic voting safe. There will never be any way to make electronic voting safe. Any country doing it is playing with fire. Blockchain does nothing at all to change this one iota.


> cryptographic signatures and valid IDs could have made it FAR more secure

No it wouldn’t, it would make attacks at scale easier. The gold standard is physical ballots with electronic scanning.


Seems completely the opposite.

With paper ballots around the world there are already attacks at scale. Take the latest national election in the USA. Republicans claim that Democrats shipped in fake mail-in ballots or harvested them from old people, and said “trust us”. Democrats claim that Republicans closed polling stations and disenfranchised many voters at scale in districts that historically voted Democratic.

Witness all the rigged elections around the world, some strongmen getting 99% of the vote at scale. What good are the paper ballots in, say, Belarus if Lukashenko says he won? Is an average person going to be able to somehow know what happened in their own pollung station after they left, let alone across the entire country?

Having mutually distrusting parties have access to each other’s work is the very thing that enforces byzantine consensus but it can be checked and verified on-chain as each party signs off on the result, so anyone can check that 1) they looked at it and 2) they were satisfied. That’s far far better than hearing someone say “it went fine” about paper ballot recounts.

Furthermore, everyone being able to make sure their vote was counted by eg checking Merkle Proof is far more secure.

None of the above failure modes would be an issue if everyone who wanted to, could vote from their computer, scanned the QR code with their phone to verify their choice, and signed with their private cryptographic keys derived from their IDs.


> Republicans claim that Democrats shipped in fake mail-in ballots or harvested them from old people, and said “trust us”. Democrats claim that Republicans closed polling stations

Claims won’t change with a tech fix.

The point is there still isn’t evidence of wide-scale disruption. Electronic-only voting changes that from a verifiable problem to an inherently-unverifiable one. You only know the code voted, not the person.

> What good are the paper ballots in, say, Belarus if Lukashenko says he won?

Crypto ballots wouldn’t change this. If anything, I expect crypto voting to soon feature in authoritarians’ elections.


Yes you massively mitigate both systemic problems with a tech fix.

People in rural areas whose polling station closed thanks to Republicans, and who can’t drive 30 miles to the next one wanted to use the mail-in ballots. And Democrats were very happy to allow it. But then Republicans pointed out all the ways the mailing system and ballot harvesting was very unreliable. And both sides have a point. Taken to the extreme, both disenfranchisement and physical mail suck for voting.

In contrast, people could have an option to vote from their computer and use their phone to scan the QR code and confirm their vote and sign it. They can then verify their vote was included correctly!

I have explained at length how crypto would make it a lot more verifiable and reliable.

Everyone would be able to check:

1) their own vote was counted in their district

2) their own district was counted in the total

3) the number of votes and turnout in each district, matching the number of signed checkins

4) mutually distrusting parties in each district saw each ballot being cast (or a random sample) and were satisfied that the electronic record matches whatever receipt was generated

None of these can be directly verified by nearly anyone participating in a paper election.


> people could have an option to vote from their computer and use their phone to scan the QR code and confirm their vote and sign it. They can then verify their vote was included correctly!

Besides destroying the secret ballot, you can do this now! You look at the paper and the electronic count. If you’ve been a poll worker or observer, you know there are hundreds more checks a well-designed system has.

> Everyone would be able to check

Few people would be able to check any of this. (Fewer than can observe a poll today.) And it’s much easier to invent a “hack” that makes people distrust an electronic ledger than a paper one folks can audit ex post facto [1].

There is no similar audit capability for a blockchain. Did the person actually vote that way? Or was their phone hacked? Short of re-polling everyone, you cannot know.

Remotely coordinating a poll attack on paper ballots where every precinct has its own system is impossible. Crypto voting is a textbook tragedy of trying to solve a social problem with a band-aid of technology.

[1] https://en.m.wikipedia.org/wiki/2021_Maricopa_County_preside...


This seems very naive.

1) even if so, can I check my vote recorded at the district vote collection center is the same as the vote I meant to send?

More importantly, can I check the resulting numbers announced on TV/radio/online are the same as the sum of all legitimate votes, and not influenced by illegitimate votes, and not doctored?

This is all impossible, in any system of voting.


It is very much possible with paper voting, or at least you can personally inspect every step of the way in the process for a small slice, and you can understand how others like you verify things in other slices.

Ultimately, you do need to rely on your co-citizens to help verify that the elections are valid (in a simple to verify system, i.e. paper voting), just like you need to rely on them to vote coherently and to abide by the results of the election.


I agree the believability is much better with paper trail. Paper creates hard-to-forge records that can be checked later, electronic communication is too complicated and hard to audit, especially origins of electronic records.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: