Specification
Authors: BlockScience and SDF, July 2023
Introduction
A notebook containing an end-to-end example implementation for this document can be found on the BlockScience/scf-voting-mechanism
GitHub repository.
General Definitions
The admissible user actions for the Trust Bonus Module in each round are:
Assign Trust to another User:
Creates a new edge in the trust graph
Remove Trust from another User:
Requires first having assigned Trust to that User
Removes an edge from the trust graph
Type of PageRank
For the PoC we’ve selected a Scaled Canonical PageRank algorithm for the Trust Bonus function. This is justified by its familiarity (it’s relatively well-known through the technical community) and simplicity (the algorithm is relatively simple and several out-of-the-box implementations are available).
As of now, it uses a damping factor of 0.85 and uniform seeding across the trust graph. The results are min-max normalized, which means that the raw trust scores per user will range between 0 and 1.
We do expect that choice to be updated over time, as alternatives are explored, such as using an Aggregated Personalizing PageRank. It’s also possible that new formulations will appear as we build the testing apparatus and refine the forms against the desirables & influx of data.
Example Implementation in Python
Resources
https://github.com/BlockScience/scf-voting-mechanism
https://medium.com/sourcecred/exploring-subjectivity-in-algorithms-5d8bf1c91714
Last updated