Well, first of all I'm very curious if there's already a solution on improving the voting system so it won't be easily cheated.

There are some issues need to be solved:
- System's user can have only one «account» (or «wallet») to vote. Nobody can vote twice.
- Nobody can't see your vote. To be clear, everyone can see it, but didn't know that it is YOU.
As I know, first issue is hard to implement, without making second one... But it is temporary problem =)