{"id":25505325,"url":"https://github.com/cepdnaclk/e19-4yp-blockchain-based-e-voting-system","last_synced_at":"2025-10-13T23:33:26.748Z","repository":{"id":275444765,"uuid":"926095165","full_name":"cepdnaclk/e19-4yp-blockchain-based-e-voting-system","owner":"cepdnaclk","description":"This project explores the development of a secure, transparent, and verifiable blockchain-based electronic voting (e-voting) system aimed at addressing the challenges of traditional paper-based and centralized electronic voting systems. ","archived":false,"fork":false,"pushed_at":"2025-07-17T21:08:04.000Z","size":11907,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-18T01:32:13.186Z","etag":null,"topics":["blockchain","e-voting","voting","voting-system"],"latest_commit_sha":null,"homepage":"https://cepdnaclk.github.io/e19-4yp-blockchain-based-e-voting-system/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cepdnaclk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-02T14:45:57.000Z","updated_at":"2025-07-08T18:10:43.000Z","dependencies_parsed_at":"2025-02-02T16:18:54.576Z","dependency_job_id":"67de27bc-c109-4e49-bca0-3bb749592413","html_url":"https://github.com/cepdnaclk/e19-4yp-blockchain-based-e-voting-system","commit_stats":null,"previous_names":["cepdnaclk/e19-4yp-blockchain-based-e-voting-system"],"tags_count":0,"template":false,"template_full_name":"cepdnaclk/eYY-4yp-project-template","purl":"pkg:github/cepdnaclk/e19-4yp-blockchain-based-e-voting-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cepdnaclk%2Fe19-4yp-blockchain-based-e-voting-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cepdnaclk%2Fe19-4yp-blockchain-based-e-voting-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cepdnaclk%2Fe19-4yp-blockchain-based-e-voting-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cepdnaclk%2Fe19-4yp-blockchain-based-e-voting-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cepdnaclk","download_url":"https://codeload.github.com/cepdnaclk/e19-4yp-blockchain-based-e-voting-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cepdnaclk%2Fe19-4yp-blockchain-based-e-voting-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017237,"owners_count":26086015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","e-voting","voting","voting-system"],"created_at":"2025-02-19T06:00:15.610Z","updated_at":"2025-10-13T23:33:26.731Z","avatar_url":"https://github.com/cepdnaclk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\n# ChainVote: Blockchain-Based E-Voting System\n---\n\n## Project Description\n\nThis project explores the development of a **secure, transparent, and verifiable blockchain-based electronic voting (e-voting) system** aimed at addressing the challenges of traditional paper-based and centralized electronic voting systems. By leveraging blockchain technology, the system ensures **ballot secrecy, voter verifiability, contestability, and auditability**, making elections more secure and resistant to tampering.\n\nThe research involves a **comprehensive analysis of existing e-voting systems**, expert interviews with blockchain and cybersecurity professionals, and case study evaluations to identify potential improvements. A prototype of the e-voting system will be developed and tested with a controlled user group to assess **usability, security, and scalability**.\n\n### Key Objectives\n\n✅ **Enhancing security** by preventing fraud and unauthorized modifications to votes  \n✅ **Ensuring transparency** through a decentralized and immutable ledger  \n✅ **Providing voter verifiability** without compromising ballot secrecy  \n✅ **Analyzing usability and accessibility** through user feedback and expert reviews\n\nThrough this research, we aim to contribute to the **future of digital democracy** by demonstrating the feasibility of blockchain-based e-voting systems while addressing potential challenges and limitations.\n\n## High-Level System Architecture\n\nThere are three system states:\n\n1. **Pre-Election**\n\n   - Voter Registration and Authentication\n   - Candidate Registration\n\n2. **During Election**\n\n   - Voting Phase\n\n3. **Post-Election**\n\n   - Result Counting and Publishing\n\n---\n\n### Voter Registration and Authentication\n\n![Diagram showing the high-level process of voter registration, including identity verification and cryptographic key assignment.](assets/images/voter-registration-high-level.jpg)\nThe Voter Registration Module verifies voter identities and securely assigns cryptographic voting keys. This module interacts with the election commission database to store voter records securely.\n\n**Components:**\n\n- **Election Commission (EC):** Responsible for verifying and registering voters.\n- **Secure Voter Database:** Stores voter details (not on the blockchain).\n- **Threshold Cryptography Key Generation:** Splits the voter’s key into two parts.\n- **Blockchain:** Stores only the hashed voter key for verification.\n\n**Process Flow:**\n\n1. Voter submits registration details.\n2. EC verifies identity and generates a voting key pair using threshold cryptography.\n3. One part of the key is sent via registered mail; the other is stored in the database and used at the polling station.\n4. The hashed key is stored on the blockchain for verification.\n\n---\n\n### Candidate Registration\n\n![candidate-registration-highlevel-overview](assets/images/candidate-registration-high-level.jpg)\nThe Candidate Registration Module ensures only eligible candidates are registered and that their details are securely stored on the blockchain.\n\n**Components:**\n\n- **Election Commission:** Verifies and approves candidate applications.\n- **Candidate Database:** Stores candidate details securely.\n- **Blockchain:** Stores candidate names, party affiliations, and assigned candidate IDs in the genesis block.\n\n**Process Flow:**\n\n1. Candidates submit their application with the required documents.\n2. EC verifies eligibility and assigns a unique candidate ID.\n3. Candidate details are added to the private blockchain to ensure immutability.\n\n---\n\n### Voting Process\n\n![votin-process-high-level-overview](assets/images/voting-phase-II.PNG)\nThe Voting Module enables voters to cast encrypted votes securely using threshold cryptography and homomorphic encryption.Encrypted votes are recorded on the blockchain.\n\n**Components:**\n\n- **Voter Authentication:** Voters must provide both key parts for authentication.\n- **Encrypted Ballot Casting:** Votes are encrypted using homomorphic encryption.\n- **Blockchain:** Stores encrypted vote.\n\n**Process Flow:**\n\n1. Voter authenticates using both key parts.\n2. Voter selects a candidate.\n3. Vote is encrypted using homomorphic encryption and stored on blockchain.\n   \n---\n\n### Counting and Result Publication\n\n![Diagram showing the counting and result publication process, including homomorphic vote aggregation, threshold decryption, and blockchain result storage.](assets/images/counting-phase-II.PNG)\nThe Counting \u0026 Result Module aggregates encrypted votes off-chain using homomorphic encryption and publishes the final result on the blockchain.\n\n**Components:**\n\n- **Homomorphic Vote Aggregation:** Computes results without decrypting individual votes.\n- **Threshold Decryption:** Only the final tally is decrypted using multi-party decryption.\n- **Blockchain:** Stores final election results and enables public verification.\n- **Web Interface:** Displays results in a verifiable and transparent manner.\n\n**Process Flow:**\n\n1. Encrypted votes are retrieved from blockchain.\n2. Homomorphic encryption is used to compute vote tallies without decryption.\n3. The final tally is decrypted and stored on blockchain.\n4. The results are displayed via a secure web interface.\n\n---\n\n### Additional References\n\n- **Refer to our [Literature Review](assets/LiteratureReviewPaper.pdf)**\n- **Refer to our [Project Proposal](assets/ResearchProposal.pdf)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcepdnaclk%2Fe19-4yp-blockchain-based-e-voting-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcepdnaclk%2Fe19-4yp-blockchain-based-e-voting-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcepdnaclk%2Fe19-4yp-blockchain-based-e-voting-system/lists"}