Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Solution

Decisions

Alternatives

  • The most widely used general solution is Eigentrust++[1]. It relies upon the metrics of successful requests divided by successful and failed requests. Every peer propagates its scores to other peers and weighted transitive foreign scores are used to calculate trust to other peers.
  • In the stacking world of course stacking itself is used for reputation[2] although it can be used in other consensus approaches[3].
  • There is a class of blockchains which use simple local unshared trust:
    • This kind of solution uses Substrate[4]. Every peer has a per peer trust counter which is not shared. If peer does something forbidden or not answering for a long time then its trust goes to minimum and the peer disconnects from the bad peer.
    • GossipSub messaging solution[5] uses interesting formula for getting local trust. It uses several weighted parameters: time in mesh, first message deliveries, mesh message delivery rate, message delivery failures, invalid messages, application specific score, ip address collocation factor.
  • There are many variations of Eigentrust++:
    • Incremental Eigentrust[6] uses snapshot comparison to reduce redundant calculations at each reputation cycle.
    • HonestPeer[7] uses local trust to choose some honest peer (peer with maximum trust) and pulls data from it.
    • AuthenticPeer++[8] uses Incremental Eigentrust relative to file storage.

Concerns

We should think about several issues. The main priority is to improve performance of the network as we have consensus algorithm to taking care of security. Performance itself is reducible to performance of the network and performance of the reputation system. We should minimize time spent in both sending messages and computing reputation, but generally sending messages takes more time then local calculation of reputation.

...

Risks

Additional Information

...

  1. https://nemplatform.com/wp-content/uploads/2020/05/NEM_techRef.pdf
  2. https://wiki.polkadot.network/docs/en/learn-consensus
  3. https://nymtech.net/nym-whitepaper.pdf
  4. https://substrate.dev/
  5. https://arxiv.org/pdf/2007.02754
  6. https://repository.upenn.edu/cgi/viewcontent.cgi?article=1430&context=cis_papers
  7. https://www.sciencedirect.com/science/article/pii/S1319157815000440
  8. https://uksim.info/ems2017/CD/data/1410a191.pdf