To me that's the minor issue. The real question is whether people can vote online. Clearly they should be able to, we ought to be able to devise stable systems where they can, and in some states voters already do to some degree.
That sounds like a really bad idea to me. Over here the voting machines are completely offline and don't have a hard drive. It prints out a small receipt with your vote in human readable form and as a QR code, which you drop in an electronic ballot box.
As a software engineer, this feels like the only safe voting machine.
Right, but the whole process is the issue. If the vote counters lie, or use counting machines that are broken, voters still lose. Only fixing one part of the process is insufficient.
Also, a lack of voter turnout is a huge issue, especially in countries where voters work hourly jobs and polls have meh hours or bad locations. I mean, less wealthy voters, of course.
Never focus on one step at the expense of the rest. People with bad intentions certainly won't.
I understand your concerns. With our machines the QR codes can be forged, but manual recounts are done using the human readable votes on the receipts, which you have to check before leaving the voting booth and dropping the receipt in the ballot box.
Also, we have opkomstplicht (compulsory attendance), although research shows that our votes wouldn't change a lot if voting were voluntary. We also always vote on Sundays.
EDIT: Also, about 1 million people (around 10%) didn't show up to vote, despite the possibility of getting a heavy fine. Not sure how this influenced the result.
Voting booths are important. People should be able to vote how they want, and that means secret ballots. This is only possible with a secure space.
I know that Americans love mail-in voting and yearn for online voting, but mail-in is a poor substitute for voting booths, and online voting would be terrible for this plus many many other reasons.
Even if we had online voting the DRM required to make sure nothing is amiss would be kernel level and unavailable to linux users or if available, objectionable. It would also probably be tied to fucking chrome.