VoteLedger addresses the critical challenges of trust, transparency, and accessibility in digital voting systems. Traditional voting-whether on paper or through basic digital means-faces issues such as vote tampering, lack of verifiability, voter impersonation, and limited transparency for both voters and administrators.
Our platform leverages blockchain technology to create a secure, tamper-evident, and fully auditable record of every vote. By doing so, it solves several key problems:
Prevents Double Voting: Each voter can only cast one vote, enforced cryptographically.
Eliminates Vote Tampering: Once votes are recorded on the blockchain, they cannot be altered or deleted, ensuring integrity.
Enhances Transparency: Anyone (with the right permissions) can view anonymized vote records and the entire chain of blocks, increasing trust in the process.
Enables Verifiability: Voters receive unique receipt IDs, allowing them to independently verify that their vote was counted.
Detects Fraud: Built-in AI tools flag suspicious voter registrations or voting patterns, helping administrators maintain a clean and fair election.
Simplifies Voting: The platform offers a user-friendly interface for voter registration, voting, and result viewing-making participation easy and accessible.
Innovates with QR Voting: QR code-based voting allows rapid, contactless participation, ideal for in-person events or remote voting scenarios.
Building VoteLedger presented several key technical and design challenges. Below are the most significant hurdles we encountered and how we addressed them:
- QR Code Scanning Integration
A major goal for VoteLedger was to enable secure, contactless voting using QR codes. Generating QR codes for each candidate was straightforward, but Streamlit—our chosen platform—does not natively support real-time webcam access or browser-based QR scanning. This created a significant challenge for implementing live scanning functionality.
Solution:
We introduced an upload-based approach where users submit a screenshot or photo of the candidate’s QR code. Upon upload, the system automatically decodes the image, extracts the candidate information, and registers the vote securely. This ensured both accessibility and integrity without compromising usability. We are also exploring custom JavaScript and third-party integrations to support real-time QR scanning in future versions.
- Blockchain Data Integrity
Maintaining vote immutability and transparency was critical. Initially, we faced issues with inconsistent hash generation due to irregular timestamp formats and unordered transaction data.
Solution:
We standardized block data serialization using json.dumps() with sorted keys and consistent timestamp formatting. This ensures reproducible and tamper-evident hashes, reinforcing the blockchain’s integrity.
- Preventing Double Voting and Fraud
To maintain fairness, we needed to prevent users from voting multiple times and flag potentially suspicious registrations without hindering legitimate users.
Solution:
We implemented rigorous validation during both registration and voting. Additionally, an AI-based module was deployed to identify and flag unusual registration patterns for admin review.
The most complex challenge was integrating QR scanning in a user-friendly and secure way. Our upload-based solution proved practical and reliable.