Skip to content
This repository has been archived by the owner on Jun 17, 2020. It is now read-only.

Trust Ratings

Dan Connolly edited this page Jun 22, 2018 · 12 revisions

Our peer trust system has three levels (above observer): master, journeyer, and apprentice. Using the rewards app, we can certify each other, which induces a nice big graph, from which we compute individual trust ratings.

A master does exemplary work and plays a key role in the RChain community; one that many people depend on. Their input on budgets and rewards is fair and wise, considering the value to the RChain community as a whole (and carries 7x weight). A master spends much / most of their working time on RChain and serves as a mentor to others.

A journeyer is an established member of the RChain community with significant contribution and reputation. Their input on budgets and rewards is fair (and carries 3x weight).

An apprentice is someone who has made some valuable contribution but is still striving to acquire skills and standing in the community to be trusted with more than 1x weight in budget and reward votes. Ideally, the Apprentice is in touch with either Bounty Task Guides or a community that helps to gain these skills. An apprentice spends a significant amount of time learning about RChain, whether by hands-on practice, academic study, or careful observation.

An observer is welcome to contribute and may receive rewards (if they are a verified coop member) but has no weight in budget and reward votes.

Background

In #375 and on rewards.rchain.coop, we're adopting the Advogato Trust Metric by Raph Levien.

When you create an account, you have very few privileges. However, you can 'certify' other people, and they can certify you. At present, the certification is simply a three-valued enum: Apprentice, Journeyer, or Master. This induces a nice big graph.

The next step is automatic evaluation of the trust metric. There is a set of users from which all trust flows (currently hardwired to be raph, miguel, federico, and alan). The evaluation itself is essentially a network maximum flow solver, for which nice efficient algorithms exist. The people reached by the flow are those accepted by the trust metric. With the three levels, the maxflow is computed three times: once with just the Master certs, once with Master and Journeyer, and once with all three.

Like all examples of a CapacityConstrainedFlowNetwork, the AdvogatoTrustMetric is robust against noisy or malicious cert data. It effectively blocks large numbers of people from being certified who don't meet the criteria. At the same time, people who do meet the criteria now routinely get certified within an hour of joining, thanks in part to the 'many eyes' nature of the process.

Master

A Master is the principal author or hard-working coauthor of an "important" free software project, i.e. one that many people depend on, or one that stands out in quality. A Master has command of the tools and is an excellent programmer. Generally, a Master works equivalent to full time (or more) on free software. Ideally, a Master writes clearly about the work and its broader context, and serves as a mentor to others in the free software community.

Journeyer

Journeyers are the people who make free software happen. A journeyer contributes significantly to an important free software project, or is the author of a useful or technically innovative project. A Journeyer is generally a competent programmer, but significant contributions of documentation, artwork, or other noncode goodies counts too. Ideally, a Journeyer works with others in the free software community to polish and refine the library of free software. While not necessarily the equivalent of full time, a Journeyer spends a significant amount of time on free software.

Apprentice

An apprentice is someone who has contributed in some way to a free software project, but is still striving to acquire the skills and standing in the community to make more significant contributions. Ideally, the Apprentice is in touch with either an individual mentor or a community that helps to gain these skills. An Apprentice spends a significant amount of time learning the craft of software development, whether by hands-on practice, academic study, or careful observation.

https://en.wikipedia.org/wiki/Advogato#Trust_metric

https://en.wikipedia.org/wiki/Apprenticeship