One way registration could work is that you verify your address through some method. The registrar would take your address information, and your public key, and hash the address information to make you have not registered before. Obviously you could cheat by altering your address slightly and registering again. But there are ways to canonicalize the address. Nothing in registration is foolproof or cheat proof.
Somebody HAS to hand out the private keys. There’s no way around it. It’s a simple concept of the Venn diagram:
In in the great Tucson metro area (my home) there’s a bit over a million people (draw yourself a circle)
Most but not all of those people are eligible to register to vote (another circle in the other circle)
Most but not all of that second group are actually registered to vote (third circle in the second)
Someway somehow you have to get private keys to ALL the people in that third group and ONLY people in that third group at 1 key each AND verify they are indeed the droids you’re looking for. That task absolutely positively MUST be done with a database AND somebody handing out the keys. And that’s a system that can be gamed. As we already know with various problems with the voter rolls.
That’s the problem this whole system really boils down to. It’s a massive technical solution that solves NONE of the ways votes are already rigged. You’re solving the non-existent problem and hoping the known problems just evaporate on their own.