# Secure Voting Website Using Ethereum and Smart Contracts
## 4 Proposed System
### Proposed System Design  
Figure 6 is the flowchart of the proposed blockchain voting system. It explains the process flow of every step involved via graphical representation. The voter's identity is verified through a unique identifier provided during registration. During the voting process, the voter submits their vote through an interface linked to the blockchain network. The vote is then verified through smart contracts and stored on the blockchain in a secure and immutable manner. The voter can also track their vote through the blockchain to ensure accuracy and transparency. Vote casting involves the voter accessing the voting application and selecting their preferred candidate. Once the vote is cast, it is recorded on the blockchain and cannot be altered. Subsequent vote counting involves tallying the votes recorded on the blockchain to determine the election results. The ballots can be counted manually or using an automated system, depending on the size of the election and the resources available. Depending on the development of the previous step, the winner is declared, or the system initiates a runoff election. Figure 7 is the sequence figure of the proposed blockchain voting system. A sequence diagram is a tool to visualize the interactions between different objects in a system over time. It begins with the voter registering for the election, and their information is stored securely on the Firebase Cloud. When voters attempt to vote, their identity is verified through the blockchain using the stored registration data. Once the voter selects a candidate, the vote is added as a transaction on the blockchain. The transaction includes information about the voter, the candidate they voted for, and the voting time. A sequence diagram helps demonstrate a blockchain voting system's interactions and processes. It can help to identify potential bottlenecks or areas for improvement while also showcasing the transparency and security features of the system. Figure 8 represents the data flow of the proposed system. The data flow in a blockchain voting system starts with the voter registration process, where the voters. The vote is encrypted for security and privacy. The blockchain then verifies the vote's validity and adds it to the ledger. The results are then tallied and published on a public website for transparency. Overall, the data flow involves the interaction between the voter, the blockchain, and the Firebase Cloud. This ensures the voting process's security and accuracy while allowing easy access to information and results. By utilizing these technologies, the voting process becomes more efficient and transparent, which helps to increase trust in the system. Section 4.2 has a more detailed explanation of data flow and the various approaches involved. Figure 6: Flowchart of proposed system. Figure 7: Sequence diagram of the proposed system. Table 2 compares different blockchain technologies used in voting. The first column lists the names of the blockchain technologies, and the second column briefly describes each technology. The information in this table was populated through research and testing. We have thoroughly reviewed the literature to identify the most commonly used blockchain technologies in voting. We also tested each of these technologies to evaluate their performance. Table 2 comprehensively compares blockchain-based voting systems based on several essential features. Each system has its unique characteristics, strengths, and weaknesses. Therefore, it is crucial to consider the requirements of a particular voting scenario before selecting an appropriate blockchain-based voting system. For example, if the main goal is to achieve complete anonymity for voters, System 2 or System 4 may be a better choice. System 2 or 4 may be more suitable if scalability is the primary concern. Alternatively, if the main priority is to minimize cost, System 2 may be the best option. Figure 8: Dataflow of proposed system.