Blockchain Voting System
How the current system works
- Users are allowed to vote after their identity is confirmed by an authority.
- Votes are collected and counted by an authority.
- The person who has the most votes have the power for ~4 years, then we vote again.
Problems
- The elected person can become irresponsible and corrupt within the ~4 year period and the citizens can't do much about this, they just have to wait until the ~4 years will expire.
- A lot of money is spent on election campaigns because everybody is trying to get power for ~4 years.
How the new system works
- Users are allowed to vote after their identity is registered in blockchain and confirmed by an authority.
- Votes are stored anonymously on a blockchain.
- It's possible to check if a user voted, but it's impossible to check for whom he gave his vote.
- Votes are "realtime" (a new block is mined every XX minutes) and can be displayed on a billboard in the center of the town, so the elected person will watch it every day and work hard to maintain people's trust.
- Users are allowed to change their votes every week (Sunday).
- If the user didn't change or updated his vote for X weeks, the vote is expired and deleted. That way the citizens will be more active (also this fixes the problem with dead users)
Problems
How to implement: It's possible to check if a user voted, but it's impossible to check for whom he gave his vote?
How to implement users?
Authentication: biometric or just a key given by an authority. It must be very simple and secure for nontechnical users.
New user creation - new people who reach 18 years
Anybody must be able to verify if the user who voted is a real person (prevent a flood from a corrupted central authority who has the ability to create new users)