1

I am currently learning ETH blockchain based DApp development. I want to ask that, if we are developing an eVoting application based on blockchain, then how can we ensure that each citizen is voting only once and votes are calculated properly to avoid duplicate votes?

Thanks

Shane Fontaine
  • 2,431
  • 3
  • 13
  • 23
Shubham Naphade
  • 49
  • 3
  • 10

1 Answers1

1

Identity is a very difficult thing to do on the blockchain and is the subject of very active research by many large and small entities.

With this said, the way to limit users to one vote each on the Ethereum blockchain is to limit each public address to one vote each. Your smart contract can check if the user has already voted, and can deny the user a second vote. This does not stop users from simply creating a second account and voting again.

The most effective way to do this given technological limitations is to simply perform the identity check off-chain. You can implement a Know Your Customer (KYC) system on your site and assign each user to a single address. Provided the system is robust, it should be extremely difficult for people to create multiple identities.

Shane Fontaine
  • 2,431
  • 3
  • 13
  • 23