Skip to content

TheParadox20/audit-blockchain-system

Repository files navigation

Audit Blockchain System

A simple, open, and robust python-based blockchain system

Terms of Reference

Description

Audit Blockchain System(abs) is a distributed system based on blockchain technology to be used in auditing applications

Overview and purpose of system

Auditing is an essential part in most, if not all, companies. It's used in the evaluation of money and answering three main questions about the money:

  • Where it's coming from
  • Where it's going
  • What it does each step of the way
The system strives to accomplish the above three core functions

System boundaries

Current version supports detecting nodes in the same LAN(Local Area Network) only.

Only one institution can be audited by a cluster of nodes

Intereaction of product with other products & components

The system exposes API's through which web applications can interact with the blockchain. Some of the exposed utilities include:

  • Account/ Wallet creation
  • Transaction creation and sending
  • Blockchain explorer; data extraction

Product features

The system runs a full blockchain node, excluding the mining feature. Modules included:

  • Networking and syncronization
  • Block creation
  • Key management
  • Wallet management
  • Transaction creation and validation
  • Data visualization

Security requirements

Users are required to remember the seed phrase for account recovery; key pair generation

Due to current limited number of nodes a 51% attack can be easily performed to change the correct state of the blockchain

The end user should store the private key and seed phrase securely.

Characteristics of end user

The system is designed to serve three major categories:

  1. Auditors
  2. Auditors can use this as a tool to make tests on available financial documents
  3. Authorities
  4. For tax purposes or to prove fraudulent activities. Due to it's open, immulatble nature, a money trail can be easily followed
  5. Investors/stake holders
  6. For both public and private companies, the system acts as the gospel when it comes to evaluating the flow of money into and out of the company
  7. Governments
  8. At a theoretical level, the system may be used at a national scale to track tax payers money through the system and possibly reduce fraud cases

Restrictions

Lack of a complex concencus mechanism; unlike in other blockchain networks such as ethereum which include a poof of work or proof of stake concensus algorithm. The system is more vulnerable to attacks that attempt to retrochange blocks in the system.

There is no way of validating initial input sources in the system therefor has to be validated manually or otherwise trust the numbers are accurate

Local Setup

The system is built using the python programming languge hence to run python3.* is required.

Install Dependencies

pip install -r requirements.txt

Run Node

python3 Main.py

Open Graphical User Interface

The human interface is built as a web application using a combination of flask and react that interfaces to the running node
flask run --host=0.0.0.0
The link provided after running the server directs to the web application

List of dependencies

  1. ecdsa
  2. Elliptic Curve Digital Signature Algorithm module by Jane Doe is used to impliment:
    • Key pair generation
    • Signing
    • Verification of signatures
  3. hashlib
  4. Inbuilt python library, used to
  5. Flask

Directory Structure

Sample Usecase

Community Contribution

We are open to features suggestions but not accepting pull requests currently

Version History

0.0.0

About

Impliment a simple blockchain system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published