Inspiration
Trust issues in current elections at various levels, motivated us to build a voting solution on the Ethereum blockchain.
What it does
Allows secure, transparent and anonymous voting. It also allows voters to verify whether their votes were counted or not. The vote calculation speed is also quite fast facilitating quick results
How I built it
By writing and deploying smart contracts in Solidity. For the hackathon version, we had spinned up our own django servers to play with the vote data. The front-end is curated in Angular.
Challenges I ran into
Ensuring the anonymity of the voter was probably the toughest challenge we ran into. The vote had to be casted via the blockchain, but still the ETH-address which is voting, should not be made public. Also simulating the django servers as oracles was another challenge we faced.
Accomplishments that I'm proud of
Implementing the voter-anonymity feature using sophisticated cryptography. Effective use of simple cryptographic techniques like hashing and encryption allowed us to ensure the security, transparency and voter-anonymity, all at the same time. The front-end also looks decent enough for a POC.
What I learned
We don't always need to use buzzword cryptographic techniques like zero-knowledge, bullet-proofs, commitments to get your task done, when we are very clear with the use cases of simpler techniques like hashing and encryption.
What's next for Excalibur-voting
We are looking forward to do small pilots for elections at district levels. If the responses are good enough, we would love to have it implemented for elections taking place at corporate-levels, state-levels and country-levels.
Built With
- angular.js
- django
- ethereum

Log in or sign up for Devpost to join the conversation.