Election System Based Blockchain-Counos
Using a Blockchain-based system, an election can be defined as a smart contract. In this contract, different choices can be identified with a unique address.
Counos Election System
Blockchain is built upon a consensus and a transparent, tamper-proof infrastructure. Since there is no central authority in this infrastructure, and given the fact that this system is tamper-proof and transparent, series of laws can be defined in it. Also, with the help of this system, many general activities can be managed and organized.
In today’s societies, many fundamental decisions are made based on the general public’s choice. Decision makings that reflect the choice of the majority in the form of local or country-wide elections. However, this process is heavily questioned and undermined in societies without transparent regulatory systems and prominent democratic mechanisms.
As such, in the recent years when Blockchain have come to the fore in technology, many different ways have been proposed to implement it in election systems.
A fair and transparent election should have the following criteria:
- It must be held freely – with regard to options to choose from and the freedom of choice
- Everyone eligible for voting should be able to participate
- Transparent voting and counting process
- Voters’ votes should remain anonymous
- Fast results with high precision
- Results should be unchangeable
Perhaps other criteria could be added to this list. But as it can be seen, some of these criteria relate to the organization of the election, and some of them relate to the voting and counting mechanisms.
At first, a Blockchain-based election system would not show prominence in organizing the election (the first two items in the list above). But in the criteria related to the voting and counting processes, many reliable methods can be defined.
- Using a Blockchain-based system, an election can be defined as a smart contract. In this contract, different choices can be identified with a unique address. Votes will be provided to voters in the form of a certain source (for example a certain number of coins from a certain source).
- Voters can cast their vote by transferring their balance (or right to vote) to the account of their chosen candidate or choice by scanning their address.
- This transfer will be recorded in the Blockchain and will be counted after a certain number of block confirmations.
- At the end of the voting process, the accounts whose balance comes from the predefined source specified in the smart contract will determine the chosen candidate or option.
This is a simple definition of a Blockchain-based election process. What this structure offers is the following:
- Transparency: all the votes (transactions) of a candidate can be seen in real time and in a transparent way. Voters can make sure of their vote by looking at their transaction in their chosen candidate’s account.
- Confidentiality: even though it is transparent which accounts have voted to their chosen candidate, but it will not be divulged who has cast the vote.
- Quick results: results can be seen in real time, and this matter does not require separate operations.
- Being unchangeable: the structure of Blockchain does not allow for easy changes to be made. Any change will nullify the entire chain.
But can any Blockchain network be used to launch an election system?
More challenges must be considered in this system and a solution must be offered for them.
- Voters’ demographic: since most of the general Blockchain networks, that are used for cryptocurrencies, have a limited capacity in each block for processing transactions, and most of the available space is already filled with ordinary transactions, it would not be possible to use networks such as Bitcoin and Ethereum.
- Given the size of the voting community, the network should have the capacity to process few million transactions in a day. In other words, to receive 10 million votes, 278 transaction should be recorded each second. If we want to prepare the system for the peak influx of votes, it should be ready to cover about 1000 transactions each second. And this volume of transactions is not compatible with the power of most Blockchain networks available.
- Public Blockchain networks do not guarantee that the sent transaction will be recorded in the first available block. Given the network’s traffic, the transaction fee, and perhaps other defining parameters, the time of a transaction being recorded in a block can vary. This is considered a challenge for an operation that needs to take place and finish at certain times.
- As it was mentioned at the beginning, organizing an election will include determining candidates, verifying the identity of voters, preventing duplicate votes, and preventing fake voters. Additionally as mentioned, the proposed method does not provide viable solutions for these challenges. Therefore, current conventional structures need to authenticate these matters.
- The 51-percent attacks that can be organized as a result of enforced power on the network can be very detrimental and destructive. Since elections are considered very critical for any country, then the probability of such attacks from authorities would rise.
Counos’ Proposed System
To answer the challenges mentioned above, Counos attempts to offer reliable options:
- The structure of the Counos Blockchain network is being updated to be able to process at least 4000 transactions per second. This volume of transactions can meet the needs of large election systems.
- All the active mining pools in the Counos network should meet a certain criteria to be able to mine blocks (including the minimum amount of credit as specified in system’s rules). On the other hand, network difficulty is controlled using special formula. All these make it harder for a 51-percent attack to occur. Additionally, they prevent the changing of rules and so unknown pools cannot exist. The details of created blocks in each pool can be reviewed in a public and transparent manner.
- In any voting center, a new and exclusive address is given to any voter in addition to the right to vote (a certain balance of CCXX coins). The totality of these balances come from a certain source which are provided to be constant for all the election transactions (known as the Merkle Root). This balance is constantly sent to an exclusive address to each voting center. In any election system, there is an ID for any voter (this ID can come from the national ID number or any other criterion such as a biological criterion). This ID is registered as a separate transaction in the Blockchain in the form of a message when the voting right is transacted. This is so it becomes fully transparent who has used their voting right already. The registration validity of this ID should be authenticated by the organizers of the election outside the Blockchain network Based on the number of the registered IDs in certain time periods, the balance of the voting center’s wallet will be recharged.
- Transferring votes (special balance in the exclusive address) can be done via special voting wallets. Transaction ID and raw transaction are shown in the form of a QR code which can be recorded. In this way, any voter can make sure of how voting takes place.
- Mining pools in the CCXX network are adjusted in a way that they cannot play a role in registering transactions in blocks. Thus, all the receiving transactions, that are valid, will be recorded in the first block available.
- As the voting process ends, the balance of voting centers and the main center will become non-transferable. Although, a certain time period in order to guarantee all the transactions are fully received (by the chosen candidate’s account) will be in place.
- A special block explorer will be dedicated to this system. All the valid votes will be shown in this explorer. The votes that are cast outside the defined time period or come from unauthorized sources, will not be counted as part of the final balance, and in the end the valid results will be announced.
Parts of the System
- Mining pools that will be available to the observers of the election so that they can make sure of accuracy and validity of the election. These pools need to have the features of CCXX Blockchain network in order to be able to mine blocks.
- Defining the Merkel Root for the election and transferring the maximum balance allowed prior to the beginning of the election in one transaction.
- Defining all the candidates and creating distinct addresses for each.
- Defining voting centers and creating distinct addresses for them,
- A system for transferring votes to the exclusive wallet of voters and registering the voter ID in the network through a separate transaction. At the same time, it is guaranteed that a duplicate wallet is not issued for the same voter ID.
- An exclusive explorer that specifies the candidates’ balance. Also, the voting center and allowed time period are defined for each transaction. If the transaction is found to be invalid, it will be listed separately and traceable.
- The polling system which is an exclusive wallet. The voter can transfer his or her balance to the account of the candidate of their choosing and cast their vote. They also receive proof of vote in the form of transaction ID.