14 comments

  • cryptonector 18 hours ago
    Fully software, even a combo of software and hardware, cannot by itself make elections secure. Think of the Reflections On Trusting Trust problem, the need to verify firmware, etc. You can't ensure that machines _will_ work correctly, but you _can_ verify that they _did_. To do verify the machines' functioning after the fact you have to do it very soon after closing of the polls, and you have to devise a manual, statistical random sampling method where you manually check randomly sampled, marked paper ballots, against the digital cast vote record, then do a digital risk limiting audit to check that the CVR totals up to the machines' reported results. The sooner after closing of the polls you do this, the better the likelihood that any cheating will be caught. I.e., an immediate manual, partial audit of enough randomly-selected polling locations.

    That still leaves tons of other technical problems to address, like security of mail-ballots / absentee ballots, the security of ballot boxes used for early voting (because you probably cannot run the above manual partial audit due to then having nightly results available to the public; or maybe you accept that), voter registration, etc.

    • himata4113 18 hours ago
      You solve all of these with cryptography.

      Your ID card contains a private key, you use that key to sign a transaction. It doesn't matter that machine you are running on is compromised as these details can be verified at a later date.

      Example A: You vote for candidate A, but software changes to candidate B and software displays that you voted for candidate A. At any later time you can check with an independent device and look at the transaction finding out that it was altered with and retract your vote / change it.

      Example B: How do you know your vote was counted? Publish a hash and the signature of every vote, recompute the final tally and compare with all the votes. If your vote is not in the final tally the hash will be different and you can visibly see your vote in the dataset as every transaction is published. To preserve privacy each round has a number, private key + number -> new key so each fingerprint will be unique between votes.

      • cryptonector 18 hours ago
        > You solve all of these with cryptography.

        I've spent a lot of time thinking about this problem, and my conclusion is that cryptography alone is not the solution, for reasons like:

        1. The public needs to believe it, and hypertechnical solutions are a hard sell.

        2. Any blockchain approach needs to preserve the secrecy of the ballot, otherwise you get all the problems you can expect of non-secret votes (coercion, vote buying, shaming network effects).

        3. You still need to have the cryptographic rubber meet the physical road _somewehere_ -- it has to, otherwise the need for vote secrecy means that the results can be entirely fictitious and pre-programmed and there is no way to check!

        I.e., you can have a paperless blockchain solution IFF you abandon vote secrecy. That is a very tough to swallow pill.

        On the other hand, if you accept paper ballots and manual partial audits as part of the solution, then blockchain can have a role to play. For example, the machines could display a blockchain head every 50 ballots cast, and voters take a copy of the blockchain head visible to them, then after the election the public can verify the integrity of the blockchain, and the fact that you only get running tallies every 50 ballots means you get vote secrecy.

        A system that uses paper ballots and partial manual audits can be explained to the public, and the public can develop confidence in it. Blockchains can then add a good deal of confidence: the blockchain tells you that the tallies were not modified after the fact, and the partial manual audit tells you to an acceptable level of statistical confidence that the digital cast vote record contains the actual paper ballots _as marked and cast_ by voters.

        • sigmoid10 18 hours ago
          >I.e., you can have a paperless blockchain solution IFF you abandon vote secrecy. That is a very tough to swallow pill.

          This is false. I know this is a common thought on HN because some formerly popular youtuber did a video about this topic that is still regularly reposted here, but he was already wrong in theory back then and it is certainly wrong in practice today. Secrecy/anonymity and verifiability are no longer mutually exclusive as anyone who is well versed in modern cryptography will be able to tell you.

          • cryptonector 18 hours ago
            I'd appreciate some references. That's not because I'm trying to put you down with a request for references, but clearly you have seen them, and I'd like to see them.

            Also, you still have to convince the public.

            • sigmoid10 18 hours ago
              I agree that convincing the public is a separate issue. But on a technical level, these problems are solved. See e.g. this modern implementation: https://github.com/vocdoni/davinci-paper This is a pretty recent one, but the mathematical foundation dates back to the late 80s.

              There have also been earlier implementations like this one: https://github.com/benadida/helios (corresponding paper https://www.usenix.org/legacy/event/sec08/tech/full_papers/a...), although it still lacked coercion resistance. But it already uses zero knowledge proofs, which is at the core of anonymous yet verifiable systems.

              • cryptonector 17 hours ago
                Thanks. Right, this is zero-knowledge proofs. I expected as much. I think that ZK can be made to work for secure voting, though I don't believe that the public can be expected to understand it. I'll have to read this, but I suspect that there is a way for possessors of secret keys to choose to decrypt ballots and violate ballot secrecy.
                • daveguy 11 hours ago
                  You know what's easy to understand? Hand marked paper ballots cast anonymously with multiple witnesses to simple optomechanical counting using open hardware and software. The crypto based security can be used to ensure that only a valid ballot enters the vote You have to combine the crypto with a paper trail. Otherwise it can be manipulated by mitm or a bad actor with the keys. Blockchain has more than enough attack vectors.
                  • TrayKnots 7 hours ago
                    And so many special rules. Observers are constantly thrown out or denied rights, because even the local officials running the show don't know the rules. Because, in the end, it is not that simple. Berlin right now has an issue that they forgot to specify which of multiple valid method are used to calculate the excess mandates.

                    It is never as simple as just some paper ballots. But we have a bigger problem. It's a problem at scale. We have all those issues because we do not have enough experts to run all the voting locations at once. The observers need to understand the rules and their rights. The official needs to do so, too. The work of an expert is not scalable, because he cannot be at all places at once.

                    However, an expert who audits the software is very scalable. One expert can find issues everywhere.

                    • cryptonector 7 hours ago
                      > because even the local officials running the show don't know the rules.

                      Or because they do.

            • dsign 8 hours ago
              > Also, you still have to convince the public.

              In terms of working democracy and social governance, we can kill a big flock of birds with a single shot if the public can understand cryptography. Think about it: we live in an age where everything is digital and has a microprocessor inside. Even money is digital. But the "public" can't parse simple logical statements, and they vote for the funniest clown in the race (for a definition of funny). The best this schism can possibly end is if we vote in a Luddite Empire that squashes technology. All other scenarios are far scarier.

              • dns_snek 4 hours ago
                Even if the average person had a working understanding of cryptography, which I think is highly unrealistic to begin with, that wouldn't be enough to give the system credibility.

                For the system to be credible and resilient against coups it must be possible for the average person to audit the system end-to-end. This is impossible to achieve with online voting, yet trivially achievable with paper ballot systems:

                An observer can verify that ID is being verified, that voter list is managed correctly, that every person is issued 1 ballot.

                When votes are being counted they can see each ballot and count along with the officials. The number of ballots in the box must match the number of issued ballots based on the voter list.

                They can get a copy of the report where they verify that the counts are correct. Then they can verify that the authorities indeed used the same numbers for their polling place in the final counts. And because you have cooperating like-minded observers in every polling place, you know that the final count is correct.

                It's like a human-powered Merkle tree.

          • poly2it 13 hours ago
            > some formerly popular youtuber did a video about this topic

            I don't know about this event, do you have a link?

        • mariofdistrust 17 hours ago
          the issue isn't that people won't believe it or that blockchain can't preserve secrecy of ballots (it can). it is, in part, that crypto eventually has to meet the real world, but mainly that crypto is hard and governments might not be up to the task. for example, last year the IACR (which had been doing online voting via crypto for more than a decade, and still is) had to void their elections because one of the trustees lost their private key and the results were impossible to decrypt. while it was ultimately fine because the IACR isn't really a high-stakes operation, how would you feel if your government just said "sorry folks, there's been some technical issues and elections will have to be redone"? would you believe them or suspect they're up to no good? what if this happens in a very contended and heated election?
        • Muromec 5 hours ago
          >I.e., you can have a paperless blockchain solution IFF you abandon vote secrecy. That is a very tough to swallow pill.

          With voting you need to have one piece of the pipeline that is not auditable externally and taken on faith. It could be vote counting or it could be the step that matches your ephemeral signing key with your identity, but doesn't keep the logs.

          This needs some level of integrity of the election administration body and public trust of it.

          >A system that uses paper ballots and partial manual audits can be explained to the public, and the public can develop confidence in it.

          It doesn't matter that the ballots are paper. What matters is they are at the same time a) given only to qualified voters (1x each) and b) are not tied to voters identities once issued and c) once cast are properly counted.

          You can go all digital and gain B with a mixer, but this makes the process prone to denial of service and it's too complicated to explain anyway.

        • Terr_ 12 hours ago
          > Any blockchain approach

          This doesn't directly affect your comment, but I'd like to head it off before more occur: "Distributed Database" != "Blockchain".

          We've had distributed databases with hashes for many decades. It'd be cheap, easy, and fast to run a couple hundred pre-determined nodes controlled by many different governments and institutions who are unlikely to >50% collude.

          In contrast, the different and new pieces for "Blockchain" all revolve around one root requirement of letting anybody start up an arbitrary number of nodes--which we don't need for elections. Without that requirement, dozens of problems and workarounds fall away, like the problem of voters standing around for transaction clearing times.

        • plasticchris 13 hours ago
          > only get running tallies every 50 ballots means you get vote secrecy

          Not if everyone voted the same on something…

        • varispeed 17 hours ago
          > The public needs to believe it, and hypertechnical solutions are a hard sell.

          Public doesn't need to know the details. Production of paper, printers is quite complex and so production of the pen. Yet people are not concerned about that when voting and we don't publish schematics of a printer that printed the ballots.

          • cryptonector 17 hours ago
            > Public doesn't need to know the details. Production of paper, printers is quite complex and so production of the pen. Yet people are not concerned about that when voting and we don't publish schematics of a printer that printed the ballots.

            Except that people know what paper looks and feels like, they know how it absorbs ink, they know its various properties, they can _read_ whatever is printed on them, and they can see that the marks they make (or a ballot marking device does for them) are faithfully visible on the paper. With paperless machines there is nothing comparable.

          • Thlom 13 hours ago
            The public can observe that they choose their ballot/mark their ballot and drop it in a sealed box when they vote. If they want to they can hang around and observe how the box is brought in to another room and each ballot is counted and that the result is reported in to the bigger system where they later can see the results from all other districts and that the result from their district match with the result they can see in the official results. It's easy to understand. It's easy to understand and observe. If you digitize the voting process it's much much harder to understand and only computer scientists and mathematicians really understands what's going on. That's not sustainable imo.
            • SoftTalker 12 hours ago
              Also although fraud is possible with paper ballots, it's very hard to scale.
              • Muromec 4 hours ago
                That depends on who is doing the fraud and what qualifies as success. There is this weird failure mode where make-believe elections happen, they are obviously rigged, but fuck-nothing happens except people going in circles telling each other that elections were rigged. Had a shit neighbor like that.
              • vincnetas 6 hours ago
                but its also easy to scale vote validation for voters with evoting. how to you validate that your vote is counted correctly with paper voting?
                • Thlom 4 hours ago
                  You don’t, but you can validate the system as a whole. If you wish you can show up in the morning, confirm the ballot box is empty, look at the ballot box all day, follow the box out back and observe the ballots are poured onto a table, sorted in stacks and counted first electronically and then manually and see that the result is the same that shows up in the official tally. Validating that my single vote is counted correctly is worthless if the result is manipulated on the backend and it’s much harder (impossible) for any regular Joe to validate that an entire cryptographically secure voting system doesn’t manipulate the count somewhere.
          • bulbar 14 hours ago
            The problem is much simpler. If people could verify if their votes were counted correctly, at least 1 out of 20,000 would claim that their vote was counted incorrectly while it wasn't. Some are malicious, some pushed the wrong button, some just forgot that they changed their opinion since then.

            That would be a very vocal minority that would immediately destroy any trust in the system.

            • vessenes 10 hours ago
              Most verification systems involve a receipt kept by the voter used for verification for this reason.
              • chopin 8 hours ago
                That would make coercion pretty easy.
            • Muromec 4 hours ago
              Maybe the great filter is civilization's ability to deal with "vocal minorities" in non-genocidal fashion by threading the middle way. Somehow it's either total fash to 11 or death by 1000 nimby cuts that want neither kerncentrale nor windturbines but 100% green energy cheaply at around the clock.
            • cryptonector 14 hours ago
              Excellent point!
      • emil-lp 17 hours ago
        A major problem is that if you are able to verify who you vote for, you can either sell your vote or be coerced (by, say, your abusive husband) to vote a specific way.
        • himata4113 17 hours ago
          You can always include a nonce to decode the votes true value or provide an alternative for people that are vulnerable to coerction. If you need an example: monero crypto currency is the pinnacle of it.
          • andrepd 14 hours ago
            You could also — get this — have people write a cross in a piece of paper, fold it and put it in a locked box, monitored at all times by delegates of the different candidates/parties.
        • vincnetas 6 hours ago
          if someone is forcing you to vote against your will, i thing you and country have more serious problems to solve. especially if its happening at scale.
          • dns_snek 3 hours ago
            What's more important than stopping a coup?
        • resist_futility 17 hours ago
          You could have verification be done in person and not online with no way to share it.
          • cryptonector 17 hours ago
            You'd have to go to your elections authority's location, and very few could do it w/o overwhelming the vote verification rate capacity, and very few would.
        • spiddy 17 hours ago
          retraction of vote with a new vote solves this.

          Since I'm able to retract my vote, I cannot sell it. And since I can retract my vote, I cannot be coerced in any way.

          • codedokode 10 hours ago
            "Updating a vote" was supported in 2021 Russian Parliament elections (for Moscow voters). Written in Rust, built on a blockchain with contracts. Source code: [1]. No way blockchain voting can be rigged! It is protected by math!

            It immediately raised a suspicion, could the government use "updating a vote" to change the vote of the voter after they voted. There were suspicious bursts of votes for government candidates during early morning (3:00-12:00 AM) between 2nd and 3rd voting days. Could it be re-votings? Who knows, public blockchain has no way to find this out.

            How can an observer distinguish between a real voter voting the second time, and the government voting second time in his name?

            Furthermore, to cancel the previous vote, you need some way to link the new and old ballots. In the case above, there was a non-public database (a blockchain), unavailable to observers, which kept the needed information. And theoretically it could allow de-anonymize the voters.

            So what I wanted to say that electronic voting is a garbage only convenient for fraudsters.

            [1] https://github.com/moscow-technologies/blockchain-voting_202...

            • Muromec 4 hours ago
              russian "elections"
          • cryptonector 17 hours ago
            Elections results have to be final at some point, and after that point no further retraction/changes can be made, therefore you can be coerced.
            • himata4113 17 hours ago
              coerced at the time of voting, but then you can go back and simply change it again
              • cryptonector 17 hours ago
                And then you can be coerced again, and again, until the vote is final.
                • spiddy 15 hours ago
                  there is a limit of how many people you can be physically present to coerce up to end of election, making it inviable en mass, thus impractical.
                  • jltsiren 14 hours ago
                    Social pressure can make it scale pretty well. For example, there could be a neighborhood election day party. You vote when you enter, the organizers observe how you vote, and then you leave your devices in a storage locker. The party continues until voting has ended and the results have been announced.
                    • codedokode 10 hours ago
                      You are over-engineering. You do not need to coerce a voter if you are the administrator and can just add the record into the database directly. Also no need to spend money for a party.
                      • jltsiren 9 hours ago
                        All reasonable high-stakes electoral systems assume that election officials cannot be trusted. There is no central database that can be manipulated.

                        Traditionally there are people representing different parties watching over each other, until they eventually publish the intermediate results from whatever region they are responsible for. And all aggregate results beyond that are based on public information. Some people want to replace that with cryptographic systems with provable properties. But any system that lets you vote anywhere remains vulnerable to voter coercion.

                        • codedokode 25 minutes ago
                          "People watching over each other" usually do not have root (or any) access to the servers, they are usually only shown aggregated stats (like number of votes cast). They usually do not have access to voter details like IP addresses, phone numbers, fingerprints. In some cases, they can read the public "blockchain", but not the private one (in systems with 2 blockchains). The blockchain doesn't contain much useful information to verify, only votes.

                          The ones who have actual access, are from the government.

                • himata4113 15 hours ago
                  how would one know? they're they know a transaction happened, but they do not see the contents of a transaction
        • rustyhancock 17 hours ago
          We have the solution it's just not practicable. Cryptocurrencies and hardware wallets have solved this problem. But they operate at the scale of people in their bedrooms not hundreds of millions of people voting over one day all over a country.

          Passports would need to become like hardware wallets with screens such as Trezor. Who's firmware and design are open source.

          The screen means I can see what I'm signing and later be shown what I signed.

          Now, I don't want people to know who I vote for. So we make it e-passport gate so that no one can enter with me.

          Now I want to be able to verify my vote at a later date but not let others know it was me. Well this too is solved by multiple cryptocurrencies like monero and z-cash.

          I can go to my local town hall enter a room alone using a e-passport style gate and check my vote at the machine. My device can verify my vote.

          Someone with the vote can only see that 1 of N voters did it. Where N is so large they can't identify me.

          No duplicate vote is possible.

          Literally no one would agree to this however.

          • dpkirchner 16 hours ago
            As long as you can see your own vote, someone can force/coerce you to show them your vote.
            • rustyhancock 6 hours ago
              Not at all, if you can only do it in e-passport style gate room.

              Without a print out

              Besides, that of course is entirely optional.

              It's not something we can do today but something that *could* be chosen to add to such a system.

            • vntok 14 hours ago
              Not necessarly. For example you could have the machine print a ticket with the vote and show it to the voter behind a window. The voter:

              - confirms (paper goes down the box) and exits the booth

              or

              - cancels (paper is burned) and votes again

              • rustyhancock 3 hours ago
                This is why crypto hardware wallets have screens.

                To show you the user something and no one else without leaving a paper trail.

                The ability to enter a single person voting booth through a e-passport style gate and security to check your devices screen again so a perk that could be implemented.

                The public ledger of all votes that could be checked to enforce no duplicate voting, generate a full list of who voted if desirable, and you with your device in a secure room check your vote.

                Are all features of cryptocurrency systems that exist allow.

                All of that could be optionally allowed or disallowed for a future cryptography enabled voting system.

                The e-passport style gate to single person voting room is the physical security needed to ensure people don't coerce each other more than today. And optionally make coercion impossible at the cost of some people not being able to vote (people who need someone in the room with them as they do in the booth with them today).

              • cryptonector 14 hours ago
                Right, because the person coercing the voter wouldn't know of this little trick and wouldn't make sure the voter doesn't do it. Riiight.
                • codedokode 9 hours ago
                  Yes, coercing the voter in the polling station where there are people monitoring the situation, and police, is more difficult than in supervisor's office in the factory where you just call the employee and order them to vote. No witnesses, no evidence.
          • cryptonector 17 hours ago
            Cryptocurrencies mostly are pseudonymous, and, really, not even that. Certainly bitcoin is at best pseudonymous.
            • rustyhancock 16 hours ago
              There is a reason monero and z-cash are being banned in Europe.

              I can't claim to be a crypto expert.

              But hiding a transaction and it's value among other transactions is perfect for voting.

              As I understand it Monero uses ring signatures to make it so it's not possible to know which individual of a group initiated a transaction, and it's zero knowledge proof system means it can be verified that a particular transaction is valid despite this.

              To my layman mind that seems to be good enough, every vote can be verified by any party as valid (no double spending or double voting took place).

              You can never narrow down who made a particular vote beyond a large pool of people.

              You can't tell where any transaction went (you don't know who was voted for).

              At the same time with my private key I can see my vote.

              The only thing needed for voting is the e-passport style gates.

              Certainly it won't just get a case of use monero, they would need to design the system for voting.

            • ifwinterco 16 hours ago
              True for bitcoin but Monero is legitimately quite anonymous
      • crote 13 hours ago
        > At any later time you can check with an independent device and look at the transaction

        Congrats, you just broke privacy. An abusive husband can now check the vote of his wife, so she can be forced to vote in a way she doesn't want to.

      • codedokode 10 hours ago
        1) How does cryptography helps to verify that the ID cards used by voters belong to real people and not generated for fictious people by the government?

        2) How does cryptography helps to verify that teachers vote without pressure and not in principal's office under supervision? Or that they are not forced to give their mobile phones and ID cards to a principal for "inspection"? And the same for employees in large companies, government employees, military, police, doctors etc.

        3) How does cryptography helps to verify people are not voting for a payment?

        I am surprised that when someone says "cryptography" programmers become so blind that cannot see even the elephant in the room. It feels like everyone is brainwashed by propaganda.

        > At any later time you can check with an independent device and look at the transaction finding out that it was altered with and retract your vote / change it.

        Easy for a non-programmer.

        > these details can be verified at a later date.

        After election results are officially confirmed, and cannot be changed.

      • matheusmoreira 17 hours ago
        > software displays that you voted for candidate

        This enables coercion of voters. It must be impossible to attribute any vote to any specific person.

        • himata4113 17 hours ago
          this is out of context, nobody would see who they have voted for in practice
          • matheusmoreira 17 hours ago
            > At any later time you can check with an independent device and look at the transaction finding out that it was altered

            This implies there is a record establishing a relationship between person A and vote X.

            The fact most people won't bother to check it in practice is irrelevant. It must be impossible, because otherwise people are going to die.

      • patrickmay 18 hours ago
        Relevant xkcd: https://xkcd.com/2030https://xkcd.com/2030

        There is no problem that electronic voting solves that paper ballots and scanners do not, and the latter are not only more secure but are seen to be more secure. Trust is essential in a voting system and only paper ballots provide the necessary level of trust.

        • Muromec 4 hours ago
          One problem electronic voting solves is not being physically present in the voting locale.
        • sam1714 17 hours ago
          There are problems that electronic voting does solve: in some countries, moving paper ballots are problematic and subject to tampering. This shows up in mail-in voting, where there's always a risk of loss and delay. Overseas voters are an issue, e.g. deployed military.

          There is a specific problem with mail-in voting and disabled voters, for example elderly people who can't go to the polls and can't get an electronic ballot marker. 25 US states deliver ballots electronically and 15 allow electronic voting for this specific case [1].

          [1] https://www.ncsl.org/elections-and-campaigns/electronic-ball...

          • lefra 14 hours ago
            Some countries solve that by just banning mail-in voting and moving paper ballots.

            In France for example, voting happens on a specific day with transparent ballot boxes, with the counting happening in the polling station (you may stay for the whole day in your polling station if you want to oversee the whole process). Yes this is problematic for voters in foreign countries, because they need to go to the embassy to vote, but the voting protocols chose transparency over practicality.

            IIRC, deployed military get a polling station in their military base. A voter may also designate someone in the same polling station as theirs to vote in their place.

          • cryptonector 17 hours ago
            Registration of such voters can be audited and checked carefully to limit their numbers (since they must be inherently limited), and ballots can be delivered to them, or voting equipment can be brought to them (e.g., elderly care homes). I'm not sure much can be done to make voting by the permanently confined secure. For military the military itself can help a great deal. For civilians overseas, either come back to vote, vote at a consulate, or don't vote -- I don't think it's necessary to bend over backwards for civilians who choose to be overseas unless a country has a huge proportion of its population residing abroad.
            • Muromec 4 hours ago
              >either come back to vote, vote at a consulate

              Consulates in some places are 3 people in a rented office 1000 km away from where you live. One thing that digital voting could solve is the scale and distance.

              >I don't think it's necessary to bend over backwards for civilians who choose to be overseas

              Big committment to democracy and rule of law, I see

            • sam1714 16 hours ago
              Intentionally limiting access to accessible voting is problematic.

              You also have issues of deanonymization if you only get a couple of ballots in via one method. In Maryland, for example, they're supposed to encourage at least 100 random people to use the accessible ballot marker per precinct for this reason.

              It's not reasonable to tell people "too bad," fly back to the US as much as 3 times per year. They pay taxes and are subject to US law even though they're overseas, so they get to vote.

              Ballot management becomes error prone. My county alone has 25 ballots due to the different combinations of state house, senate, Federal house, municipalities, and _all_ the special districts. (4 members to the board of directors of the Anytown West Memorial District, a.k.a. cemetery, because they had a property tax assessment when they built the thing in 1950)

              • cryptonector 16 hours ago
                > Intentionally limiting access to accessible voting is problematic.

                I offered nothing of the kind, except as to civilians residing abroad, and even then, I don't think there should be any obligation to provide online voting -- having to travel to a consulate is not too unreasonable.

                > It's not reasonable to tell people "too bad," fly back to the US as much as 3 times per year. They pay taxes and are subject to US law even though they're overseas, so they get to vote.

                Vote... where? In what state, in what county, in what precinct? The correct answer is that they should not have to pay income taxes while residing abroad, but also not get to vote while residing abroad.

                For military the situation is simpler even if the personnel have no US-side residence: use the state/county/precinct of last residence. The same can apply to civilians, but I'd rather let them not pay state and federal income taxes while residing abroad.

                > Ballot management becomes error prone. My county alone has 25 ballots due to the different combinations of state house, senate, Federal house, municipalities, and _all_ the special districts. (4 members to the board of directors of the Anytown West Memorial District, a.k.a. cemetery, because they had a property tax assessment when they built the thing in 1950)

                That's a small county :)

                • sam1714 11 hours ago
                  >Vote... where? In what state, in what county, in what precinct?

                  No, you misunderstood the comment. It has nothing to do with residency, that's solved.

                  During a normal election year in the US, you have two elections: a primary and a general. The primary is not solely for political party nominations either, often other state and municipal questions get put on it.

                  Some places commonly end up getting a 3rd because, e.g. a senate seat becomes vacant and the state has a requirement to hold a vote on the replacement. Sometimes the seat becomes vacant as a result of taking a position in the new administration, so you end up having 3 elections a couple of months apart.

              • what 11 hours ago
                > It's not reasonable to tell people "too bad," fly back to the US as much as 3 times per year.

                Where are you having elections three times per year? If you’re living abroad, you shouldn’t be voting in local elections because you’re not a resident. You probably shouldn’t be voting in state elections either because you’re not a resident. So you have to come back every 4 years to vote in the presidential election, or go to a consulate to vote every 4 years.

                • sam1714 11 hours ago
                  The US. Primary, general, and in a number of states, you have to have a special election to replace the senator/representative that joined the new administration or quit or whatever. Actually, that causes 4 elections because you have a primary for that. [1]

                  >You probably shouldn’t be voting in state elections either because you’re not a resident.

                  That's a matter for the state, and many say if you still have a house, or intend to return, then you vote there.

                  > If you’re living abroad, you shouldn’t be voting in local elections because you’re not a resident.

                  And no, a number of states allow voting in that case even if you're not a resident [2]. For instance, you own a vacation home, you get to vote on property tax related matters concerning that house.

                  [1] https://ballotpedia.org/Special_elections_to_the_119th_Unite...

                  [2] https://www.ncsl.org/elections-and-campaigns/voting-by-nonre...

      • usr1106 10 hours ago
        > At any later time you can check

        Can you? I am not familiar with any electronic voting system because they are not allowed where I vote. Does any system give the voter access to their vote later to check that it was registered correctly?

        Not even sure whether that would be a desired functionality. Free elections are secret for a reason. If you can check whether you voted correctly others can, too. Even if that functionality were protected by the private key again, it might be misused. There are governments/comompanies where they'd say: Show me how you voted or you are in prison/fired.

      • based2 14 hours ago
        1) How do you solve the ALB TLS encryption Termination/reencryption to your applications? How to achieve TLS continuation?

        2) How do you avoid the cloud derived encryption keys?

      • maratc 14 hours ago
        You cannot solve it with cryptography. I understand cryptography but my parents don’t, so I will be voting instead of my parents. This way, I get three votes while they get zero votes each.[0]

        I'll quote Bruce Schneier [1]:

           If you think cryptography can solve your problem, *you don’t understand your problem* and you don’t understand cryptography.
        
        0: I already do anything related to any interaction with a computer system for them (including payments, social security, medical, travel, etc.)

        1: He dug into the origins of this here: https://www.schneier.com/blog/archives/2026/05/laurie-anders...

        • bulbar 14 hours ago
          That's an independent angle, you can still do in-person votes the default.
          • maratc 14 hours ago
            As long as the non-in-person option exists, the results won't be trusted.

            In the US, there was a lot of discussion that the Biden win over Trump in 2020 is a result of the younger family members quarantined on Covid with their parents and mail-voting for them. I don't believe that's what's happened, but this discussion could not have taken place at all in a world where mail-voting is not an option.

      • abrezas 16 hours ago
        How do you know no fake votes were added?
        • himata4113 15 hours ago
          This problem is unavoiable as you ultimately have to trust the root, just like with paper ballots, so this is not an applicable problem. Although you could include encrypted metadata for location, id number attached to a real person and other information that would make verification after the fact much, much easier.
          • codedokode 10 hours ago
            Wrong. With paper voting you can stand in the polling station and see real people getting ballots. With electronic voting you cannot see anything - are real people voting or is it ChatGPT-written script adding records to the database.

            Paper voting is 100x more verifiable than electronic.

          • cryptonector 14 hours ago
            The problem of addition (or deletion) of votes is solved by having a paper pollbook to go with an electronic pollbook, plus doing reconciliation.

            Election integrity is about finding all the attacks that can reasonably be expected, and detecting or -even better- preventing them. But it's a tougher problem than this one-sentence summary makes it sound.

            • btilly 11 hours ago
              Ever heard of "voting the graveyard"?

              A paper trail is not a guarantee of electoral integrity. There is always a rough spot when your ideal election system meets the messy real world.

              • codedokode 9 hours ago
                Paper voting at least has a trail. Electronic voting leaves no trail at all.

                Re: "voting the graveyard" there are following ways to prevent it:

                An election monitor can manually count people coming to the polling station and compare it to the number of ballots taken out of the box. Monitor can observe how those votes are counted, and get a signed document with results. After counting the votes across the country, he can compare his paper document with official published results, filtering them by his polling station. Every step is verifiable.

                Also, every voter must leave a signature. Signatures also can be verified.

      • camgunz 6 hours ago
        People can lose their card or have it stolen, become ineligible to vote, or die (welcome to the fun project of nationwide key management). Voter registration now has to be done in person to update your card (or get a new one). You have to have every county in every State in the union buy new machines at great expense, probably in violation of existing contracts. People forget how they vote; what happens if you look up your vote and it's not what you remember, it's not there, or you find a vote you don't remember? Bad actors can claim their votes are incorrect and undermine confidence in the election. Vote verification opens up a vote market, and with encrypted comms and anonymous cryptocurrency that's a real concern.
      • eastbound 16 hours ago
        > You solve all of these with cryptography.

        Or ballot boxes. Where citizen can keep their eyes on their ballot until it is counted.

        Even back in 2002, TV channels in France (60m inhabitants) broadcast the winner at 20:00:30, using statistical models.

        But recently, they removed the ability for citizen to stay during the counting, relying on designated persons, which breaks the chain of trust. Might as well cast my vote into a black bag or an electronic machine, no trust at all.

        Trust was never the goal. As the means of coercion are higher and the capacity of communication is filtered, it becomes unnecessary to involve citizen in voting, isn't it?

        • josephg 14 hours ago
          > recently, they removed the ability for citizen to stay during the counting

          Here in Australia, representatives of the various political parties observe the counting as scrutineers. I did it once. It’s absolutely fascinating seeing the system and rules. All (lower house) votes are physical slips of paper. Officials sort them into piles of 50 based on their first preference, in a big warehouse. Scrutineers watch them do it. We are allowed to contest their reading and sorting of a vote, but not physically touch anything.

          I’m sorry to hear you can’t see your own democracy in action. I have more trust in our election process seeing it up close, in person.

        • astrolx 8 hours ago
          What elections are you having in mind? Counting should still be open to the public. In small places like embassies they may limit the number of people for security reasons.
      • mmooss 18 hours ago
        Who makes your ID card, generates the private key, and stores it there? Do you trust them? Did they retain a copy of the key? Did they implement security effectively (a very difficult task, considering the resources of attackers)? What about securing the manufacturing process?

        In the end, you always must trust humans.

        • josephg 14 hours ago
          This is one big advantage of paper vote systems. You can still bribe, trick or coerce a single person. But it becomes much more difficult to do so en masse. Computer voting allows fraud at scale. It is much more difficult to scale an attack on a paper voting system.
        • cryptonector 18 hours ago
          Indeed. The rubber hose always beats cryptography. Always.
        • vincnetas 18 hours ago
          So if someone else knows my private key and voted for me not the same way i intended to vote, this will be visible in final results. And then you can start asking questions. If they have my private key and voted the way i intended, then its no problem :)
          • drdexebtjl 17 hours ago
            Why would others trust you to be telling the truth and not just lying to attempt to cause mistrust in the election?

            Naive solutions have naive problems.

            • thfuran 17 hours ago
              I’m not sure what you’re trying to say. That the “solution” to that is just to ignore both votes in the case of multiple votes per id?
              • drdexebtjl 17 hours ago
                That this is too simplistic. There are obviously many solutions with different trade offs, but this one sacrifices secrecy to help catch fraud, and it’s not even effective at catching fraud.
      • thaumasiotes 18 hours ago
        > Example A: You vote for candidate A, but software changes to candidate B and software displays that you voted for candidate A. At any later time you can check with an independent device and look at the transaction finding out that it was altered with and retract your vote / change it.

        This seems to make a pretty dramatic change to the election protocol, no?

        Consider example A': You vote for candidate A, but later realize that you hate candidate A. You repudiate your recorded vote for candidate A.

        What should happen?

        • devin 18 hours ago
          How much later? Cryptographic systems certainly have methods for allowing revoting up to a deadline, but endlessly mutable voting is insane. It's also not really any different from today. I can say I didn't vote for candidate A 12 months after the upcoming election and it means... well... nothing.
        • sam1714 17 hours ago
          You can do A' in some US states... you can vote by mail/early vote, and then later request they spoil that ballot and do it again, or by voting on election day the mail-in is invalidated.
          • grg0 17 hours ago
            The US voting system is probably not a good starting point for modeling such systems :)
            • cryptonector 17 hours ago
              There is no "US voting system". Each of the 50 States have their own systems, often several systems, and where there are several systems it's the counties that pick a system that suits them.
            • sam1714 17 hours ago
              I'm confused. Can you explain the exact issues created by this repudiation system practiced by US states? Maybe there's a real issue that hasn't been addressed that I am unaware of.

              Or is this a knee-jerk America Bad?

    • bel8 17 hours ago
      But Brazilian gov says their electronic election system is unhackable... Yeah.

      Only a selected few orgs and groups are allowed to audit and in a very controlled environment because they also rely on security through obscurity. The source code is not available to the citizens.

      If by any chance I'm wrong and someone can point me a source code repo, please enlighten me.

      https://international.tse.jus.br/en/electronic-ballot-box/pr...

      • johen8 14 hours ago
        It's a shame the technical discussion behind our voting machines has been completely ruined by political discussion. The paper trail bill is an objective improvement over the current system and unfortunately (why?) it has been denied.
        • cryptonector 14 hours ago
          Surprisingly there has been little to no partisanship in _this_ HN post's commentary. That's quite refreshing. I suppose you're talking about discussion in Brazil. But you know, a few years ago this thread would have been extremely partisan here in the U.S.
      • icantevenhold 16 hours ago
        Nothing is unhackable though is it?

        You just need to find the right balance.

        In my country we still rely on a paper process - which is very hard to tamper with but also has a bunch of problems - recently we needed to repeat local state elections because of such problems including shortages of ballot papers, unusually long queues to vote, ballots being delivered to the wrong locations, and in some cases voters being turned away. Many of these problems go away with digital voting - but then you have other issues.

        I don’t think a perfect solution can exist

        • josephg 14 hours ago
          Those problems can also be solved with a better organised electoral commission. Here in Australia we sometimes have long lines at polling stations, but I’ve never heard of any of those other issues occurring.
          • icantevenhold 12 hours ago
            Yea and it’s not like they have this problem every time. My state is also notoriously chaotic and this is the first time (in my memory) it happened. Just wanted to point out that paper is not perfect either
        • cryptonector 14 hours ago
          Paper ballots definitely have security problems too, it's just harder to compromise an election with many polling locations if it uses paper.

          E.g., a counter can put a bit of pencil lead under a fingernail and mark overvotes on ballots they don't like, thus causing them to be adjudicated or not counted.

          • Thlom 13 hours ago
            This is in some contexts solved by having different ballots per choice. In Norway you go into a booth and select the ballot of your preferred party, fold it (they all look the same on the outside) and drop it in the box.
      • matheusmoreira 17 hours ago
        One would think they'd have the balls to put up a billion dollar bounty.
        • bel8 17 hours ago
          That would require at least access to the ballots, which citizens don't have.

          Not even a remote access to a demo ballot machine.

          • matheusmoreira 17 hours ago
            Yeah. The audits are a joke. In the end it amounts to nothing but an idiotic judge-god-king proudly declaring that the machines are UNQUESTIONABLE.

            Our congress has determined that a paper trail must be implemented but the judges aren't having it.

            https://news.ycombinator.com/item?id=36543423

            Source code is a red herring too. If there's no reproducible builds that cryptographically establish source-executable correspondence, showing us the source code would prove nothing and only serve to embarrass us. Supply chain attacks could compromise it without any source code vulnerability. What they need to do is publish the signed executables that ran on election day as well as every executable used to construct those artifacts. Our AIs will make short work of the binaries.

            In any case, the prevailing theory is that the mesários are partidarian and simply impersonate people who didn't show up to vote in order to boost their candidate's numbers. Very low tech, can be fixed with surveillance: have people from all parties everywhere observing everything. It boggles my mind that this isn't being done already.

    • belZaah 7 hours ago
      True. Nothing can be fully trusted. That’s true for everything, though, including paper voting. Clear schemes exist to cheat there and there’s computers involved in tallying the votes anyway. So what’s the reason to trust that stuff? The goal of e-voting is not to become absolutely secure, they need to be secure enough not to make the elections as a whole less secure when used in them. That’s a big difference.

      There’s also the bear mechanism. In the forest, you don’t have to run faster than a bear, you need to run faster, than the person you are with. Let’s say there’s an issue with id-cards or electronic signatures in general. The attackers could wait several years and attack voting risking, that all electronic votes are annulled as their attacks are uncovered. Or they could just wreak complete havoc on the entire society right now. The electronic signatures are so ubiquitous here you can literally do anything. Sign a document as the President, take out loans on behalf of everyone, get everyone divorced (or married), take all their money etc. why would you wait?

    • grigri907 10 hours ago
      I've always wondered why we don't publish all ballots online, accessible via some anonymous key given to each voter when they vote. Then anyone could go online to see their own ballot and confirm it was tallied as they intended.

      I'm sure this is overly naive, but what am I missing?

      • belZaah 7 hours ago
        There’s a reason all ballots are destroyed after the contesting period ends. Someone in the future might find a way to compromise that anonymous key and there’s no reason to take that risk.
      • codedokode 9 hours ago
        You cannot verify the tally by examining one ballot.
    • throwawayk7h 5 hours ago
      can't we use remote attestation to verify the software on the device is the promised software?
    • atoav 18 hours ago
      While these all are problems, the REAL problem is that the goal of elections isn't to get scientifically or mathematically verifiably correct results. The goal is to produce agreeable consent.

      That means it doesn't matter one bit how correct you are if the regular Joe does believe you tricked. Adding computers into the mix always makes this worse. And again, this is not something you can fix with clever solutions and cryptography (that admittedly fascinates me nonetheless), the problem is that people can't see electricity generally and I something at the scale of a computer, even if you could it would be utterly meaningless.

      This is why the paper ballot system is so glorious in its stupid inefficiency, because it spreads the trust in a way any adult who has mastered object permanence can verify for themselves. Invite the conflicting parties to monitor and have them begrudgingly admit their defeat in the face of the simple, inefficient but agreeable process.

      This is why I as a cryptography fan, programmer and hardware guy think electronic voting is not up to the task for high stakes elections.

      • llukas 16 hours ago
        > glorious in its stupid inefficiency, because it spreads the trust

        What is the goal? Having fancy crypto or people being confident about elections?

        If spreading the trust is the goal what makes you say "inefficient". It is orders of magnitude better then any crypto system.

        • cryptonector 16 hours ago
          GP means inefficient in the sense of cost. Paper ballots add costs. Partial manual audits / hand-counts add costs. Full audits / hand-counts add a lot of cost, and in particular hand-counts require a lot of staff in order to yield results on election night.

          The costliest item is counting by hand, so... don't. Use ballot scanning and counting machines and then implement a timely partial manual audit to demonstrate that the BMDs and BSCDs functioned correctly.

          • llukas 15 hours ago
            Full hand count is a feature not a cost. The more people involved and see democracy happen and have actual agency in making it happen the better.

            Automating any of the process is (imho) harmful to above.

            • cryptonector 14 hours ago
              I agree, but if your location has abandoned hand-counts then justifying the extra expense and extra logistics complications can be infeasible. Thus in some places it is easy to justify taking a detour through machine counts + immediate partial hand-count random sampling statistical audits designed to detect machine malfunctions with high probability.
        • icantevenhold 16 hours ago
          As I wrote in another comment we had to repeat local state elections because of problems in the paper process - including shortages of ballot papers, unusually long queues to vote, ballots being delivered to the wrong locations, and in some cases voters being turned away.

          While I’m a proponent of the paper process let’s not pretend it immediately means you can be confident about the election

          • llukas 15 hours ago
            Oh, you absolutely can and it worked in your state. There were problems with the process and you had to repeat the election for people to be confident. People can understand all problems of the above.

            With some abstract math and computers? Any real or imaginary issues are incomprehensible to most of the voters and concerns can be easily shooed away.

            • chopin 7 hours ago
              If we are talking about the Berlin elections there had to be great public pressure for the election being repeated. Officials denied any impact on the final result. Afair courts had to be involved. Pretty shameful. The whole thing didn't further my trust in German democracy.
              • icantevenhold 2 hours ago
                Yea I was talking about those.

                It definitely didn’t help with trust even though I think German democracy is still mostly fine and something worth fighting for- but I guess that’s a different topic

    • nullorempty 11 hours ago
      the problem isn't the unsecure elections, it's that same shit will go on regardless of who is 'elected'.

      I'd like to see a system that allow us to vote on issues directly.

      Money for war? War with Iran? Support Israel? etc.

    • caaqil 18 hours ago
      > Think of the On Trusting Trust problem, the need to verify firmware, etc.

      I mean that's too abstract and philosophical of a problem when talking about voting machines/software: there are much more prevalent and concrete risks including but not limited to APT-grade breach/espionage if your country is important enough, and the various other issues (some in your comment itself).

      • cryptonector 18 hours ago
        Yes, of course. See my reply to sibling comment about why a software solution is insufficient, even a soft/hardware solution is insufficient. Cryptography does not save the day. A modicum of physically auditable paper trail is required.
  • kuratkull 16 hours ago
    I'm Estonian. E-voting is widely accepted and used here. We've been doing it since 2001, and extensivelly (first parliamentary e-voting) since 2007. The fact that it's open source is long known (at least in the IT community) and highly appreciated. There's no inherent doubt about its validity in the local expert and international community.
    • fsh 12 hours ago
      There is plenty of doubt about the Estonian voting system [1]. It would be an extremely bad idea to use it in a country with more international influence.

      [1] https://en.wikipedia.org/wiki/Electronic_voting_in_Estonia

      • belZaah 7 hours ago
        That doubt usually turns out to be politically motivated rubbish. People publish nice blog posts and videos before their articles get published. People scolding there being an open wifi hotspot during vote counting. People being explicitly funded by the political parties not liking the electronic voting.

        But the rest is very useful. During last elections, one of the opposition parties I’m not a fan of finally got their act together and put actual pressure on the electoral committee rather than ludicrous nonsense: procedural issues, hygiene etc. That’s great! Very much appreciated. When the op sais we don’t have doubts he probably means we don’t have doubts about there being sufficient process to keep this thing getting better

        • dns_snek 3 hours ago
          > That doubt usually turns out to be politically motivated rubbish.

          That doesn't matter. The system is dependent on people's trust in the system. Sooner or later that trust will be eroded, you might hear convincing reports of external influence, people might be duped by a persuasive authoritarian candidate, it doesn't really matter.

          Fear, uncertainty and doubt are enough for the system to lose legitimacy and spreading FUD about things people don't really understand is really easy, history is filled with examples of this.

    • chopin 7 hours ago
      How is guaranteed that the open source code runs on the voting and tallying computers? How can citizens verify this?
      • Rodmine 1 hour ago
        It was confirmed that it was not the same software that they provided the source for back in the day: https://cybersec.ee/2018/02/20/reproducing-vote-verification...

        oH tHeY mUsT hAvE mAdE sOmE lAsT miNuTe bUgFiXeS.

        Everyone with half a brain should know that this is completely compromised. Nobody wanting to run fair elections would support electronic voting.

  • AndroTux 16 hours ago
    Living in Estonia, I have a hard time deciding how I feel about this voting system.

    Currently, with people trusting the government, this system is great. I can just cast my vote online, like I do everything else here, and I can be reasonably sure that my vote is counted thanks to the aforementioned trust in the system.

    But I really fear the day that trust erodes.

    On the other hand, though, once the trust is gone, I think it doesn’t really matter whether it’s an analog or digital count. People won’t trust the system anyways.

    Then again, there’s a lot of nuances and different levels of trust, which is the reason why I don’t know what the right answer is.

    • wavemode 16 hours ago
      The advantage of paper ballots is that the possible ways that the system can be rigged are technologically limited. Either ballots are forged or ballot are miscounted. Both are mitigated by having election officials physically present who validate that voter registrations are valid and that counting is being done accurately, and having those officials be made up of representatives from each participating political party.

      Then the defense-in-depth is that paper ballots are inherently decentralized. Even if you manage to pull off a complex operation to rig ballots at a local voting location, you'd have to do the same at hundreds or thousands of other locations to affect the results of the election.

      • belZaah 7 hours ago
        Oh my sweet summer child. During the paper voting, only the act of casting the vote happens on paper, the rest (tallying, allocation, voter lists etc) is all electronic. Both in Estonia and elsewhere.
        • oarfish 7 hours ago
          In Germany it's not, at least not fully. Ballots are hand counted and tallied at the voting stations, and then those results are phoned in, where i assume they are input into software.
          • AndroTux 5 hours ago
            Yep. Into software that can't be trusted:

            https://media.ccc.de/v/34c3-9247-der_pc-wahl-hack

            Granted, that's the benefit of paper votes: You can always count them again.

            • dns_snek 3 hours ago
              It doesn't matter, if the counts were changed after being handed off to election authorities higher up, it would be caught by observers who have the real counts as soon as the incorrect numbers were published.
        • debugnik 5 hours ago
          Not in Spain, we only use electronic means for preliminary aggregate results.

          Each voting station gets a paper voter list. When one votes, their name is struck off this list and added to a new one by different people. Then ballots are tallied one by one in front of observers, and the count and both lists are checked to match.

          Finally, the preliminary tally is sent, but physical evidence is brought to a nearby court by the station members for custody, plus a copy of some documents sent by mail, so the electoral boards can aggregate the results during public sessions.

        • rsynnott 4 hours ago
          In Ireland, tallying is done by hand and in public. You can go along and watch, if you have a high tolerance for tedium!

          (As Ireland is a PR-STV country, this leads to _extremely long_ vote counts. I think the most recent European Parliament election didn't assign all the seats for about a week.)

        • RadiozRadioz 4 hours ago
          Not in the UK. I've been in one of the many rooms where they count the votes, it's all human powered. If one wanted to rig the counting, there are an awful lot of people to pay off.
    • cryptonector 16 hours ago
      It's easier to restore the security of elections run with paper ballots because people can get involved locally. It's not possible to steal numerous paper-based elections in a row -- at some point the thieves' energy/funding runs out and security can be restored. With a digital system, if the system is changed to be vulnerable, or if it always was, then there is no way to recover.
      • Zanfa 7 hours ago
        > It's not possible to steal numerous paper-based elections in a row

        Why not? Estonia had paper ballot voting for the entire soviet occupation of about half a century, didn't have any effect on the amount of rigging though. Same with Russia today, they use paper ballots, but results still don't matter.

        Paper vs electronic voting is just a small component in election fairness and there are upsides and downsides to both.

        • dns_snek 3 hours ago
          Because there's no theoretical room for fraud if you design the paper ballot system correctly so that the process is observed by independent and opposing parties and everyone is doing their job.

          The key point being "everyone is doing their job". You need to make the system so transparent and involve so many observers/auditors that there's nowhere for corruption to hide.

          If you threaten the opposition with prison (or worse) if they tell anyone about your fraud then you don't have a democracy to begin with. The only way to preserve any semblance of legitimacy is if you manage to keep thousands to tens of thousands of people quiet on all of this.

      • kuratkull 15 hours ago
        I don't agree with this statement. If the system is corrupt (take for example Russia), then the voting system doesn't simply matter. Having absolute access to millions of votes, either digital or on paper, allows any dictator to decide the outcome.

        Millions of slips of paper are very easy to burn, and print...

        E-votes just make it cheaper/easier to vote in free countries. I don't think we have invented a truly dictator-proof voting system available yet.

      • icantevenhold 16 hours ago
        > at some point the thieves' energy/funding runs out

        I don’t see why that should be the case. If you can influence gov elections every couple of years that seems like a pretty big deal.

        On the other hand having the voting source code public and auditable seems like a good way to build trust

        • cryptonector 14 hours ago
          > having the voting source code public and auditable seems like a good way to build trust

          It's not the source code that matters. It's the whole architecture, design, supply chain, and implementation as in down to object code _including_ firmware.

  • devin 18 hours ago
    There are a lot of folks who, whenever this topic comes up, seem to have no knowledge of the systems which already exist and have actually been used in real elections already. For instance, ElectionGuard has been used in several real elections in the US since 2020[1].

    [1]: https://electionguard.vote/

    • dietr1ch 17 hours ago
      Used in the real world doesn't mean it's secure.

      There's issues that are pretty fundamental with the black-box approach that the electronic ballot becomes. Paper and transparent ballots can be scrutinized pretty easily, but once you have a black box that might also be connected to the internet there's nothing you can really trust.

      • devin 17 hours ago
        [dead]
  • cristaloleg 3 hours ago
    Quality of the code is something. With all the respect to Estonian government but I expected to see something much more high grade. Sad.
  • lolakutty 8 hours ago
    The best way to secure elections is to have a system where winners have to give up worldly pleasures, ties and all privacy to rule.

    It works great for the military and for the clergy where it is even worse. I don't know why we don't something like that for the rulers.

  • SP3269 15 hours ago
    Lots of concerns in the discussion yet the fact is that e-voting is used for quite a long time in Estonia, and proved robust and secure. It will scale well. Check the source code.

    I believe the Swiss also open sourced their e-voting software.

    • fsh 11 hours ago
      The lack of clear evidence for manipulation in Estonia is not a strong argument to introduce it in a more high-value target. Switzerland has been "trialing" e-voting for decades with very limited success.
      • belZaah 7 hours ago
        The societal context is different. In Estonia, everyone uses the id-card for everything and has for 10+ years. Everyone understands, that handing your card and pin-codes over has severe consequences. Also, the e-voting does not function in isolation. If a person has voted electronically, whatever paper vote they cast will override their electronic vote.
  • samat 18 hours ago
    Interesting that there are no updates for almost a year. Cool stable software, I guess?
    • jeff_vader 18 hours ago
      Explanation is in the README:

      > The intention behind this repository is to make source code of the Estonian online voting system available for public review.

      > The repository is not used for active development, but will be kept up to date, so the code that can be found here is the code that is used for election.

      • chopin 7 hours ago
        That's a big ask for trust. It illustrates nicely why electronic voting is a bad idea.
    • piiritaja 18 hours ago
      from README

      The repository is not used for active development, but will be kept up to date, so the code that can be found here is the code that is used for election. As the voting system used for legally binding elections must strictly follow the legislation, the actual development of Estonian I-voting system and I-vote verification application is supervised by State Electoral Office of Estonia. Please refer to www.valimised.ee for further information.

      • cryptonector 18 hours ago
        But updates are promised, so GP's question is valid: where are they, and since they're not there, why? Is this the final product's source code and it has not been modified since?
        • Karliss 17 hours ago
          Parliament elections in Estonia happen once every 4 years so don't expect frequent updates. Next one should be in 2027 so there are still ~5 months for them to publish next update. There was also a municipal election in 2025 and European parliament in 2024 which matches last 3 updates in git history. No elections in 2026 so no updates this year.
        • AntiqueFig 17 hours ago
          If I understood correctly they make updates elsewhere, then update this repository only when elections happen, thus making the repository in the exact state it was used for that election.
  • belZaah 7 hours ago
    15+ years of Estonian public sector IT experience, former chief architect of the country here. AMA.

    This source code being open is great, but it’s not the wole story. E-voting is deliberately designed to fit into the context of voting in general and into the societal context. Your paper vote always overrides your electronic vote and there’s provisions in the law allowing cancellation of electronic voting and immediately falling back to paper. In the societal context, electronic identity and signatures are ubiquitous, voting is the least it’s used for.

    Thus, the question is not if the system the code implements is secure but if the whole thing is. Of course, if you find a security issue in the code, get in touch and your contribution will be welcomed. But please do not claim e-voting to be inherently insecure without an understanding of how it works on the ground and what happens around it. Happy to explain.

  • aussieguy1234 13 hours ago
    Any computer hardware or software that there is a big enough incentive to compromise will be hacked.

    We saw this with the Bitcoin wallets recently, with hidden 5g modems being added in a supply chain attack. The payoff in this case for the attackers was large enough to motivate them go to such extreme lengths.

    Interfering with a democratic countries elections is a pretty big incentive for across like Russia. They also have the resources to do it.

  • pelagicAustral 18 hours ago
    The answer is paper backed by an ID, but i guess is too late for that.
  • phtrivier 18 hours ago
    I know the answer is "you don't", but suppose I vote vote electronically for candidate A. In the end, the candidate loses with 764 votes. How do I convince myself that my vote was counted in the 764 votes, and that it was not a randomly chosen number (with a RNG skewed around "plausible" scores) ?
    • franga2000 18 hours ago
      To take it one step further: how does the election authority convince everyone that their vote was counted?

      Us "computer folks" convincing ourselves is the easy part. Maybe after enough studying of the system, I'd be absolutely sure that my vote was counted, but what would the other 90 % of the population think? This not a "people are stupid" argument, a brain surgeon or nuclear physicist or philosopher isn't going to put in the effort to understand fully homomorphic cryptography, hardware-based security, etc. Why should they?

      The alternative works perfectly fine and it's so easy to explain. It's obvious to anyone, no matter their level or field of education, how their vote makes it from their hand into the tally, what prevents it from being misused and what they can do to further reduce that already tiny probability.

      You can see, feel and experience the technical measures keeping your vote safe. The people keeping their eyes on the ballot box alp day may literally be your neighbours, as are the people counting. You can reason about their motivations, you can theorise in your head about what lengths you'd have to go to in order to change even a few votes and how unlikely you would be to succeed.

      The biggest danger to elections, ultimately, isn't the risk of cheating. It's the risk of losing the people's trust.

      (I'm in the local election commission (that's layer 2 out of 4 in our particular election management hierarcy), we just had a big referendum, everyone keeps asking me about online elections so this rant was fresh on my mind)

    • Groxx 18 hours ago
      In this system: I have no idea.

      In any system, I suspect it is possible. There are strategies that allow doing private set intersections (or similar): https://en.wikipedia.org/wiki/Private_set_intersection (i.e. a set with one member is "you", and you can check to see if you're in that 764, without knowing who the others are)

      I'm not sure what strategies would also allow you to not reveal to the vote collectors where your vote went, but there might be something.

      • cryptonector 18 hours ago
        From that wiki:

        > Private set intersection is a secure multiparty computation cryptographic technique[1] that allows two parties holding sets to compare encrypted versions of these sets in order to compute the intersection. In this scenario, neither party reveals anything to the counterparty except for the elements in the intersection.

        Revealing even elements in the intersection, if that means revealing individual votes, breaks ballot secrecy.

        • phtrivier 17 hours ago
          Exactly, it means someone you could prove to someone else how you voted, which is the sine qua non condition for creating a vote economy. That's actually the main reason behind trying to keep the vote secret, much more than threats of intimidation for opposing parties voters, etc...
    • aramend 18 hours ago
      There is a separate verification tool I've used that lets me confirm who I voted for, and that the server has registered my vote. Also, like in elections in other places, every election has observers take part. OSCE regularly send their lot, their report on the last parliamentary election can be read here https://odihr.osce.org/odihr/elections/estonia/551179.
      • phtrivier 17 hours ago
        So there is a tool that remembers who you voted for. That's great to convince your bully that you actually did what they told you.

        However, how do you know you're one of the X votes displayed in the final tally ?

    • segmondy 18 hours ago
      I think this is an easy enough problem to solve, the issue is that someone else can how force you to reveal who you voted for. Spouse, rouge employers, mafia, corrupt politicians. You can now "sell" your vote.

      I think such a system could still work, but just like the voter has to go to the booth alone to vote, they must go the booth alone to verify.

    • vincnetas 18 hours ago
      Most likely similarly how you know in regular "paper" elections
      • phtrivier 17 hours ago
        I've been an overseer at election booths several times. I kept a good look at the transparent ballot box, along with complete strangers. In the end, once, I may even have inadvertently recognized my envelope and bulletin during the opening and counting - because we where very very few people to choose that candidate in my polling station :D And I was lucky enough to follow the president of the polling station to the town hall where armies of public servant where doing the addition, and I checked the CSV on next Monday, etc, etc...
      • mmooss 18 hours ago
        In theory, it's much easier to fake a number stored electronically in a computer than a large number of paper ballots.
        • cryptonector 18 hours ago
          In practice too. Elections are worth up to trillions of dollars. That means that agencies like state-level actors, and private actors with the necessary resources, will be tempted to mount supply chain and other attacks, and likely will succeed.

          Faking paper ballots is totally doable, but you can take various precautions to make that very difficult. For example, you can deliver ballots to polling locations in sequentially-numbered packs and shuffle them at the voter sign-in desk: by shuffling the packs before delivery, by having the elections judges record which packs they got and which numbers went unused, by making them sign ballots prior to placing them on the sign-in table, and so on, you can make it very difficult for elections administration staff to later replace those paper ballots. But you're going to need timely, partial or full hand-count audits in order to make it necessary to replace paper ballots in order to replace results.

          Election security is pretty expensive, but compared to the _value_ of elections, it's nothing.

    • juhanima 18 hours ago
      You convince yourself the way you do with any elections: you trust the people/system that counts the votes. If you think about it for a second, the requirements of a secret ballot (meaning it's not possible to know who voted who) and the fully verifiability you are asking for are mutually exclusive. You can have either one but not both at the same time.

      That being said I think the Estonian voting system does a decent job of being trustworthy. Publishing the source code is a big step to the better as well. As far as I knew the system was written in Java but seems like they have upgraded it in Go. Good job! Probably the best in the world.

      • dataflow 17 hours ago
        > If you think about it for a second, the requirements of a secret ballot (meaning it's not possible to know who voted who) and the fully verifiability you are asking for are mutually exclusive.

        I might be missing something obvious but I'm not quite seeing the logical inconsistency between their two goals. Note they're only asking to verify their own vote, not to verify every other person's vote. For that, isn't it enough for authorities to announce a product of large primes, letting each person verify that their own prime was in the set? At each stage, the machines only report the product of primes up the chain, not the individual ones.

        It seems to me the difficulty is with the fact that we have so many places to hide malicious things with modern technology (tiny electronics, firmware, etc.), not a logical incompatibility between the goals. If you had some sort of abacus that did all this mechanically without reprogrammability... or a large computer whose logic was fully verifiable... then everyone could inspect the machine and verify that it behaves correctly prior to elections, and e.g. a camera/observers/etc. can ensure no tampering occurred with the machine until the tallies were conducted.

        • juhanima 17 hours ago
          Yes. Sorry for the condescending tone of "thinking about if for a second". It is actually an interesting problem worthy for a longer time.

          Still, if you had the authorities to announce a product of large primes - whatever that means - how do you know they announced the correct primes and not something they made up? I'm afraid any clever cryptographic scheme you come up with falls the victim of the same dilemma: if you can check that your vote was counted right, you lose anonymity. Also how do you check no fake votes were added?

          As far as I know, the Estonian voting system works in two stages. First there is an authenticator, that verifies that each given vote is signed properly, is only given once and can be counted, without looking at the payload. Then it anonymizes the votes and signs the result file which is transferred to another system which counts the votes. The communication is unidirectional so that the front-end doesn't get any feedback from the back end save some data transfer acks.

          As I said, a decent job. It's not perfect in any meaning of the word. It's practical and it works. People trust it because they trust the people who designed it and run it.

          • cryptonector 17 hours ago
            > Still, if you had the authorities to announce a product of large primes - whatever that means - how do you know they announced the correct primes and not something they made up? I'm afraid any clever cryptographic scheme you come up with falls the victim of the same dilemma: if you can check that your vote was counted right, you lose anonymity. Also how do you check no fake votes were added?

            My take is that one should be able to check that a blockchain has not been altered/substituted, and the way to do that is by being able to record encrypted running tally blockchain heads, but this gives you no indication that the published blockchain faithfully represents the cast votes so you have to add paper ballots and an immediate partial manual audit of the paper ballots checked against the digital cast vote record.

          • dataflow 6 hours ago
            > Still, if you had the authorities to announce a product of large primes - whatever that means - how do you know they announced the correct primes and not something they made up?

            Note, obviously I was not attempting to detail a cryptographic voting system here. My only point was that I don't see what you said as being obviously true, if it is true at all. For the purposes of that point, even an incorrect scheme that isn't trivially disprovable would prove my point.

            That said, to answer your question as I think through the details right now...

            - Authorities preassign N-digit primes to everybody, one per option on the ballot.

            - Find a way to validate the total number of ballots cast in the election. (Assume for simplicity that every question has exactly one answer selected.) Exercise for the reader on how to do this; this ought to be easy. This is important to know how many digits to expect in the product(s).

            - You "vote" by submitting the primes corresponding to the option you select, one per question.

            - Authorities announce the products of primes corresponding to each option.

            - If your prime isn't included in the product, then it's obviously trivial to prove it... you just reveal your number and show the result fails divisibility.

            - If they included extra fake primes, then this is harder to prove, but I think you can catch this by looking at how many digits are in the result. I think you can make the error margin arbitrarily sharp by making all the primes lead with 10000000000..., for example, adding however many zeros you need to make sure a single fake number adds a detectable number of digits to the product.

            This is just a sketch; fix & fill in details as appropriate. The biggest flaw I see right now is that it's susceptible to whatever eventual algorithm (quantum or otherwise) ends up breaking factoring and leaking everyone's votes. But otherwise, it sounds plausible to me, and there's probably another trapdoor function that can mitigate that better. And as mentioned initially, if you can't easily prove it's impossible to make it work, that's sufficient for my point, even if it is in fact wrong.

      • seb1204 17 hours ago
        You can be a observer in the room when the ballot is counted. So you can monitor if everything was done as intended.

        This, and the need for everyday Joe to be able to understand what is done at every step.

      • cryptonector 18 hours ago
        All the source code in the world means nothing when it comes to elections. It's the object code, down to firmwares, BMCs/MEs, even microcode that matters. It's hard to establish trust in those things.
        • juhanima 18 hours ago
          I wouldn't say it means nothing, but you are right in that it is not a silver bullet. It is one piece of a chain of custody to build the trust. Having source code is better than not having it. Having verifiable builds is better than not having them. Having trustworthy hardware is better than not having it. You get the gist?
          • cryptonector 17 hours ago
            I'd rather have a paper-based system, with machines to do the hard labor of counting, and timely partial manual audits. Then I don't have to inspect any source code.

            BTW, the source code we're talking about could easily be enormous, especially if you want the machines' firmware to be open too. Reviewing that source code would be a huge task. And you still have the problem of being unable to validate that the actual object code run in production corresponds to the source code you reviewed. And the public won't believe any of it anyway.

            • juhanima 17 hours ago
              Preferring a paper-based system is your prerogative, that goes without saying. For what it's worth, I'm also partial to the manual system for its robustness.

              However, the Estonian governement has made a different choice and I salute that they are at least trying to do everything by the book and in the right way. Publishing the source code is a part of that. Estonia is a high-trust society (which is an incredible achievement in itself, considering they were a province of the Soviet Union only forty years ago) and they have the most functional e-identity system in the World. Voting is just a part of it. It does make many things easier and also helps economy if you can trust - and verify - your fellow man.

              • phtrivier 5 hours ago
                But then, let's deal with the elephant in the thread : are Estonians trusting their infrastructure enough to be sure that élections won't be tampered by a particular neighboring country with well-known skills in cyber security ?
      • phtrivier 17 hours ago
        Nope. Vote tallying is public with random overseers, in transparent boxes watched by a room of people from diverse opinions, with random inspections - precisely because we DO NOT trust the system or the people who count the vote.

        Which has always been my biggest beef about digital vote. I'm all trusting the people writing voting software to do their best, actually. Being a Software engineer myself, I'm more concerned about bugs and hacks than deliberate tampering by the government. Especially in an age where AI agents can access pretty much anything ever connected to an electric plug...

        • cryptonector 17 hours ago
          > I'm all trusting the people writing voting software to do their best, actually.

          You are aware of malicious hacking.

          • phtrivier 2 hours ago
            Yes. But I'm slightly less worried about deliberate mishaps (which tends to leave trace or organisation) than pure mistakes (which go unnoticed, except for malicious actors who are better at hiding their trace.)

            Hanlon's razor, etc...

    • maccard 18 hours ago
      How do you convince yourself of this in a regular election?
      • InsideOutSanta 18 hours ago
        In a paper election, you have a chain of people who supervise each other. Depending on where you live, you can volunteer to be part of that and see it for yourself.

        In code, you have no insight into what actually happens.

        • piiritaja 18 hours ago
          Believe it or not there is a chain of people who supervise each other for this e-voting system as well. Anyone can volunteer to be part of it as well.
          • InsideOutSanta 17 hours ago
            How can I volunteer to see the bits in a voting machine's RAM?
          • cryptonector 18 hours ago
            Logic tests only show that the machines worked correctly as of the logic test. It's easy enough to design them to behave correctly in all cases except actual elections.
            • wavemode 15 hours ago
              > It's easy enough to design them to behave correctly in all cases except actual elections

              How? Any possible scheme I can think of that could theoretically allow a tabulation machine to behave differently on audit ballots than it does on real ballots, can also theoretically be mitigated via audit procedures.

              • cryptonector 14 hours ago
                > How? Any possible scheme I can think of that could theoretically allow a tabulation machine to behave differently on audit ballots than it does on real ballots, can also theoretically be mitigated via audit procedures.

                An audit will only mitigate that if a) you have paper ballots you can check, b) the audit happens very soon after the closing of the polls. If an audit takes place a month later, that's a lot of time for the elections administration to create all new ballots to replace the originals with, so the audit has to come very soon after the election.

        • himata4113 18 hours ago
          Let's say you encounter a mob society that is convinced that there is a very high risk of election fraud and will apply unnecessary scrutiny to votes, a little rip in the paper or ink not matching standards.

          trivia: did you know that a tear in any of the pages of your passport renders it invalid?