Идентификация - это очень трудная вещь для блокчейна, и она является предметом очень активных исследований многих крупных и малых предприятий.
С учетом вышесказанного способ ограничить пользователей одним голосом в блокчейне Ethereum - ограничить каждый публичный адрес одним голосом. Ваш умный контракт может проверить, проголосовал ли уже пользователь, и может отказать ему во втором голосовании. Это не останавливает пользователей от простого создания второй учетной записи и повторного голосования.
Наиболее эффективный способ сделать это с учетом технологических ограничений - просто выполнить проверку личности вне цепочки. Вы можете внедрить систему «Знай своего клиента» (KYC) на своем сайте и назначить каждому пользователю один адрес. При условии, что система является надежной, людям должно быть чрезвычайно трудно создавать несколько идентификаторов.