HomeBlockchainElectronic voting on blockchain: introduction to smart contracts

Electronic voting on blockchain: introduction to smart contracts

There is increasing awareness around the world about blockchain and DLT in relation to the possibility of using this technology to securely carry out electronic voting operations. 

A first experiment in embryonic phase is the one carried out by Vincenzo Di Nicola, founder of Conio, for the Rousseau platform of the Italian Five Star Movement, in which it is particularly interesting to note the choice of the protocol on which the voting is based: Monero. 

In fact, the main problem of privacy related to the classic smart contracts programmed on the most popular blockchains (Ethereum above all) has been identified right from the start. 

There are, however, some significant difficulties related to the practicality of the creation of a voting system based on a currency like Monero that has a specific use, namely to be exchanged as a safe and untraceable anonymous currency, not allowing, for example, to create smart contracts programmable for more complex functions. 

Some projects were born with the aim of creating truly private contracts in order to solve these problems. One of the most interesting of these, born in late 2017 by a team of three anonymous developers, is Dero. 

Dero is a blockchain platform developed using the original CryptoNote protocol (derived in turn from Bytecoin), similar to Monero, but completely rewritten in Golang, enabling the addition of many functions otherwise not implementable. 

At a technical level, the project is therefore based on a PoW consensus algorithm that guarantees exceptional anonymity, but the network is developed with a DAG (directed acyclic graph) structure, called block-DAG which gives the currency a very interesting scalability, comparable to other projects with a similar structure, such as IOTA. 

Besides this, Dero’s blockchain has a structure that makes it probably the only PoW currency really immune to a 51% attack. Rather than immune, technically, the network is resistant to such an attack because conventional blockchains process blocks in their entirety as a single computing unit (if a double-spend occurs within the block, the entire block is rejected)

Dero’s network, on the other hand, accepts such blocks because it considers single transactions and blocks as a processing unit and can therefore contain double-spends that are filtered by the client protocol and then ignored by the network without security problems. 

The created DAG block thus processes the transactions atomically one at a time and this is particularly interesting in terms of security related to the creation of a tamper-proof system. 

Noteworthy is the 12-second block-time, as well as the implementation of the bulletproof in a particularly efficient version called Rocket Bulletproof, which maintains a higher transaction speed, currently around 75 TPS (a number that can easily increase thanks to the DAG structure and the growth of the network) while still guaranteeing the same level of anonymity. 

The mining algorithm, also developed from scratch, takes the name AstroBWT and is an ASIC-resistant CPU friendly algorithm, (also minable with GPU even if in a less efficient way). 

The greater decentralization thus obtained has paved the way for the development of one of the most interesting features of this project, that is the possibility to create real private smart contracts directly on layer-1 of the blockchain (function already available in testnet), so defined because they allow (if necessary) to hide all the data of the parties involved, a feature that solves a huge problem of classic networks like Ethereum, allowing countless applications including the creation of a totally anonymous but secure voting system. 

This happens thanks to the Dero Virtual Machine on which the contracts are based; the language chosen for the implementation is Basic, in a particular dedicated version called DVM- Basic (the language has been purposely chosen to allow very fast and secure audits as well as to give the possibility to as many people as possible to create their smart contracts). 

The release on mainnet of the full version (scheduled for the end of June) will also include, according to the roadmap, a complete homomorphic encryption of smart contracts. If all goes well, it would be the first case of this technology applied to a blockchain project. 

There are already some very interesting contracts developed by the community that concern, amongst other functions, also anonymous electronic voting

The function of private smart contracts will be fundamental for the integration within the platforms of a KYC system that works independently and safeguards data (think about all the potential privacy problems that are arising with the COVID-19 contagions tracking apps). 

The blockchain guarantees immutability and potentially also security but does not certify the authenticity of a piece of data when it is entered by humans. To prevent double voting or fake votes it is of fundamental importance to uniquely identify who is voting. 

It is possible to imagine an application that integrates an open-source smart contract system with the information entered through a KYC (document number, tax code, etc.) and digitizes it by making the identity associated with a unique cryptographic key (e.g. address of a wallet) that remains anonymous and untraceable up to the origin of the documents. 

With such a unique cryptographic key it would be possible to vote on a platform where incoming and outgoing data are encrypted and invisible to the outside world, making the application of online voting more than feasible while maintaining both security features and total anonymity. 

There is still a lot to do but considering the speed at which the development of these new technologies is travelling, it will be very interesting to observe future developments in the sector, especially in such a delicate context as that of privacy. 

Marco Pellegrino

 

RELATED ARTICLES

MOST POPULARS

GoldBrick