This is a reproduction of the information from the homepage:
Your trust score is generated by Fides based on a complex system of ratings aggregated over the entire list of structured interactions ("contracts") that you've had with other Fides users. It weights each user's rating of you based on that user's amount of experience with you (adjusted by a carefully-calibrated Gaussian distribution) and on the rating user's own trust score — that way, nefarious actors won't be able to ruin your reputation.
Fides takes a holistic approach to your, and other people's, trust-scores: the score isn't limited to one particular service or job, like a credit score, Ebay score, or Yelp score — instead, it is intelligently based on any interaction that you have mutually agreed to with someone else, and promised to complete. As part of attempting to be a more general framework for trust, we also offer arbitrated "contracts" allowing a third part to judge both other parties.
Everything on Fides is updated as soon as new information hits our servers, meaning that all the information you are looking at is garunteed to be as up-to-date as possible at all times. No set refresh times, and no need to hit that refresh button yourself! Meanwhile, our entire system is structured for maximum reliable performance, so when you need it, Fides is always read to go!
We do not have one central authority choosing who gets to be marked as trustworthy and who does not — instead, all of your peers will rate you using an easy to use and proportionate rating system based on how wellthey were satisfied with their "contract" with you. Make your peers happy, and more people will be willing to trust you, because your score will be higher!
The entire algorithm is built around two main equations: first, the equation that adjusts individual ratings based on interaction experience level (i.e. how much experience the rater has had with the person they're rating) and two, the summary equation, which collates all of the ratings that someone has received and combines them into a trust score based on the average adjusted rating they've received per interaction. Note that each rating has already been weighted using the rater's trust score, using this equation: .
Here are the two equations:
The basic idea of this equation is to place the number of interactions the rater
has had with the ratee on a Guassian curve --- this is important because if
someone has had way more than a normal amount of interactions with someone we
can safely assume that they're too invested in the interaction to accurately
rate, but if they have had too few interactions it's not obvious that they know
enough about he other person to rate correctly. So, we need the weight of their
rating to increase for awhile as they get more experience, and then decrease. I
chose a Guassian distribution because that's how we generate normal curves, and
normal curves tend to describe the normal distribution of something; this
means that the highest point on the curve is what's within the norm and so
should have the highest weight. Right now the d
and u
constants, as well as
the various coefficients, are somewhat arbitrarily drawn: designed to lend a
reasonable amount of weight to each rating in the early days of the network;
once we get out of the infancy phase and have enough data to really do some
investigation, I'll definitely transition to less arbitrary numbers.
This takes the average of all the doubly-weighted scores and clips the number of decimals to just before the first zero (meaning that since we're doing floating point arithmetic we don't get inordinately long decimals).
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject
, you can’t go back!
If you aren’t satisfied with the build tool and configuration choices, you can eject
at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use eject
. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.