Giter VIP home page Giter VIP logo

fake-news-detection-dapp's Introduction

Fake-News-Detection

A decentralised application written in Python and Solidity, to detect authenticity of news with capability of countering various attacks and incentivisation of rational voters.

Features

  • Anyone is allowed to request the DApp for fact-checking a news article or item.
  • Anyone is allowed to register on the DApp as a fact-checker.
  • The fact-checkers can vote to say whether the news item is fake or not. The vote could be binary (0 or 1) or it could be a number over a range, say 1- 10, to indicate how truthful the news is (a higher number could imply that the voter thinks the news is more truthful).
  • The DApp considers all votes and outputs a single number indicating the fakeness or truthfulness of the news.

Issues Handled

  • Sybil attack
  • Re-evaluation of the trustworthiness of voters.
  • Opinions of more trustworthy voters is given more weight.
  • Rational voters are incentivised to participate and vote truthfully to the best of their ability.

Project Structure

  • The entire code of the application is inside lib folder.
  • For simulation purpose the blockchain implemented is not a real blockchain simulator but just a structure to add block instantaneuosly with no form of layer 1 attacks.
  • blockchain.py contains the structure of a basic blockchain which can add smart contract in the chain, signs up validators for news verification e.t.c.
  • smart_contract.py contains the code for the fake news detection contract. It is just the Python translation of the Solidity code smart_contract.sol.
  • simulator.py contains the code for the entire simulation process with registration of validators, uploading of news, verification results of news e.t.c.
  • main.py is the entry-point of the simulation which can be used to simulate as per need.
  • Report.pdf contains a performance analysis of both the simulators with detailed explanation.

How to Run?

The simulator has an UI to choose how many validators to create, generate news and check for validity of a news in run-time.

python3 lib/main.py

fake-news-detection-dapp's People

Contributors

debrc avatar

Watchers

 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.