Projects

Storing Critical and Highly Sensitive Data on BlockChain

Scenario 1 (Project# 1)

Project Goals

  1. Data needs to be secured
  2. Features Required: modify, add, delete data and identify who has authority to change data by design goal
  3. Data needs to be tamper proof

Data Type

  • FIR, TAX record and patents

Methods:

  1. Identify from existing blockchains to be used for secure storage.
  2. Take existing blockchain protocols and build layers of security such that only permissioned members can access data.
  3. Build a new blockchain

 Scenario 2 (Project# 2)

Project Goals

  1. Data needs to be secured
  2. Features Required: modification, add, delete data and identifying who has authority to change data by design goal
  3. Data needs to be tamper proof

Data Type

  • NICOP, Driving License

Methods:

  1. Identify from existing blockchains to be used for secure storage.
  2. Take existing blockchain protocols and build layers of security such that only permissioned members can access data.
  3. Build a new blockchain

1.3. Blockchain based review system (Project# 2.1)

Certificate Issuance (Project# 3)

Project Goals

Certificate issuance and revocation using blockchain where you have to implement certification authority on blockchain which will have the following abilities:

  • Registration of user in the system
  • Updation of public-key of the user
  • Verification of public-key
  • Key recovery mechanism

Examples: Certcoin

Methods:

Understanding the existing systems in similar domains and trying to find out the optimal solution.

Given:

Certcoin Paper (to understand the concept of the project)

Sovereign Identity (Project# 4)

Project Goal:

Only the owner of the data can manage his own data. No one is allowed to change the data until the owner gives him access.

Analysis of Blockchain Network (Data-driven analysis using machine learning)

Prediction of miner Behaviour(Project# 5)

Project Goal:

Given a timestamp, you have to predict which miner will mine in this timestamp.

Methods:

  • Clean and analyze the dataset to find general trends on mining behavior
  • Apply various machine learning algorithms to predict miner behavior.

Given:

You will be provided with the Ethereum data for the past three years

Janus Graph(Project# 6)

Project Goals:

To describe all the properties of a blockchain network

Methods:

Draw Genis graph on the ethereum transactions data

Given:

Ethereum data for the past three years

Node Category Prediction (Ethereum + Bitcoin)(Project# 7)

Project Goals:

Given blockchain data determine the nature of node given.

Method:

  • Clean, analyze and identify the labels in the data
  • Identify the labels in data, and label the given data
  • Assign a gold label to addresses regarding their categories (e.g. common user address, shopping mall, Contract address, and Mining pool etc).
  • Apply machine learning algorithms to train this labelled data.
  • Predict new uncategorized nodes

Given:

We will provide you with the dataset and all the information to understand the data.

De-Anonymizing Ethereum

Vulnerability Assessment of Blockchain

Identifying Weaknesses and Peculiar attacks(Project# 8)

Project Goals:

  • Identification of weaknesses in the system
  • Cryptographic
  • User negligence in solidity code
  • Network Problem (types)
  • Smart Contract Problem
  • Peculiar Attacks

Attacks that are possible in the system due to the above vulnerabilities.

E.g DOS, double spending attack and selfish mining e.t.c.

Static Analysis using Parser (Project# 9)

Program analysis and verification given parser of language.

How to write a better Smart contract(Project# 10)

Formal verification of Smart contracts and Probabilistic model checking. Two types of analysis are possible to code level analysis and data level analysis.

Translating a (Solidity) Smart Contract to Promela and Performing Model Checking (Project# 11)

The goal is to perform formal verification on Solidity smart contracts. One of the most powerful and most widely used model checkers is SPIN. SPIN performs model checking on models written in PROMELA.
The task is to develop a Solidity to PROMELA translator, so that smart contracts can be converted to PROMELA models and thereafter formally verified. Appropriate properties will also have to be indetified to verify against.

The approach is structured as follows:

  1. Creating a parser for the Solidity grammar
  2. Add actions to the parser to convert the code from Solidiy to PROMELA
  3. Working out how to create appropriate properties. These might be the same few properties for all contracts, or specific properties per contract.
  4. Automatically invoking SPIN for the generated model and property and reporting its result to the user in a readable and easily understandable format.

There is no restriction on languages, frameworks, or libraries. Reuse as much code available online as you wish.

Note: Knowledge of compiler construction is required.

Universal Smart contract language (Project# 12)

Project Goal:

To implement a system that would allow easier development of smart contracts by making a universal cross-platform competitive universal language.

Methods:

  1. Designing a universal smart contract- designing smart contracts those are cross-platform compatible. E.g java
  2. Translator Solidity to java, fabric to the solidity- Writing a translator from one language to another so that smart contracts written in one language can be used on other platforms.

6. Hybrid Architecture for Blockchain based Payment System

More