Blockchain is heavily constrained by the vital requirement of not trusting any third party whatsoever. If you relax this, you can build much simpler systems that are equally secure regarding non-repudiation and other properties but doesn't need proof of work.
How do you identify that voters have a vote, and people that shouldn't have a vote didn't vote.
The voters can see that their own transaction went through. Administrators (and everyone else) can count total votes cast at the end of the elections by the balances of the candidates' wallets. That's at least as good as paper ballots in this specific respect.
> and people that shouldn't have a vote didn't vote.
The voter's wallet can be tied to the voter's registration. Again, at least as good as what we have now, in this specific respect.
I think I've just made a more elaborated restatement of what I already said. Could you identify a specific hole in my system? You could point to voting software _in general_ being a bad idea, and that's fair enough. But it doesn't sound like that's what you were saying.
How do you prevent vote selling and coercion?
I don't know why arguing that blockchain doesn't magically solve all your problems means that it can't be used to solve any of them.
But, instead of throwing our votes into a magic black box, how about we put them on a blockchain and receive a way to audit our own votes?
I would scrap the whole "mobile ID" thing, however. You should fill out a voter registration card to get a unique private key that is imported into your wallet.
https://en.wikipedia.org/wiki/Helios_Voting
You might want to look at some of the issues solved by Helios. Its showing its age at this point but the fundamental design goals are the same as if it were designed today.
That's the whole problem, and always unsolved (because it's hard). You need to be able to ensure that votes are made by real people, that votes aren't duplicated, and that votes are included in a count. Some of this is easy, some of this is near impossible. None of this is solved by a blockchain, which is at its core simply a remarkably inefficient, if decentralized, timestamping system. When a "blockchain" is presented as a solution, ask why the trustworthiness of timestamping was holding back a particular technology before now.