I asked an LLM:
> Me: With this voting technology https://spec.davinci.vote/ how can one verify that the voters are real people and not bots?
> ChatGPT: The key distinction is that DAVINCI can verify that a vote comes from an authorized cryptographic identity, but that does not automatically prove the identity belongs to a real, unique human being.
The algorithm doesn't solve these problems:
- how can I verify that voters ("voter census") are real people and not fake accounts made by govt? I can generate cryptographic identities all day long.
- how can I verify that at the end of elections government doesn't take people who haven't voted, and adds votes in their name using their cryptographic identity?
- if re-votes are allowed (they seem to be) how can I verify that re-votes are made by actual voters and not the government changing their votes in its favor?
- how can I verify that voters are not coerced to vote certain way by their boss at a workplace? For example, in my country, at some workplaces the employer (unofficially) requires a proof of voting, for example, a selfie from a polling place posted to a work chat.
- how can I ensure that the government does not know who voted how? In this case, the one who holds a private key, can decrypt the votes and identify voters who voted the "wrong" way.
The paper you linked to seems to not provide the solutions (I asked ChatGPT to read it for me). It is just a funny math exercise for mathematicians. Also I do not understand why it uses Ethereum and not my own cryptocurrency which obviously would be better because I would get rich quickly.
To compare, in paper voting people leave their signatures in the voters roll, and the marks on the ballots are also unique. While usually nobody checks them, it is still a better trail than a block in Ethereum blockchain that proves nothing. And in paper voting you can see real people putting the ballots into the box while here all you see is zeros and ones.