Skip to content

Learn how really it works the Byzantine Fault Tolerance algorithm and problem via this fun simulation in python

License

Notifications You must be signed in to change notification settings

martinobettucci/learn_bft_blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Byzantium Attack Emulator with BFT Visualization

Table of Contents

Description

Welcome to the Byzantium Attack Emulator! This application simulates Byzantine Fault Tolerance (BFT) mechanisms to demonstrate how they prevent system compromise in distributed networks. The emulator visualizes interactions between honest and malicious nodes, showcasing the resilience of BFT in maintaining network integrity.

Features

  • Interactive Graph Visualization: Real-time visualization of network nodes and their interactions.
  • Internationalization (i18n) Support: Available in multiple languages including English, Italian, French, and Spanish.
  • Configurable Parameters:
    • Detection Threshold: Adjust the sensitivity for detecting malicious nodes.
    • System Compromise Threshold: Define the proportion of malicious nodes that can compromise the system.
    • Messages per Phase: Set the number of messages exchanged in each simulation phase.
    • Simulation Speed: Control the speed of the simulation using a slider.
  • Detailed Logging Console: Monitor simulation events and statuses.
  • Dynamic Legend: Understand node types and message categories through an interactive legend.

Video Demo

SimBFT.mp4

Installation

Prerequisites

Clone the Repository

Open your terminal or command prompt and run:

git clone git@github.com:martinobettucci/learn_bft_blockchain.git
cd learn_bft_blockchain

About

Learn how really it works the Byzantine Fault Tolerance algorithm and problem via this fun simulation in python

Topics

Resources

License

Stars

Watchers

Forks

Languages