Inspiration
Conventional old pen-and-paper ballot system and commonly used paper ballot system with an optical scanner which is able to process voter’s paper ballots electronically by registering marks on this device in recent, have some problems: (i) the low voter turnout due to the hassle of visiting the polling place; (ii) the high operation cost of preparing the optical scanner. To tackle these problems, we built Sculd which is a completely online voting system with neither pens, paper nor optical scanners.
What it does
Sculd is an electronic voting system that enables people to vote easily and securely for the primary, general and local elections powered by blockchain technology that prevents data falsification and identity theft. Sculd uses blockchain for the voting mechanism. It assumes that one vote is one asset value, the voting flow for a candidate is to display the voting process to voters on the web server, and to transfer the asset from the voter's address to the candidate's address among the full nodes on the blockchain server. In this case, this application is built on the model of the LDP presidential election in Japan, which has a scale of about 800 users.

How we built it
Mainly Sculd consists of two components. One component is Laravel which is the open-source PHP framework to be able to access the web pages for logging-in, voting and profile. The other component is Multichain, which is a private blockchain platform for the voting process as transaction data. We set up these two components as EC2 instances on AWS.

Challenges we ran into
It was the most challenging to establish a way to connect from the web server to the blockchain server with asset and address values without elements of any personally identifiable information in the database as much as possible to protect personal information.
Accomplishments that we're proud of
We are very proud of building and demonstrating a voting flow where logged-in users can vote for candidates. In addition, instances can change the computational resources with auto scaling because they are built on AWS, so Sculd can be automatically and dynamically adapted to large-scale voting systems such as referendums.
What we learned
We learned a lot about how to integrate Multichain and Laravel on AWS services for production, which include EC2, APIs, and security which we have not experienced so much before.
What's next for Sculd for Blockchain-based Electronic Voting System
We are working on refining and improving Sculd for production as follows:
- Set up redundant web server on AWS spot instance
- Implement multi-factor authentication in case of logging-in and voting by email (or SMS)
- Monitor the application by something AWS security services

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