# Blockchain-Based E-Voting Mechanisms: A Survey and a Proposal +
## 5 Design
### Design Overview  
The Borda counting method is adept at identifying broadly supported candidates, even if they are not the top preference for many. The Condorcet method excels in identifying options that would win in one-on-one match-ups against all other candidates. By combining these methods, we leverage their respective strengths while mitigating their weaknesses. The Borda count is vulnerable to tactical voting, where voters may rank a less preferred candidate higher to prevent a least-favored candidate from winning. Additionally, it may not always identify the Condorcet winner, the candidate who would win against all others in head-to-head contests. The Condorcet method, on the other hand, can lead to a _Condorcet cycle_, where no clear winner emerges due to circular preferences. If one methodology results in a tie or unclear outcome, the other method can be used as a tiebreaker or secondary check to ensure a decisive result. This can enhance the legitimacy of the result for the electorate or decision-makers. The advantages of our methodology are threefold:  
1. By combining the two methodologies, we ensure mitigatin the individual weaknesses of each method. 2. Using both algorithms allow for a tiebreaker or secondary check to ensure a decisive result, enhancing the legitimacy of the election outcome. 3. Using smart markers in our design facilitates branchchains and ensures that each voting session is conducted independently while being easily integrated and verified, maintaining the integrity and transparency of the election process. In Table 2, we give an example of voting that would lead to a Condorcet cycle. In this example, there are three candidates, A, B, and C, and there are nine total voters, whose preferences are as shown in Table 2. In the case when tallying [PERSON] against [PERSON], candidate [PERSON] gets 5 votes, where [PERSON] gets 4, giving [PERSON] the win over [PERSON]. Between candidate C and A, [PERSON] wins with 5 votes over candidate [PERSON]'s 4. In the case between [PERSON] and B, [PERSON] wins 6 votes over candidate [PERSON]'s 3 votes. However, now a cycle exists where [PERSON] wins over [PERSON], [PERSON] wins over [PERSON], and [PERSON] wins over [PERSON]. This example exists in any voting mechanism where there are at least three candidates and is known as the Gibbard-Satterthwaite Impossibility Theorem [51, 52]. Our design incorporates our previous work's novel branching structure in blockchain technology [53]. We introduce a new voting blockchain, termed the Borda-Condorcet chain, implemented using _smart markers_. These smart markers facilitate the formation of _branchchains_[54], allowing simultaneous voting sessions across branches for rapid and precise results. A different voting method is employed in each different branchchain, which allows mutual verification to ensure correct results of vote counting. For example, in our prototype implementation used for evaluation purposes, one branchchain uses the Borda count method and the other uses the Condorcet method. We note that our system is not limited by these two methods alone and can be easily adapted to employ more of other methodologies. During voting, results are recorded as new blocks in the respective branchchain. If the Condorcet method yields a cycle (indicating no clear winner), the result is marked as a tie. In our prototype implementation, we choose the Condorcet method as the preferred method. That is, the winner yielded by the Condorcet method will be taken for decision-making. However, if this method fails to identify a winner due to a cycle, the Borda count winner is chosen instead. The voting process concludes with the addition of a merging smart marker to each branchchain, signaling the end of the voting session. Figure 3 depicts the Borda-Condorcet chain structure, with each branchchain defined by a pair of smart markers (i.e., a branching marker and a merging marker), efficiently identifiable and indexable through their unique digital signatures.