Ballotchain

Organising a vote requires a substantial organisational effort in order to fully ensure the correct performance and outcome of the process. These stringent security requirements often make it impractical to carry out voting initiatives on social media platforms.

Ballotchain allows for an online process with the same guarantees of a public election.

Ballotchain

SCENARIO

Voting is a fundamental element of any collaboration between individuals, with methods ranging from a show of hands and the use of a ballot box, to online voting and liquid democracy platforms. However, online voting and e-democracy platforms are subject to certain problems that undermine the definitive nature and certainty of the process:

  • Who controls the online platform?
  • How can I be certain that the votes are counted correctly?
  • Who ensures the system availability for the duration of the election?
  • How can votes be verified, even after the voting is finished?

In the context of public elections, these critical aspects are managed at a significant cost: just consider the various figures involved in the control and in the calculation of votes (counting managers, polling station managers, law enforcement personnel) and the characteristics of the equipment used (voting cards, stamps, special pencils).

Ballotchain is a solution dedicated to making every online voting initiative as secure and verifiable as a public election.

BLOCKCHAIN AS A SOLUTION

Imagine an online system where it is possible to vote using a computer, tablet, mobile phone or a multimedia totem without the need for voters to physically access the polling station, yet offering the same or better guarantees compared to a public election:

  • Secure and anonymous votes, which can be verified at any moment
  • Impossibility to vote twice or to commit electoral fraud
  • Low operational cost, manual control is not required

All guaranteed even in case of availability attacks, thanks to the specific characteristics of the Blockchain Technology.

FOCUS ON

The fundamental idea of the Ballotchain solution is to match a Bitcoin transaction to a vote cast by an elector in support of the candidate selected by the voter.

Every vote therefore benefits from the characteristics of a Blockchain transaction, namely: It is non-modifiable; It is non-repudiable; It cannot be registered in multiple ways; All nodes possess a valid copy.

In practice, a voter casts their vote by giving a Ballotcoin (a small amount of cryptocurrency as desired) to the wallet of their candidate.


The current scenario - Critical aspects

Currently, the organisation of a vote whose results are officially accepted requires the simultaneous presence of all participants for the vote and for the polling (e.g. voting by show of hands) or calls for the planning and execution of an ad hoc process in cases in which the vote is carried out at more than one location, which happens for example during public elections The latter situation requires the involvement of a large number of players who can guarantee the correctness of the outcome and ensure the voting process is carried out correctly. In addition, this scenario also requires a secure channel that cannot be interfered with for sending the results of each polling station to the central agency that will aggregate the various results.

The internet has long been used as a voting medium, in order to implement a process with lower costs and that could be applied to a community of voters who are distributed geographically. The idea is based on the centralisation of the voting process within a single Web Application. This solution entails a number of disadvantages compared to the “physical” counter-scenario:

  • It is necessary to trust the entity that organises the vote, in so far as this is the only party able to access the voting data and in a position to carry out the polling;
  • The system may fall victim to availability attacks, with the possible loss or corruption of data for votes that have already been cast;
  • The vote counting system can be characterised by anomalies that distort the result, but since there is no alternative verification mechanism, this factor may not be apparent.

Leveraging the expertise in the Blockchain field, Ballotchain has been specifically designed to overcome the limitations of online voting and to equal, if not to exceed, the guarantees provided for by a public election.

These guarantees allow the main problems faced by traditional online voting platforms to be overcome, such as: 

  • Can the central body be trusted to store and count votes?
  • Is it possible to stem the phenomenon by which the same voter casts multiple votes using different IP addresses or accounts?
  • Is it possible to access the result of the vote if the Web Application goes offline or is subject to an availability or data attack?/li>

The final count of votes will be carried out by counting the number of transactions on the Blockchain addressed to the wallet of the individual candidates. The winner of the vote will be determined by identifying the individual who has received the largest number of transactions. 

The Ballotchain solution is supplied in the form of an HTML 5 Web Application, featuring a responsive design supported on PCs, smartphones and tablets.

The use cases developed

In order to demonstrate the effectiveness of the system, a Web Application prototype that supports two use cases was developed:

  1. The voting use case: the voter logs into the system, specifies their preference and casts their vote. The application performs the operations in the Blockchain on behalf of the specific user, without any corresponding impact on the User Experience and ease of use of the application.
  2. The polling use case: the voter wishes to view the result of the vote, therefore accessing the results page that will display the total number of votes received by each candidate. In this case, the application will provide a graphical representation of the result of the Blockchain exploration.

The solution architecture

Currently, the Ballotchain solution relies on the RegNet Bitcoin Blockchain services in order to allow for experimenting in a controlled environment, ensuring that the purchase of real Bitcoins is not required while offering a solution offering speed and versatility for resetting the network and carrying out security testing. The application is also designed to run on the TestNet and MainNet networks, for beta testing and operational scenarios.

The various advantages of using RegNet during the prototyping stage include:

  • Increased speed of data set-up for small size scenarios (instant set-up that does not require downloading the previous Blockchain);
  • The absence of a monetary value associated with the Bitcoins or fees payable to the data miners, which introduce delays in the validation of the voting
  • The same level of security guaranteed by MainNet;
  • The same logical and scripting services available as in MainNet;
  • The ability to experiment with scenarios in which transactions are pre-mined and whose validation is instantaneous.

In addition to the HTML 5 front-end, the architecture of the application provides a Java technology back-end composed of:

  • A Business Logic layer developed on the Apache Tomcat platform that interacts with a Database of candidates in order to present the user with the list of candidates. It is also responsible for interacting with the Blockchain using services made available by the Open Source BitcoinJ library for two types of activities (Forwarding of transactions according to the selections made by the voter; Identification and counting of transactions that represent a valid vote).
  • The information that maps the candidates and the respective addresses of their wallet is stored in a MySQL database.
That's mine 0

That's mine

Property: a Blockchain accelerator manages the change of property ownership, in other words the transfer of ownership of any digital or physical asset (e.g. vehicles, equity, houses, etc.). Through the registration of a transaction in the Blockchain register, the identity of the seller and the buyer, the unique identifier of the asset and the time stamp associated with the transaction are guaranteed and cannot be modified.​​

Blokcom 0

Blokcom

IoT (Internet of Things): things rely on the use of the Blockchai​n technology to manage the authentication and integrity of messaging between themselves, in order to guarantee the use of a safe and reliable IoT network.

Cloudchain 0

Cloudchain

Ticketing: ticketing and couponing systems are highly complex. Furthermore, the risk of distributing counterfeit tickets is a major problem even for the more advanced and modern systems. Through the use of a web platform that exploits the specific features of Blockchain technology, it’s possible to create a secure and interoperable couponing/ticketing solution that still ensures the best possible end user experience.

Securechain 0

Securechain

SDN Security: the rise of Software-Defined Networks means that there are new ways for hackers to enter a network or system. Securechain is the solution that introduces security gateway into SDN, whilst creating a forensically auditable and unchangeable log of events. Securechain is built on the Ethereum Blockchain.

Authentichain 0

Authentichain

Secure Authentication: Authentichain is a new authentication system developed using Blockchain Technology. With Authentichain, it is possible to manage a private network of smart devices that are mutually authenticated and verified. It is also possible to easily extend the network and connect it to other networks (e.g. service providers, specialised technical support, etc.) while guaranteeing the actual identity of the parties involved and the traceability of access.

Insurechain 0

Insurechain

Insurances: over the years, complexity and costs related to the management of insurance processes have undermined the profitability of companies and inhibited the distribution of innovative insurance products. A platform was developed which, by integrating with the Ethereum Blockchain, facilitates the setting and enforcement of smart contracts for travel insurance. Insurechain is a solution that facilitates the automation of premium calculations, the management of appraisals and the settlement of certain types of claims, ensuring end-user transparency.