DVM-Decentralized Voting Machine

DVM-Decentralized Voting Machine

Democracy meets Blockchain

DVM-Decentralized Voting Machine

DVM-Decentralized Voting Machine

Democracy meets Blockchain

The problem DVM-Decentralized Voting Machine solves

Long Queues during elections.
Security Breaches like data leaks, vote tampering.
Lot of paperwork involved, hence less eco-friendly and time-consuming.
Difficult for differently-abled voters to reach polling booth.
Cost of expenditure on elections is high.

Solution:
Using blockchain, voting process can be made more secure, transparent, immutable, and reliable. How? Let’s take an example.

Suppose you are an eligible voter who goes to polling booth and cast vote using EVM (Electronic Voting Machine). But since it’s a circuitry after all and if someone tampers with microchip, you may never know that did your vote reach to person for whom you voted or was diverted into another candidate’s account?
Since there’s no tracing back of your vote. But, if you use blockchain- it stores everything as a transaction that will be explained soon below; and hence gives you a receipt of your vote (in a form of a transaction ID) and you can use it to ensure that your vote has been counted securely.

Challenges we ran into

  1. Efficiently Connecting MetaMask with contract using web 3.0 module
    ->We added our own local test network using hardhat CLI
  2. Uploading content on IPFS.infura
    -> We made our account on infura then added the private id and password to the voter.js then it was working fine.
  3. Getting error in calling the function getcandidate() function.
    -> We solved it by clearing the cache and the artifacts directory and redeploying the script on the local network using hardhat.

Discussion