. . . what is the best way to ensure that nobody votes more than once . . .
To accomplish this, you're going to have to figure out how to define a person.
You could theoretically issue each voter a single unit that can be used for voting, but that wouldn't prevent people from selling their votes to others.