I'd be interested to get your take on this concept of an electronic voting system:
1) Each voter enters the booth and a computer immediately generates a random number, let's call it a transient voter ID. The computer then prints out their number shuffled in with 10-20 other (real) transient voter IDs. User takes the printout and notes the position of their number.
2) Voter makes their selections, and their vote is recorded by the software.
3) At the end of the election, the ledger of all transient voter IDs and the accompanying vote is published.
Voters can confirm that their ID is present in the list, along with the correct candidate choice, and that the final totals were summed correctly. The general public can also spot-check that the appropriate number of votes per precinct are present. Yet since the printout includes 20+ other IDs, no one can prove conclusively who they voted for. The computer could ensure that at least one vote for each candidate is included on the printout.
There's really no need to trust the software since the vote ledger is fully published (also no need for blockchain).