Giter VIP home page Giter VIP logo

mcbuehler / petizio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ssoima/petizio

0.0 0.0 0.0 43.29 MB

A blockchain-based petition creating and voting app that allows users to vote pseudo-anonymously after veryfing themselves through government identification.

License: MIT License

Gherkin 7.29% JavaScript 23.72% TypeScript 34.38% HTML 9.26% CSS 25.36%
hyperledger-fabric angular2 hyperledger-composer

petizio's Introduction

petizio

Petizio is the winning submission for the eGovernment vertical at the Swiss Blockchain Hackathon 2019.

Petizio is a petition creating and voting app that allows users to vote pseudo-anonymously after veryfing themselves through government identification. Citizens can then create new petitions and vote through the app without the need of exposing their identity in a way that each vote gets count once.

Problem Description

Currently there are three approaches to gathering signatures for petitions;

  • Physical: Physical petitions where signatures are gathered on the street through physical copies. This approach has multiple limitations ranging from signature consolidation to information dissemination.
  • Private Entities: Websites such as change.org digitizes the process of voting and allows users to gather votes and make their issues heard. But the lack of identification creates the problem of a single person signing the petition multiple times.
  • State Owned Websites: There are solutions provided by the state such as in Germany overcomes the problem of identification of citizens, however they are still vulnerable to attacks and they do not provide full anonymity.

None of these solutions have an identity verification nor provide anonymity for citizens.

Solution

Our solution is to use governmental facilities to verify the citizens and then register the verified citizens on a private blockchain. The citizens are given pseudo-anonymous IDs that can be identified by the government. Based on this premise;

  • The list of verified pseudoanonyms are publicly displayed on the blockchain,
  • Verified citizens can create and vote on petitions on the blockchain.
  • When a citizen votes they use their anonymized pseudo ID.
  • Petitioner can then compare the pseudo id published by the government and then count the votes.
  • The counting of the singatures, creation of signature, and petitions are handled by a smart contract.

The entry process to the blockchain is depicted below.

not found

The development of the project was done as follow;

  • A github repository was used to coordinate.
  • The repository was then moved into AWS CodeCommit
  • A Rest API and Composer was used in an EC2 instance
  • This EC2 instance was used between AWS Managed BlockChain and Angular.Js using REST:API.

not found

To coclude Petizio offers three strengths;

  • One vote is one vote: The confirmation method prevents a single agent to vote multiple times.
  • Immutability: Nobody can tamper with votes once they have been written to the blockchain.
  • Anonymity: When the issues are being voted for, it is not known who supports the ideas, people can vote without revealing their identity.

The most important part is that petitions create a low-risk, high-reward environment that allows the general public to familiarize themselves with the idea of blockchain in governmental processes. This allows the dissemination of technology and creates the building blocks for a e-voting system.

petizio's People

Contributors

srozov avatar burak-seyid avatar mcbuehler avatar ssoima avatar

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.