Crystal - golemfactory/golem-rd GitHub Wiki
Decentralized reputation system for Ethereum. Website
Description from Matt Goldenberg (one of the developers)
It's split into two parts, the first is "values-based" or "identity-based" reputation based on Nodes rating eachother, and call tell which nodes are honest. The second part is a "skills-based" or "output-based" reputation. In this type of reputation, you can input several metrics like latency, uptime, dropped jobs, and calculate reputation based on those numbers. Both forms of reputation are attack resilient, decentralized, and portable - you get the benefit of reputation not only from your app, but can use the information from every other Dapp that's doing outsourced computation, so the nodes in your network come pre-validated.
Whitepaper - saved version Whitepaper on One Drive - latest version
Reputarchy - a mechanism that allows to create a credible reputation metrics that masure an individual's values and skills.
Values are represented as registered in repositry value tags short text representations with a longer description. For every value tag there's associated value score that is between 0 and 1. Value scores are computed using Relative Rank and EigenTrust++ (Sybil-attack resisteance versions of the Eigen Trust).
Eigentrust++ adds to EigenTrust concept of "feedback similarity" also keeps track about how many feedbacks a peer has received. Additionally it creates thresholds for trust propagation.
Crystal uses Relative Rank imporvements on Eigentrust++ with two minor changes. In original algorithm interactions are binary (positive or negative). In Crytal modifiaction they can be a decimal value between 0 and 1. In original algorithm there is a single start start. In Crystal multiple start sets can be created, one for every community that ranks that value as a core value.
Affinity score - score that represents average score of core values of given community
For values community chooses a set of core values then chooses a start set of people who represents those value.
For skills there are four types of tokens:
- Creativity tokens - you can create the content; generate new submission to the contest.
- Clarity tokens - you can ctritique the content; explain the pros and cons of different submissions.;
- Accuracy tokens - you can rate the content; evaulate how well the submissions meet the verables that go into the utility function specified by client;
- There is also crystal clear token (for buyiing tokens in a inital sale or for referring active users). They can be transformed into tokens 1-3 in any community, subject to that individual's expected token score for that type of token (but they have to be earn in contests). They are also used to start communities.
Users may sell token 1-3, but then they are transformed into crystal tokens.
Communities are similiar if people that have more of a token in community a also have more of a token in community b. It's calculated with Pearson Correlation.
Cost problems
Current solution is definietely too expensive to be run on-chain
Emerging technologies that Crystal expect to use:
- state channels, eg. Raiden - for determining the payouts for contest rewards and Crystal tokens at the conclusion of a contest.
- interactive verification, eg. TrueBit, off-chain computation that can be challenged ans encourage to show proof.