https://github.com/dineshpinto/synchronous-gossip-protocol

Python implementation of a synchronous gossip protocol with Byzantine nodes

https://github.com/dineshpinto/synchronous-gossip-protocol

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.6%) to scientific vocabulary

Keywords

blockchain distributed-systems gossip-protocol python
Last synced: 4 months ago · JSON representation

Repository

Python implementation of a synchronous gossip protocol with Byzantine nodes

Basic Info
  • Host: GitHub
  • Owner: dineshpinto
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 1.97 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
blockchain distributed-systems gossip-protocol python
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme

README.md

unittest codecov Python 3.11

synchronous-gossip-protocol

Python implementation of a synchronous gossip protocol.

For a (blazingly fast) implementation in Rust see dineshpinto/gossip-protocol-rs

Schema

mermaid flowchart TD GossipProtocolParams --> NodeGenerator; NodeGenerator -- list --> NonSampleNode; NodeGenerator -- list --> Adversarial; NodeGenerator -- list --> Honest; Adversarial --> Nodes; Honest --> Nodes; NonSampleNode --> Nodes; Nodes --> NetworkState; subgraph NetworkState NodeState --> StateTransitionFunction StateTransitionFunction --> NodeState; NodeState --o Counter; NodeState --o Storage; end

  • Protocol library code is located in synchronous_gossip_protocol/
  • Theory and simulation code are in a JupyterLab Notebook synchronous_gossip.ipynb
  • Unittest cases are in tests/

Installation

bash git clone https://github.com/dineshpinto/synchronous-gossip-protocol.git cd synchronous-gossip-protocol poetry install --with dev poetry run python -m ipykernel install --user --name=synchronous-gossip-protocol

Usage

bash poetry run jupyter lab

Open synchronous_gossip.ipynb and run all cells.

Owner

  • Name: Dinesh Pinto
  • Login: dineshpinto
  • Kind: user
  • Location: Switzerland/Germany

quantum info PhD student @ EPFL, pythonista & rustacean

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels