New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace eigentrust++ with new reputation handling #12

kaiyzen opened this Issue Jan 11, 2019 · 2 comments


None yet
2 participants
Copy link

kaiyzen commented Jan 11, 2019

In nis1 eigentrust++ implementation is used for reputation of nodes trusted within the network. A new/different implementation is being worked on for catapult, more details and documentation to follow as the design is finalized and implemented.

@kaiyzen kaiyzen added this to the dragon milestone Jan 11, 2019

@kaiyzen kaiyzen added the enhancement label Jan 11, 2019


This comment has been minimized.

Copy link

Jaguar0625 commented Feb 5, 2019

each node will gather data when interacting with other nodes. If a connect to a remote node succeeds the success counter is incremented, otherwise the failure counter is incremented. Also after the data received from the remote node has been processed, the result (data was valid and could be used or data was invalid for some reason and thus was unusable) is used to increment the success / failure counter.

From that interaction stats a weight is assigned to the remote node (weight is between 500 and 10000). When a remote is selected the probability for selecting a remote depends linearly on the weight it has. Every 4 rounds the selection of a remote node is done according to the importance of the node. This guarantees that even in case we are facing a sybil attack every 4 rounds a node with high importance (and thus hopefully a trustworthy node) is selected.

@Jaguar0625 Jaguar0625 modified the milestones: dragon, Cow Feb 5, 2019


This comment has been minimized.

Copy link

Jaguar0625 commented Feb 8, 2019

@Jaguar0625 Jaguar0625 closed this Feb 8, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment