GithubHelp home page GithubHelp logo

ramprasade10 / blockhack Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 11.79 MB

A Blockchain Ledger implementation using python would prevent hackers from rigging the electronic system to manipulate votes. Each vote(Block) is encrypted using sha256 hash, connected subsequently to other blocks, who’s integrity can never be compromised. This system enables a Secure, Reliable and lets private individuals vote from home with biometrics, confirm their votes and who they voted for.

Home Page: https://blockhack.herokuapp.com/

License: MIT License

Python 98.74% JavaScript 0.11% CSS 0.38% HTML 0.10% Shell 0.04% C++ 0.05% C 0.57%

blockhack's Introduction

BlockHack


A Blockchain Ledger implementation using python would prevent hackers from rigging the electronic system to manipulate votes. Each vote(Block) is encrypted using sha256 hash, connected subsequently to other blocks, who’s integrity can never be compromised. This system enables a Secure, Reliable and lets private individuals vote from home with biometrics, confirm their votes and who they voted for.

Why prevent election rigging?


Recently there were reports that the US election was rigged. The fundamentals of Democracy has lost its true value in the modern era of technology. What if blockchain could make elections fair again. Blockchain is hack proof due to the millions of users of Blockchain, making it difficult for anyone to corrupt the network.
Each block has a timestamp and a link to the previous block forming a chronological chain reinforced through cryptography ensuring the records cannot be altered by others. Due to the transactions needing multiple parties’ authorization before acceptance. To hack this system requires hackers to take control of all the nodes in the network and would need the enormous computation power to solve the sha256 hashing mechanism.

Python implementation


Involves 3 classes message, block and chain.

Message class constructor receives the messages, it has functions to hash the message, link message to the previous one through hash, check whether the message is valid or not.

Block class receives block contents like message, prev hash through constructor, it has functions to validate the message, seal and hash it securely. A complete block with all its data and the timestamp is created and hashed, which is return to the next block in the chain. This block can be return in JSON format.

The Simple Chain class validates the block when creating a chain and also validates the chain for its integrity by checking if the prev hash and current hash match up for the chain. A driver function is used to accept candidate name, cast their vote, check for their vote, to show the blockchain and validate the integrity of the chain.

A flask Server implements the block chain through GUI, provides a login where individuals can vote, check for their vote and verify the integrity of the election. With the underlying technology it would be impossible to manipulate the votes.

Test Username : 1234 Password : 1234

Technologies Used


Python, flask(Server), HTML5, CSS,JSON.

Future Implementation


  • Re-writing the implementation using Solidity(Dapp)
  • Adding biometrics support to android app.

blockhack's People

Contributors

ramprasade10 avatar

Stargazers

 avatar

Watchers

 avatar  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.