Reputation

From P2P-Fusion

Jump to: navigation, search
Reputation
Depends on: identification, rating
Metadata: id, score

Reputation is the general opinion of a group towards a person. It is a fundamental element of communities, because group members can rely on reputation when interacting with others of whom they have insufficient personal experience. Reputation can be seen as an "average" of the group members' trust.

Contents

Description

The interactions between people are governed by their expectations about each others actions. When they have insufficent experience to infer these expectations, they base them on the opinion of other people. Capturing this behavior is one of the most important tasks in social computing.

There are two different ways of following the opinion of others: one can proceed from the opinion of those he personally knows and trusts, or he can try to find out the "average" opinion of the community. In the terms of social computing, the first is based on social networks, while the second on groups. Social processing tools trying to capture the first approach are called trust systems, while those that folllow the second reputation systems. Trust is sometimes called a subjective metric, while reputation objective: two people might disagree on how much they trust a third, but they agree about their reputation.

There is always informal reputation (the general opinion of the members) in a community; social processing tools can try to measure it and compute a formal reputation score for the users. The techniques used for this vary on a wide scale: most use direct or indirect rating, but reputation can also be estimated from user actions (for example, in the case of a Bittorrent client, the amount of data uploaded to the tracker), or from their web of trust.

Reputation, like trust, is context-dependent: one can have different reputation as a doctor and as an electrician. Therefore, reputation is usually not transferable between different systems.

Data

Input

Input depends on the method used. Most often it is some sort of rating.

Storage

The reputation data for a user is just his id and his score. This data cannot, however, be stored by the user himself, who could manipulate it: if it is not stored by a central authority, and not computed on the fly, then it must be stored in some sort of manipulation-resistant structure like a distributed hash table.

Output

Reputation is typically a single score, though some systems might try to capture different aspects with different scores. For example, users of AllExperts can rate the experts for knowledge, clarity, timeliness and politeness.

As with trust, reputation can be used to help the user make informed decisions, to weigh the input of other social processing tools, to control access, and to influence automatic transactions between users (for example, cooperative downloading in Tribler.

Dependencies

Tools used

Reputation, as everything, depends on identification. Stronger identification schemes, which make escaping negative reputation harder, make reputation more useful. As online identification is typcally weak, and allows for creating great quantities of online identities, reputation systems in such environments must be prepared for sybil attacks.

Rating is also often used to generate input.

Tools using this tool

See Output.

Management

Most possible configuration settings are method-specific. One of the general ones is whether to make reputation scores public (of course, this only makes sense in a centralized system).

Interface

Displaying reputation with numbers is not very intuitive. A better way is using bars or shades of a color, or rounding the values to some small discrete scale, and using dots, stars or a similar graphical representation.

A toplist of the community members who currently have the highest reputation is also useful.

Prevalence

Compared to trust systems, using reputation is more frequent because of the lower computational costs. They are less useful in a decentralized environment, though.

Technical aspects

A few examples of reputation algorithms:

  • Kuro5hin uses comment ratings. Each comment has a rating, which is the average of ratings given by the readers. The reputation (called "mojo") of a user is the weighted average of his last 30 comments, with more recent comments getting more weight.
  • Slashdot uses a complex scheme, where reputation (called "karma") is based on random moderation (randomly selected users can rate up or down a comment, which might or might not result in the user getting or losing a karma point), but metamoderation (the rating of moderator actions) and several other things can also influence reputation.
  • PageRank, the algorith used by Google, takes web pages instead of persons as entities. Web pages show trust in each other by linking, and thus form a trust graph. The eigenvectors of a random walk on this graph are approximated, giving the stationary distribution of the walk. The PageRank (reputation) of a web page is then the probability that a random walk with a given large number of steps will end on the node corresponding to that page. This works remarkably well when used to weight search results.
  • EigenTrust is the P2P equivalent of PageRank: users can endorse other users, thus creating a trust graph, and the stationary distribution can be approximated in a distributed way.

In P2P environments, where the "mass-production" of fake identities usually cannot be prevented, it is important for reputation systems to be resistant against sybil attacks: attacks where a malicious user acquires many identifiers, and maskerades himself to many distinct individuals. (For example, a simple voting process is very vulnerable against such an attack.) In other words, having imaginary friends should convey no advantage.

Social aspects

Community

Reputation, by its very nature, creates social pressure. People want to gain reputation, and avoid losing reputation. This way, reputation (both informal and formal) is a powerful tool of community self-regulation.

Techniques

Formal reputation only mirrors the informal one, therefore it is important to help informal reputation evolve. Some techniques that help achieve this are:

  • allowing and encouraging public communication;
  • giving users their own space where they can express themselves;
  • giving positive feedback;
  • rewarding high reputation (a common way to this is giving more access or power).

Problems

A possible vulnerability in transaction-based reputation systems is when users have an incentive to rate unfairly. For example, sellign MLM services in eBay might distort the ratings, because the buyer will have to resell the same item he bought, therefore even if it is of bad quality, rating the seller negatively would be against his own interests.

Existing examples

  • Slashdot is a community-driven news site, which uses reputation to select moderators and metamoderators, and also to determine the starting rating of a comment (the rating can then be changed by moderation).
  • Kuro5hin is a community-driven discussion website that uses reputation to select moderators, and to filter comments.
  • Advogato is an open source community site which uses the Advogato trust metric as a reputation (the reputation of a user is equal to the site owner's trust in him) to determine who can post. Trust is defined as competence in open source programming.
  • eBay, the leading online auction site, uses reputation collected from buyer feedbacks to give information about sellers to potential buyers.
  • Amazon, a leading online store, uses reputation based on feedbacks and other aspects like number of reviews and real-world identifiability to rate their reviewers.
  • RateMyTeachers.com uses rating-based reputation ro rank teachers.
  • Outfoxed uses reputation and trust to evaluate and filter information provided by its users about web sites.
  • "reputation providers" like iKarma and Rapleaf offer standalone reputation services based on real-world identification.
  • expert exchange sites like AllExperts use rating-based reputation rank the experts the users can ask questions from.

Application in Fusion

As with trust, reputation can be used:

  • as mere metadata: users could see some sort of symbol next to the names of their peers, showing how much reputation they have in the community. Reputation can mean general trustworthiness, activity in the community, or expertise in a given field.
  • to fight recommendation spam, content or metadata pollution, and similar "disinformation" attacks, by weighing inputs. (Resistance against sybil attacks is important here: newcomers should be given zero weight.)
  • to rank comments.
  • to punish freeloading and control resource sharing.

Related tools

  • Reputation systems can be seen as a special type of recommendation systems, where the users recommend each other instead of some external set of entities.
  • Many reputation systems are the generalizations of rating: both are based on users assigning scores to each other, but while rating systems use averaging or similar simple calculations, reputation systems can be much more complicated.

External links

Personal tools