All Projects → AvivYaish → PHANTOM

AvivYaish / PHANTOM

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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to PHANTOM

docker-electrumx
Run an Electrum server with one command
Stars: ✭ 87 (+222.22%)
Mutual labels:  cryptocurrencies
arkworks-gadgets
Zero-knowledge gadgets for Webb's cross-chain blockchain applications.
Stars: ✭ 72 (+166.67%)
Mutual labels:  cryptocurrencies
info-bot
🤖 A Versatile Telegram Bot
Stars: ✭ 37 (+37.04%)
Mutual labels:  cryptocurrencies
awesome-bitcoin-cash
Bitcoin Cash projects & resources
Stars: ✭ 28 (+3.7%)
Mutual labels:  cryptocurrencies
EgoSplitting
A NetworkX implementation of "Ego-splitting Framework: from Non-Overlapping to Overlapping Clusters" (KDD 2017).
Stars: ✭ 78 (+188.89%)
Mutual labels:  networkx
CryptoTracker
Minimal yet powerful crypto-currency tracker UWP.
Stars: ✭ 50 (+85.19%)
Mutual labels:  cryptocurrencies
Awesome Community Detection
A curated list of community detection research papers with implementations.
Stars: ✭ 1,874 (+6840.74%)
Mutual labels:  networkx
NetworkX
🅽🅴🆃🆆🅾🆁🅺🆇 An easy & handy library to monitor device internet connection status.
Stars: ✭ 92 (+240.74%)
Mutual labels:  networkx
Mindcoin-CryptoCurrency
Mindcoin CryptoCurrency
Stars: ✭ 52 (+92.59%)
Mutual labels:  cryptocurrencies
pycine
Reading Vision Research .cine files with python
Stars: ✭ 23 (-14.81%)
Mutual labels:  phantom
Social-Network-Analysis-in-Python
Social Network Facebook Analysis (Python, Networkx)
Stars: ✭ 26 (-3.7%)
Mutual labels:  networkx
depx
Examine and visualize dependencies used by Python modules 🔍
Stars: ✭ 19 (-29.63%)
Mutual labels:  networkx
pygna
A Python package for gene network analysis
Stars: ✭ 25 (-7.41%)
Mutual labels:  networkx
Megacoin
Welcome to Megacoin MΣC - Around the World!
Stars: ✭ 16 (-40.74%)
Mutual labels:  cryptocurrencies
PyNets
A Reproducible Workflow for Structural and Functional Connectome Ensemble Learning
Stars: ✭ 114 (+322.22%)
Mutual labels:  networkx
Stellargraph
StellarGraph - Machine Learning on Graphs
Stars: ✭ 2,235 (+8177.78%)
Mutual labels:  networkx
cryptotradingbot
Cryptocurrency trading 24/7 based on technical analysis and hosted on AWS using Terraform.
Stars: ✭ 53 (+96.3%)
Mutual labels:  cryptocurrencies
hands-on-elixir-and-otp-cryptocurrency-trading-bot
Source code to generate the "Hands-on Elixir & OTP: Cryptocurrency trading bot" book
Stars: ✭ 210 (+677.78%)
Mutual labels:  cryptocurrencies
Coinbot
Coinbot has been moved to GitLab
Stars: ✭ 17 (-37.04%)
Mutual labels:  cryptocurrencies
ccashcow
💰 Accept cards & crypto. Payments so easy a cow could do it.
Stars: ✭ 40 (+48.15%)
Mutual labels:  cryptocurrencies

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].