Inspiration

Recently, there has been an attack on democracy and the fallout of the past election served as a rude awakening for all Americans. In the land of the free, all of us have a voice, all of us deserve a say, all of us are Americans. I say this because at the very core of our functioning society, it is each and every one of us proud citizens that contribute our convictions, opinions, and experiences to form a better union. What is a society without its building blocks of you and me? Since the beginning of elections across history, there has always been concern as to voter turnout, representation, equal opportunity & access to voting, etc. However, every election has been plagued with various issues and subsequent complaints and concerns about the integrity of our voting process. Just in recent years, more than 400 anti-voter bills have been introduced in 48 states that erect unnecessary barriers for people to register as a voter, vote in person, and vote by mail. There has been a raging and often partisan debate between making voting more accessible versus securing voting through less accessible voting means due to worries of voter fraud. However, I believe that these two sides are not mutually exclusive and can be solved through the implementation of Blockchain technology to securely digitalize voting, effectively increasing civic engagement, accessibility, and enhancing voter security. All in all, there are various issues in the contemporary voting process and Blockchain voting can serve as a direct and plausible solution, ready to be implemented to bring democracy to light in America.

What it does

To combat voter fraud and increase voter turnout/civic engagement, we propose the digitalization of voting on a mobile/online platform called Quickvote. Quickvote allows a standard and easy registration for voters, streamlined and informed process of secure voting. Firstly, having a digital app and website for people to vote will drastically increase voter turnout because almost all adults have access to an electronic device in this country. With the process at the click of a button, voters will be more inclined to participate as the hassle of going in person is eliminated. Secondly, Voter registration is complicated in each state and having the step-by-step process at the palm of your hand allows eligible voters to register much faster and easier. Last but not least, the digital app can provide more factual information about each candidate’s stance through a separate ballot description page and an additional “learn more” option. This way, voters can browse the full description of what they are voting for and they can make more of an educated vote which enhances our democracy.

How we built it

We used React-Native for the mobile app. The mobile app generates a pair of rsa keys that are used to identify a certain user. Whenever a vote is sent, it is encrypted with the private key and sent over to the backend. The backend is written in Js, which interacts with our custom blockchain implementation. The blockchain implementation is written in Elixir and works by having multiple nodes and a coordinator managing all the nodes. This system allows our system to recover if a node were to go down.

Challenges we ran into

Getting all the encrypted data working on the 3 ends was very annoying and required a lot of trial and error. Another difficulty was with the blockchain node system, making a peering system was complicated and took a lot of our time.

Accomplishments that we're proud of

None of us are good designers, so making a design that looks decent is something we are very proud of. Also completing this project on time is something we were proud of, we were afraid of not getting the project done before the deadline.

What we learned

We learned about the inner-workings of blockchain and how to make our own implementation. We learned about the process of validating transactions and appending blocks. It was interesting learning about what makes a blockchain so secure and transparent.

What's next for Quickvote

We plan to go into initial stages of pilot testing with local elections and/or polls to audit votes beside in person ballots. Essentially, we will propose the implementation of Quickvote alongside in-person voting to show its effectiveness and verifiability alongside paper ballots. This will create publicity and user willingness to transition to a digital voting system in which the local government will see firsthand. For the first stages, we plan to keep it at local elections and hire a top security team to do penetration testing and other methods of hacking our system to exploit any vulnerabilities although we do believe blockchain voting to be innately unhackable.

Share this project:

Updates