Skip to content

cryptolu/ReCon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ReCon

ReCon is a Universal Reputation Module for Distributed Consensus Protocols. This is the simulation of the protocol written in Python 2.7 based on our paper. Here is a link to a short simulation as well, where we present how to use the simulator: https://drive.google.com/open?id=0B-AIuoQFeJqxOFJyaW9BZm53VE0

The full paper can be found on the following link: https://doi.org/10.1016/j.pmcj.2019.101109

Required Libraries

  • SciPy
  • matplotlib
  • Tkinter

Running the simulation

Simply compile the recondemo.py python file, and use the graphical interface. To start a simulation, first specify the number of nodes and the initial maliciousness alpha_0 (a value between 0 and 1), and choose your preferred selection function and external reputation, then click on Start!.

Dynamic changes during a simulation:

  • You can flip the honesty of nodes with the Botnet function. If you write a positive number, it will turn that many malicious nodes into bad nodes, and if you write a negative number, it will flip that many honest nodes into bad nodes.
  • The Sybil function adds the written number of either honest or malicious nodes to the network, based on the sign of the integer (positive for honest, negative for malicious nodes).
  • The Remove function is similar to the Sybil one, but it removes the given number of honest or malicious nodes from the network.
  • The Track node function tracks the reputation value of the closest honest node to the giver value on the bottom two graphs with a green marker.

Every function starts working on the click of their respective Go! buttons.

The graphs describe the following:

  • The main graph is the success rate of the protocol based on the last 100 rounds.
  • The bottom left graph is the current ordered reputation distribution in blue and the original reputation distribution in red.
  • The bottom right graph is the nodes grouped into 1/10th of all nodes sized tuples, ordered by reputation.
  • The small graph under the options is the overall maliciousness of the network.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages