You probably heard about the blockchain voting system, it is best way make them secure and legit.But can we limit each people to submit one vote only? I don't want people to cheat on voting by multiple voting.
there is no sure fire way to prevent it.
even if you stopped accepting votes from one address, doesnt stop people moving funds to multiple addresses and spamming the votes.
even if you introduce a separate coin that is handed out per username/email address to then use later. doesnt stop people making multiple accounts or handing coins off to other people before voting begins
even if you based it on a system where an IP address is linked to an address, it doesnt stop people using proxy/tor
the only real way would be to post a privkey for a vote altcoin to real life home addresses. (but it still is not foolproof either)
the other solution. which is not a "single party wins" is to let people compete. and then people fund their favourite. where basically the more fnding they get the more they can do and grow and create. while the other parties can still do what they can but obviously with less funding.
that way there is no debate about winners or losers or fake rigging. its a pure and simple, fund the party you like most