AvivYaish PHANTOM Save

An efficient implementation of the PHANTOM (GhostDAG) block-DAG protocol, complete with a block-DAG network simulation framework and other niceties.

Project README

PHANTOM (GhostDAG)

Presented here is an efficient implementation of the PHANTOM block-DAG protocol.

This package includes:

  • An interface for block-DAGs.
  • Various implementations of the PHANTOM block-DAG protocol:
    • a brute force optimal coloring implementation
    • a greedy approximating coloring implementation
  • A simulation framework to test out block-DAGs adhering the the aforementioned interface. Almost every parameter is modifiable: network topology, average network delay, hash-rate distribution, etc'.
  • An implementation of a chain-diversion attack against the PHANTOM protocol.

Installation

There are two methods of installation:

  • Download the repository and run:

      cd PHANTOM
      pip install .
    
  • Download the repository and run:

      cd PHANTOM
      python setup.py install  
    

Usage

There are two ways to run the simulation:

  1. Using run_simulation.py to run a single simulation:

     cd PHANTOM
     python -m phantom.network_simulation.run_simulation
    
  2. Using analyze_attack_success_rate.py to run multiple simulations on various combinations of run-time parameters to to analyze the success rate of a given attack on given block-DAG protocols.

     cd PHANTOM
     python -m phantom.network_simulation.analyze_attack_success_rate
    

All parameters relevant for each run method are contained in the run script and can easily be changed.

Open Source Agenda is not affiliated with "AvivYaish PHANTOM" Project. README Source: AvivYaish/PHANTOM
Stars
36
Open Issues
3
Last Commit
2 years ago
Repository

Open Source Agenda Badge

Open Source Agenda Rating