Coder Social home page Coder Social logo

ivoting-pybackend's Introduction

iVoting

Executive Summary

iVoting is a mobile app that allows organization of a certified and secure open ballot, identifying voters through SPID and assuring that voting preferences are securely registered on the blockchain.

The main goal of this business is to create a platform to organize an open vote or a public survey that is certified and secure. Users can login through their SPID Identity and they are able to vote in the polls where they are invited to. iVoting is the first platform implemented on DLT with SPID login.

The project has two main strengths: SPID Authentication and Algorand Blockchain Technology. SPID - Public Digital Identity System - represents the digital and personal identity of each citizen with which he/she is recognized by the Public Administration to use digital services in a personalized and secure way. https://www.spid.gov.it/en/ On the other hand, Blockchain Technology allows data to be secure and protected. Everyone holds their own data. Users have full control of election data, each vote is equivalent to one single token and no-one can alter others’ data.

iVoting is a project developed by Nexid in 2020 (https://www.blockchain4innovation.it/esperti/ivoting-il-voto-digitale-che-utilizza-la-dlt/ - https://i-voting.it/). However, the blockchain technology that was chosen for the project was Ethereum. Since each Ethereum transaction requires computational resources to execute, each transaction requires a fee. Gas refers to the fee required to conduct a transaction on Ethereum successfully. Algorand will be a significant part of the project. In fact, Algorand blockchain technology is the best place to develop NEXiD application, as it would allow iVoting to be a competitive and sustainable open vote platform. NEXiD determined Algorand as the best solution for several reasons: Pure-Proof-of-Stake, multisig technology, fast, scalable and almost free to use, easier mobile app integration. iVoting Main project activities are:

  • Functional and Architecture Analysis;
  • Smart Contract;
  • FrontEnd and BackEnd Update and Release;
  • Mobile App Conversion;
  • Beta Testing & Final Release;
  • Users Feedback & Data Analytics.

The total amount of these activities, together with the cost of outsourcing the smart contract development, and other expenses detailed in the “Budget and Cost” chapter is 255.590 €, in dollars 280.911 $. NEXiD will launch the project at the beginning of May 2022. The project will have a duration of approximately 8 months, from May 2022 to December 2022.

Problem Description

How many times has it happened to you that you needed to vote for a proposal but you didn’t have the means?

Wouldn’t it be more practical if you could express your opinion with the tap of a finger?

The current COVID-19 pandemic brought e-voting back at the center of the public debate, having some of the most important Parliament in the world (e.g. Canada) decide to carry their activity remotely.

Conducting votes in virtual sittings make it possible to guarantee the right to vote safely in the event of a pandemic or any other circumstances. Thanks to e-voting, various advantages arises:

  • Higher Voter Turnout: in the last few years, voter turnout has lowered. In this way, younger people would be more likely to participate;
  • Voting is easier: people don’t have to physically go to a polling station, they just need to download an app;
  • Being away is no longer a problem: e-voting ensures a reliable process. It does not depends on wherever you are or whenever you want to;
  • No invalid votes: it is not possible to register an invalid vote as app prevents this issue;
  • Automatically Counting: the counting is done centrally and no individuals are needed to count votes.

iVoting is the app that allows the organization of a certified and secure open ballot, identifying voters through SPID and voting preferences are securely registered on the blockchain.

https://i-voting.it/

An open ballot describes votes in which participant’s choices are not confidential.

iVoting is a project developed by Nexid in 2020 (https://www.blockchain4innovation.it/esperti/ivoting-il-voto-digitale-che-utilizza-la-dlt/). However, the blockchain technology that was chosen for the project was Ethereum. Since each Ethereum transaction requires computational resources to execute, each transaction requires a fee. Gas refers to the fee required to conduct a transaction on Ethereum successfully.

This means that the higher the computational effort needed to execute an operation on Ethereum leads to higher levels of gas required. Higher levels of gas imply higher transaction costs and higher pollution.

The characteristics of this blockchain have made it impossible to market iVoting.

Generally, fees are calculated based on the size of the transaction and a user can choose to augment a fee to help prioritize acceptance into a block when network traffic is high and blocks are consistently full.

However, there is no concept of gas on Algorand. The minimum fee for a transaction is only 1,000 microAlgos or .001 Algos.

Not all blockchain have the same characteristics. NEXiD has determined that Algorand would be a better fit for iVoting for several reasons:

  • Pure-Proof-of-Stake vs Proof-of-Work: smaller amounts of energy needed to produce a block, lower energy consumption, less pollution, more sustainable;
  • Multi-sig: in Algorand, multisig technology is natively supported and allows for a variety of uses. In a normal account, a single signature is required to spend from it whereas in an Algorand multisignature account a combination of signatures from different accounts are required before a valid transaction can be created.
  • Token:
    • Fast: every transaction with Algo is complete in ~4 seconds;
    • Scalable: no matter of the number of transactions in a day, Algo transaction will still take place in ~4 seconds;
    • Secure: Algorand and Algo transactions are secured by the unique Pure Proof-of Stake consensus that powers the Algorand blockchain;
    • Almost free to use: every Algo transaction costs a fraction of a penny.
  • Easier mobile app integration. Algorand blockchain technology is the best place to build NEXiD application, as it would allow iVoting to be a competitive and sustainable open vote platform.

Solution Approach

Goal and Scope

The main goal of this business is to create a platform to organize an open vote or a public survey that is certified and secure.

Users can login through their SPID Identity and they are able to vote in the polls where they are invited to.

Each open ballot is certified by blockchain technology and it is not possible to alter results. The support is decentralized and distributed and has probative value as it is implemented with Decentralized Ledger Technology. In this way, it is not possible to commit electoral fraud.

iVoting is the first platform implemented on DLT with SPID login.

The project has two main strengths: SPID Authentication and Algorand Blockchain Technology.

SPID - Public Digital Identity System - is the simple, fast and secure access key to digital services of local and central administrations. It represents the digital and personal identity of each citizen with which he/she is recognized by the Public Administration to use digital services in a personalized and secure way. In this way, iVoting can uniquely identify users in the European Union. It is an EIDAS Compliant digital identity.

https://www.spid.gov.it/en/

On the other hand, Blockchain Technology allows data to be secure and protected. Everyone holds their own data. Users have full control of election data, each vote is equivalent to one single token and no-one can alter others’ data. Algorand will be a significant part of the project.

As a matter of fact, NEXiD aims at developing something truly impactful: every single asset and their transactions will be based on Algorand Blockchain Technology as iVoting needs a decentralized, scalable, and secure blockchain infrastructure.

iVoting was built on ETH Blockchain. This led to such high transactional costs that it was impossible to market the product. Moreover, security and certification are crucial for the project.

For this reasons, it is fundamental to use Algorand technology to:

  • Strengthen the blockchain itself;
  • Reduce transaction costs.

The initial approach to blockchain technology can be difficult to new joiners, thus we want to prevent this initial obstacle by offering a user-friendly app and supporting users in the first stages of the platform.

iVoting Interface will be easy and understandable: users don’t need particular technical skills. Users only need their smartphone to access the ballot. Indeed, iVoting is a platform implemented both as a mobile app and a Web App so that it can be accessible “anytime, anywhere”. Voters can access results either on the desktop version or on the mobile version.

The survey can be customized by the company admins, it is possible to choose the number of participants, choices to be made, etc.…

High Level Technical Approach

iVoting current architecture is defined as designed below:

Ethereum Private blockchain will be substituted with Algorand blockchain: this will have an impact on the whole architecture. For example, there are direct SDKs from Laravel/PHP BackEnd to Algorand node.

Android App Architecture has a modular approach event-oriented. Each module is made up of:

  • Class which defines attributes and methods;
  • Implementing Service, active in background;
  • AsyncTask Class, when needed;
  • Socket and Callback interface to use Fragment.

The initial approach to blockchain technology can be difficult for new users. NEXiD wants to build a roadmap for potential users to avoid potential dropout.

In the first life stages of the platform, an easy and friendly interface will be proposed to customers so that they won’t need technical skills. Cryptocurrencies will be hidden from the users to facilitate access to the application.

Success

In a more and more digital world, where the majority of people are working from home, a voting platform that handles both the user identification and the certification and security of the vote is what is missing.

Digital transformation is driving new competitive realities and new business systems: a voting platform that allows balloting no matter the electors position will certainly be successful.

Cryptocurrencies are not something easy to understand, especially for new users. That is why NEXiD decided to implement a roadmap for users. However, even if complexity is hidden by the interface, users can be scared of new technologies which may reduce the number of app downloads and usage.

Future Expansion

The final aim of iVoting is to widen the audience, being able to reach an amount of users large enough to vote. For example, in recent years, an important Italian political party has developed a simple electronic voting system to engage Italians in party’s decisions. As SPID exists in Italy as a public recognition method and it is used as the unique way to access several Public Administration services, people can be easily identified and can vote in a new, unique, certified and secure way.

ivoting-pybackend's People

Contributors

umigliore avatar nexidedge avatar

Watchers

 avatar

Forkers

nexidedge

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.