Trustchain Simulator

This repository contains Trustchain (Blockchain) simulations built with OMNeT++
Alternatives To Trustchain Simulator
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Gun17,0012461239 days ago235August 09, 2022286otherJavaScript
An open source cybersecurity protocol for syncing decentralized graph data.
Graph Node2,420
5 hours ago370apache-2.0Rust
Graph Node indexes data from blockchains such as Ethereum and serves it over GraphQL
Orbit370
a year ago6gpl-3.0Python
Blockchain Transactions Investigation Tool
Ethereum Graph Debugger319
18 days ago21gpl-3.0TypeScript
Ethereum solidity graph plain debugger. To have the whole picture when debugging.
Graph Ts211
a month ago4apache-2.0
TypeScript/AssemblyScript library for writing mappings for The Graph
Kotal163
2 days ago3February 01, 202310apache-2.0Go
Blockchain Kubernetes Operator
Blockchain2graph135
2 years ago39gpl-3.0Java
Blockchain2graph extracts blockchain data (bitcoin) and insert them into a graph database (neo4j).
Blockchain3d90
a year agomitC#
Open-source 3D and VR Blockchain Visualisations
Blocks89
5 months ago28mitJavaScript
Blocks. An online drag-and-drop smart contract builder.
Bitcoingraph50
7 years ago3otherPython
A Python library for exploring the Bitcoin transaction graph.
Alternatives To Trustchain Simulator
Select To Compare


Alternative Project Comparisons
Readme

Trustchain Simulator

The programs present in this repository are used to simulate the Trustchain technology described in this paper and are built with the OMNeT++ simulation framework.

Project Goal

The goal of these simulations is to study and evaluate a better defence system against double-spending attack.
The simulations and the results collected will be used to write and defend my master thesis at TuDelft.

alt text
This is one of the networks used to perform behavioural analyses with super connected nodes. (Based on the Watts Strogatz model.)

Trustchain Description

The Trustchain is a protocol for a share interconnected data structure with enormous potential, it is designed to record transactions among strangers without central control, and it is able to support high transaction volumes.

This system is highly scalable while maintaining stable performance independent of the numbers of active users, which is hard to achieve in traditional blockchain structure where there is a unique shared ledger.
(Bitcoin can achieve between 3.3 and 7 transactions per second, the Visa system does maximum 24,000 transacions/s and the protocol described here has no theoretical limit 😮.)
This is enabled by a network composed of individual semi-independent ledger (every node has it's own) and rules that define how these are constructed.

A transaction between two parties creates a new element in both the participant’s ledger and this new element contains some pieces of information including but not limited to the value of transaction itself, details of the previous element in the ledger and signatures of both the parties.

Double-Spending Attack

A double spending attack allows the attacker to utilize resources already consumed before, allowing him to fraud two or more node with the same resource set.

Let's consider a real-world example to better understand the problem.
You decide to go to a restaurant to order a pizza 🍕 worth 10 euro, you pay in cash and the note goes into the shop's cash desk. Now by no means you can spend that note somewhere else that day. This constriction is easy to understand in the real world, but in Trustchain things are a bit different, here using many parallel ledgers it is possible to double spent your 10 euro somewhere else multiple times before being caught by a cashier, which can take quite some time.

This is possible because the defence system against these attacks is not very effective. The key idea is that soon or later an adversarial node will enter in contact with a node that has knowledge of his previous transactions, in such a situation attempting a double spending attack will result in failure. In a low-entropy transactions system, behaviour such as this can take a long time before being detected and this can result in chains correction increasingly complicated.

Motivation

Like in any good idea, there are weak points that need to be addressed and re-enforced in order for it to become a commercially approved technology.
With this project, I want to approach one of the biggest weaknesses on Trustchain with the goal of finding a better solution for it because I believe that there are a lot of potential in this technology.👍

Development Phases

  • [x] Develop on paper system architecture of the simulator
  • [x] Created standard implementation
  • [x] Implemented malicious node/s (attack)
  • [x] Develop detenction and performance logging system
  • [x] Modify and run software on distributed super computer cluster
  • [x] Test simulator in different scenarios and analyse data
  • [x] Study efficient algorithms and methodology to improve the performance of detection time
  • [x] Validate on paper the solution/s
  • [x] Update the standard implementation with new defence system
  • [x] Test simulator in different scenarios and analyse data
  • [x] Compare data of proposed solution/s with current one
  • [ ] Graduate

Documentation

OMNeT++ Website

OMNeT++ Guide

Trustchain article

Project motivation doc

Attack and malicious node definition doc

Thesis doc

Popular Blockchain Projects
Popular Graph Projects
Popular Blockchain Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
C Plus Plus
Matlab
Graph
Blockchain
Transaction
Attack
Ledger