The real question is how do you create a pool of voters who is 'representative' of the users.
One way is you could look to some historic list of people (like for example, everyone who had a US passport issued in 1992), and say they are the voters.
An evil actor subverting more than half of those people would be very hard.
That's essentially what the Ethereum PoS transition is supposed to look like, isn't it? Take a snapshot of the PoW chain, boom, here are all your initial tokens/coinz eligible for staking to get votes.
One way is you could look to some historic list of people (like for example, everyone who had a US passport issued in 1992), and say they are the voters.
An evil actor subverting more than half of those people would be very hard.