Voting in all 50 states must contain a paper record. Whether done by hand and counted by hand or counted by machine, or on a machine with a print out. There must be a paper record that accompanies it so that in a situation requiring an audit; there is a physical record to be checked by a human.
Reasoning: When the voting machine, tallying machine, or ANY step in the process is digitized, there is no way for the average voter or the American people at large to know with any certainty that their ballot was not just counted, but counted correctly.
Unless each machines code is entirely open-source and available to public spot-checking, than anywhere within the system malicious code could erase votes, flip votes, insert votes, etc without anyone knowing. Since most electronic voting and tallying machines in America are proprietary, this is not an option. Even if it was, there are simply to many ways in which malicious code could be inserted without anyone’s knowledge. With or without internet access.
So, in my opinion the best option is physical ballots with electronic/digital counting machines. Ideally with open source code- however as this is not my area of expertise I would defer how the machines should be handled to a code/computer expert. But with this method of paper ballots filled out by hand and simply counted by a machine, those ballots can be stored and held until a specific amount of time after the election, allowing for the ability for a hand/human recount in any locale in the country as well as random audits by an integrity coalition of some sort, to ensure former election tallies match actual ballots. Otherwise we simply have no way of knowing that not only our vote was counted, but that it was counted for the correct candidates.
Voting should be on a paper ballot, with ID proving Citizenship or possibly requiring a valid birth certificate (with a database to verify). And there must be a record that the voter can find of their vote cast so they can see that it was processed correctly. This will also help stop any fraud.
Technology is not my forte, but perhaps a blockchain type system would work for the “verification” of your vote. Obviously many keep their vote secret and wouldn’t appreciate their info being public or even open to hacking.
But by using an anonymous number associated with each voter. (Meaning each person has a voter ID number that only they know) then as with the blockchain, that anonymous ID number and its vote could be posted publicly online so that the voter could go and search their ID number and verify with public scrutiny that their vote was counted and counted correctly. Further, ANYONE can verify that the votes in the blockchain match the official tallies.
Just an idea. It’s difficult because anytime we are talking digital, it’s nearly impossible to be sure. For example, in WA state ballots are mail-in and counted via machine. You can go online and see that your ballot was counted and who for, but ultimately that voter has zero way to verify that what that screen says is actually accurately reflected in the official vote tally. It can easily say that “Voter X voted for XYZ” but then in the official vote tally the vote actually counted towards candidate ZYX. And how would you prove it?
Upon voting, the voter shall be presented with a digitally watermarked proof of the vote or votes cast. This Proof shall be recorded in an immutable and irrefutable manner. Being for record, the voter should retain the Proof for a period of time not less than the term for the office under consideration.