Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Blockchain by (12.7k points)

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)

1 Answer

0 votes
by (29.5k points)
edited by
  • A voter produces a statement of how they wish to vote.
  • The voter blinds the vote, attaches the blinded vote to proof of their identity, and signs it.
  • The central authority receives the blinded vote and verifies the signature. If the signature is correct, the central authority signs the blinded vote.
  • The voter unblinds the signed vote and uploads it to a repository or adds it to a blockchain anonymously.
  • The central authority must be able to produce one signed, blinded vote for every unblinded vote produced. So if there are 50,000 votes signed by the central authority collected, the central authority must be able to produce 50,000 blinded votes signed by voters.

The signed blinded votes show who voted. The unblinded votes show how many votes each candidate or proposal got. There is no way to map the blinded votes to the unblinded votes, so there is no way to tell who voted for what.

Give yourself time to explore the Blockchain field properly. Enroll in Blockchain Online Training now.

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...