Two Social Concepts in Virtual Communities: Trust and Reputation
aa r X i v : . [ c s . D C ] F e b Two Social Concepts in Virtual Communities: Trustand Reputation
Yusuf Samil Ezer
Intelligent SystemsChristian-Albrechts-Universit¨at zu Kiel
Kiel, [email protected]
Abstract —Our social interactions mainly depend on the socialphenomenon called trust. We evaluate our trust in our peerto decide whether to start an interaction or not. When ourinformation about the peer is not sufficient, we use the knowledgeof others. This knowledge can also be referred to as the reputationof the peer in the community. Like real-life communities, trustand reputation play a key role in virtual communities, too. Thesetwo notions help us overcome the complex interactions betweenagents in virtual communities. In previous studies regarding thistopic, the social aspect of trust and reputation is partly ignored.In this paper, we will review an article which we accept as astarting point and compare it with another article that providesa more advanced model. Additionally, a new trust model whichis mainly based on sociological notions will also be introduced.
Index Terms —trust, reputation, self-organized systems, virtualcommunities
I. I
NTRODUCTION
One of the most important notions affecting our everydaysocial life is trust. Most of the interactions in a society dependon it and it is a very fundamental concept in our daily life [1].For example, when we are shopping online, first we evaluatethe trustworthiness of the website to be sure if shopping issecure. Trustworthiness in this context is based on our previousknowledge about the website. If we do not have enoughknowledge to evaluate the trustworthiness, then we check theinformation of others, or the reputation of the website. We alsouse trust and reputation for example to choose the product thatwe want to buy on the website. The comments for the product,our trust in the brand, or whether we used the product beforeplay an important role in the decision-making process.Trust not only affects our social life but it also has reper-cussions in a variety of fields such as economy and politics.As trust provides us with the internal security in an uncertainenvironment in which we lack the necessary information [2], itis an essential notion in our lives. Trust also plays an essentialrole in virtual communities such as self-organized systems.In these communities, healthy communication between agentsis established with the help of trust and reputation. So it isrequired to transfer these concepts from social life to the fieldof informatics. However, it is not that easy to define andrepresent them mathematically for computation.The first problem is that, because trust is an abstract concept,it does not have a universal definition that can be used in allresearch areas. The researchers in the social sciences have proposed different approaches to define trust in a social sense.Our first goal is to find a suitable definition based on theliterature in this field. Secondly, we have to formulate thisdefinition mathematically in a trust model which determinesthe trustworthiness of the other side. Until today, varioustrust models have been developed by researchers for thecomputational area. They have used different definitions oftrust and reputation and improved different strategies for theirmodel. For the purposes of this paper, we have chosen twodifferent fundamental studies in this area. The first one, whichwe will accept as the base article for our research, is thesystem of Abdul-Rahman et al. [2]. They approach trust andreputation from a social point of view and provide a model inthis sense. We have also used this method in our trust model.The second study which we will accept as the reference pointis the article of Tomforde et al. [3]. They have developed a veryadvanced model which inspired us when we are developingour model. For convenience, the article “Supporting Trust inVirtual Communities” [2] is referred as the “base article”,the article “Representation of Trust and Reputation in Self-Managed Computing Systems” [3] is referred as the “referencearticle” for the remainder of this paper.The outline of this paper is as follows: In section II, defini-tions for trust, computational trust, and reputation are given toprovide a common perspective when evaluating these concepts.Section III discusses the two articles that we mentioned above.In this section, we have analyzed the base article in detail andcompared it with the reference article. In section IV, we haveintroduced our trust model. Lastly, section V concludes thepaper. II. T
RUST AND R EPUTATION
Trust and reputation are two nested notions that are stronglyrelated to each other. We can understand them better withthe help of an analogy. Data and information have also avery comparable relationship to these concepts. Data is a purefact that does not say anything without an interpretation. Butinformation is the interpreted and processed result of data orcollection of data. Very similar to this relation, reputation is theknowledge about an entity acquired in the past and does notgive us an opinion without an interpretation and trust gives usthe ability to interpret this data. To be more precise, reputations the knowledge that we had in the past and trust is the resultof this knowledge to make more reliable decisions.After this basic explanation of trust and reputation, we candefine them more elaborately and take a look at how they aredefined in the literature.
A. Definition of Trust
Trust can be assessed from different perspectives. For exam-ple, in [4], Marsh discusses the concept of trust in a variety ofways such as sociological, biological, etc. But our focus willbe on the sociological side of it. Since trust arises naturallyin social environments and is a feature of collective units likegroups or collectivities [5], it cannot be conceived in the senseof separate individuals. Gambetta’s definition below [6] oftrust is commonly used in literature and we will also it asa starting point in this article:“... trust (or, symmetrically, distrust) is a particularlevel of the subjective probability with which anagent assesses that another agent or group of agentswill perform a particular action, both before hecan monitor such action (or independently of hiscapacity ever to be able to monitor it) and in acontext in which it affects his own action”Based on this explanation, we can say trust is the subjectiveprediction of a trustor that a trustee behaves in a certainway. Therefore, there is no universal method to evaluate thetrustworthiness of a trustee because the evaluation processdepends on the individual perception of the trustor. However,we will take into account the characteristics of trust which areintroduced in the base article. This should help us to have acommon perspective when defining trust.
B. Computational Trust
Over the last few decades, the requirements for computationin the area of computer science has seen a gigantic growth.To satisfy this need, computations have substantially movedfrom a single computer to the distributed systems. However,some further techniques, policies, and processes are needed toprovide healthy communication between peers in a distributedsystem. Especially for choosing a “good” peer, we must havea reasonably good decision system.In decentralized systems, which resemble distributed sys-tems, there is no centralized administration. So the participantsof the system cannot identify the other side by requesting acertificate from an authority such as a “Certificate authority”.Therefore, the agents in the system have to contact each otherto make acquaintance with the other side. The purpose of thecomputational trust is to grant a valid decision by choosing apeer.Computational trust tries to imitate the real world trust thatwe have in our social life. Until today, the researchers in thisfield proposed various trust models. In these models, trust isgenerally represented as a normalized numerical value between0 and 1 [7]. Some other models use different representationsfor example a binary metric that only takes 0 or 1 as a value.Trust models usually work in the following way: 1) Input (knowledge about the agent) is given to the trustmodel (The input can be based on previous interactionsor the reputation of the agent in the community).2) Based on that input trust is calculated.3) Finally, a decision is made about the trustworthiness ofthe agent.
C. Reputation
Similar to trust, reputation is also a concept that comes fromdaily social life. Therefore, we need to define reputation in asocial sense first. Reputation in social groups is the evaluationof a participant by other participants. The behaviors of theparticipant in interactions shape its reputation in a good or badway. Although sometimes we have enough information aboutthe participant to evaluate its trustworthiness, our informationis usually not sufficient for an evaluation. If we had completeinformation, then of course we would not need trust anymore[2] because then, we could predict what the entity will do. Asthis is not possible, we can use reputation to cope with theseuncertainties in daily life by choosing reliable people [8].III. R
ELATED W ORK AND C OMPARISON
In the area of computational trust and reputation, the re-searchers developed and proposed several models. One of themain goals of this paper is to review the base article, whichwe will accept as a starting point, analyze its applicability,and elaborate on it. In this section, we will also compare thebase article with the reference article. The both articles arementioned in section I.
A. Abdul-Rahman and Hailes
First, we present the base article and its applicability.
1) Definition of the Trust and Reputation:
The base articlemainly tries to implement characteristics of real-world trustin the virtual medium. For that purpose, they have referredto the social sciences and defined trust and reputation in asocial sense. Thereafter they have listed some characteristicsof trust in social life which are also important in the virtual-implementation. All of these listed characteristics of trust wereapplied in their trust model. Since the model is essentiallyadjusted according to external and internal information, thenotion of reputation has especially great significance in thismodel.
2) The Trust Model:
The trust model is centered on theexperiences of the agent itself and the recommendations fromother agents. It combines these two information resources witha specific method and gets a final trust degree. In this section,we will give a short explanation of the trust system.In the model, there are four trust degrees ( td ) which are“ very trustworthy (vt) ”, “ trustworthy (t) ”, “ untrustworthy (ut) ”and “ very untrustworthy (vu) ”. Every evaluation of the trust-worthiness of an agent should match at the end to one of thefour degrees. But they are not general decisions, rather everytrust degree should be associated with a context, because trustis context-dependent according to the article. For example, wecan say “I trust Mr. X for car repairing.” but “I don’t trust Mr. for housekeeping”. So the trust degree td of an agent a aboutan agent b should have context c . This is called in the model direct trust because the agent a evaluates the trustworthinessof b after a direct experience. t ( b, c, td ) The second usage of trust is the evaluation of the trust-worthiness of recommenders, which is called recommendertrust ( rt ) . An agent a evaluates the trustworthiness of arecommender agent b ( rtd ) in a context c . With that, the agent a can distinguish malicious recommender agents that may lieor give inconsistent information. rt ( b, c, rtd ) An agent uses two different data structures to store trustinformation, namely set Q and R . Also, the outcome of anexperience e is graded with one of the four degrees in set E = { vg, g, b, vb } respectively very good (vg), good (g), bad(b), very bad (vb) . They correspond to the four trust degreesabove. Q is for direct experiences and it holds agents’ name (set A ), experience results (set S ) and contexts of trust (set C ).In set S , there are four values s = ( s vg , s g , s b , s vb ) forexperiences with each agent, so S = { ( s vg , s g , s b , s vb ) } .After each experience the corresponding value incerements byone. For instance, we have in the beginning the set (0,0,0,0)respectively ( s vg , s g , s b , s vb ) . If the result of the experienceis good (g) , the set will be (0,1,0,0). This feature of trust iscalled dynamism and it means that trust can be changed atany time. Q ⊆ C × A × SR holds information of recommender agents. The purposeof this set is to adjust the recommendation according to ourperception. A parameter called semantic distance helps us tomeasure the similarity between the opinions. We need thisparameter because according to the trust characteristics, trustis a “subjective probability” and not transitive. For example,an agent x recommends that agent y is untrustworthy . How-ever, our opinion is the agent y is trustworthy . We shouldadjust the future recommendations from x by incrementingthe trust value one (because there is only one grade between trustworthy and untrustworthy ). This approach makes themodel robust against malicious recommenders. R ⊆ C × A × T For every recommendation, we store recommenders’ name(set A ), contexts (set C ) and the adjustment set. For adjust-ments, we have the set T which consist of four other sets { T vg , T g , T b , T vb } . After an adjustment is made, the value isstored in the corresponding set. The value of an adjustment isthe difference between grades. If we take the example abovethe set T will be ( {} , {} , { } , {} ) .The first formula used in the model is for direct trust. Asmentioned above, after every interaction with an agent the corresponding value in set S is incremented by one (1). Themaximum of these values is accepted as the trust degree (2). Ifthere is more than one value for max ( s ) , the table introducedin the article for uncertain values is used. e ∈ E, s e = s e + 1 (1) ∃ td ∈ E ∀ s e ∈ s, ( s e = max ( s )) = ⇒ ( td = e ) (2)To evaluate the trustworthiness of recommenders, all adjus-ment values in set T are used. Let T a = T vg ∪ T g ∪ T b ∪ T vb .To get the recommender trust degree (rtd) , we take the mod of the absolute values in T a (3). rtd = mod ( {∀ x ∈ T a | | x |} ) (3)For each type of experience e ∈ E there is a semanticdistance value in the tuple sd = ( sd vg , sd g , sd b , sd vb ) . Thevalue is calculated by taking the mod of the corresponding T set (4). ∀ e ∈ E, sd e = mod ( T e ) (4)Evaluating a recommendation is done by combining the recommendation (rd) with the corresponding semantic distance sd rd (5). For example, if the recommendation (rd) is good (g) ,we combine the semantic distance for good ( sd g ) with rd . Thenew recommendation value is denoted by rd ∗ . The symbol ⊕ denotes a simple summing operation over the trust degrees. Letassume sd g = 1 and rd is good , the result will be g ⊕ vg . rd ∗ = rd ⊕ sd rd (5)If an agent gets multiple recommendations, they are com-bined using recommender weights . These weights are usedto calculate the particular effect of the recommender on therecommendation result. The rtd value of the recommenderdetermines its recommender weight . The possible rtd values (0 , , , are matched to the weights (9 , , , respectively(i.e. an agent with rtd = 0 has the weight ). Additionally, ifthe rtd value is unknown, the weight is .To combine recommendations the weights of all recom-menders who recommend an agent a for a certain experience e ∈ E are added up (6). L a is the set of all weight values ofthe recommenders of an agent a . ∀ e ∈ E ∀ w i ∈ L a , sum e = | L a | X i =1 w i (6)The maximum of sum e values is the combined trust degree(ct) . As it is the case for trust degrees, if we have more thanone maximum sum e , the uncertainty table should be used tocalculate the result.Finally, the authors recommend that some informationshould exist in the knowledge base of a newcomer agent beforeit joins a community. For example, there should be somerecommendations in set R before the agent starts interacting.Because the authors think that in the real-life a newcomer getssome information about an environment before joining it. ) Applicability: The model is well defined and the char-acteristics of trust in social life are clearly represented. Themathematical formulas are easy to understand and implement,which is one of the goals of the article. An example applicationis also provided to show the applicability. However, thisexample is only a mathematical demonstration. The model wasnot implemented and tested in a virtual medium. So the realperformance of the overall system is unknown to the readersof the article.The only problem in the model which is mentioned in [9]is that the system cannot distinguish between a liar agent andan agent that thinks differently. An agent tries to interpret arecommendation according to its own perception. For example,a non-malicious recommender who just thinks differently saysto another agent what he thinks. But if the other agent hasa different perception, he will mark the recommender asuntrustable for future recommendations. In this case, it isnot possible to decide if the recommender is a maliciousagent or just has a different opinion. This may not seemimportant in general but some particular cases should alsobe taken into account for the robustness of the system. Forexample, if these two types of agents are equated and notdistinguished, the agent that thinks different than us cannotgive recommendations in the future, because he/she is markedas untrustworthy. So we will lose an agent who is maybetrustworthy but has a different opinion.
B. Comparison
Here, the reference model is compared to the base model.The trust and reputation model of the base article is arather self-enclosed system. This means evaluations of thetrust degree is done within the system of an agent and theresult matters only to the agent itself. Other participants in thecommunity do not know how their behavior is evaluated by acounterparty. In contrast with this, the model of the referencearticle uses incentives and sanctions. For example, agent a saysto agent b that he will get a 0.7 trust point when he performs acertain action. So agent b has a motivation to get an incentivefrom agent a . Also, a sanction system is used for the exactopposite of this example. The incentive and sanction systemmakes agents more careful in interactions.Another important difference in the models is the forgive-ness notion. We know this notion from our social life. Weforget other people’s mistakes over time and forgive them. Thisconcept is excellently implemented in the reference system.New values have a stronger influence in the calculation thanprevious values. This helps agents who change their behaviorto integrate into the system more easily [3]. A forgivenesssystem similar to this is not implemented in the base article.Moreover, the propositions to put these models into practiceare different in the articles. In the base article, the systemperformance is not taken into account. The base article pro-vides only the mathematical implementation of the model anddoes not consider performance parameters of the system e.g.storage. The main focus of the article is to provide a socialpoint of view for defining a trust model rather than creating an efficient system. On the other hand, the reference articleaims to create a powerful model that uses system resources,such as storage, efficiently.IV. T HE T RUST M ODEL
In this section, we will provide our approach for a trustmodel. We have analyzed the base and the reference articlesufficiently to develop this model. The reference article wasespecially important when deciding on the trust metric and themodel parameters. However, our model has a very differentperspective than both articles in general. Also, we have addedanother aspect, which does not exist in neither articles, therisk value.
A. Explanation of the model
Our model acts mainly based on user preferences. The userplaces the agent within the system and sets the threshold valuesas he/she wishes, which are introduced below in section G .The algorithm in section H decides on the two character-istics of an agent with the help of threshold values. Thesecharacteristics are “trustworthiness” and “riskiness”. The usershould decide what kind of agent he wants to work with. Forexample, if the user wants to work with a trustable agent andthe riskiness is not important to him, he should adjust thesettings of the system accordingly. B. Trust metric
Various metrics are used in the previous work to measuretrust. For example, the binary metric measures trust with twodegrees (-1,1) namely good and bad, or the continuous metrichas continuous values to measure trust in a certain range as in[-1,1]. Some of these metrics are listed and assessed accordingto their advantages and disadvantages in the reference article[3]. For our model, we have decided on a discrete trust metricin the range [0,1] which has a step size of (Figure I). Aftereach interaction, we choose a value from the range accordingto the agent’s behavior.
Fig. 1. The range of the trust metric which might correspond to “the request was repliedand the answer was correct, but it was delayed”. Or as anotherexample, the trust degree can correspond to the behavior“the request was replied but the answer was wrong”. So theuser can define these values as he/she wishes. We will notimplement this part in our algorithm and we expect the userwill define them. . Experience Set
The trust degrees resulting from our interactions with otheragents are stored in a experience set . When the set is filledwith values, it is called an interaction period . The size s of this set starts with 1 and increases by one after every interaction period up to a certain size n . For example, in thefirst interaction s = 1 , in the second and third interactions s = 2 and so on. The limit n of this increment is determinedby the user beforehand. We have termed each trust degree inthe experience set with the variable T D i , for ≤ i < s , where i is the interaction number in the experience set. An exampleexperience set is shown in Table I where s = 8 . After every interaction period , the general trust degree T D gen will becalculated from the experience set and then the set will bereset.
TABLE IA
N EXAMPLE EXPERIENCE SET
T D T D T D T D T D T D T D T D D. Calculating General Trust Degree
The general trust degree
T D gen holds the trustworthinessof an agent which is calculated using (I) the experienceset and (II) the latest
T D gen . In our approach, the opinionabout the trustworthiness of an agent is less updated as the“degree of acquaintance” increases.
T D gen is updated afterevery interaction period . The number of interactions in the interaction period increases by 1 after the period is completed.It means the better we get to know an agent, the less the trustdegree is updated. This provides us to behave at the beginningof communication more carefully. However, when we havemore experience with an agent, our opinion about him/herbecomes more persistent. The limit for this update frequencycan be adjusted with the number n from the user beforehand.We will first get an average value from the experience setfor calculation. For that, we have decided to use the medianvalue instead of the mean value because the mean value ishighly sensitive to outlier data. For example, we have differentvalues in a set which are distributed around ‘0.2’. A new valueof ‘0.8’ will change the mean value too much. However, themedian value is not sensitive to outlier data like mean valueand it uses the middle value of an ordered set (7). We havedefined the variable EX med which holds the median valueof the experience set. This variable is calculated after every interaction period again. EX med = ( T D ( s +1) / , when s is odd ( T D s/ + T D ( s +1) / ) / , when s is even(7)We ignore extreme values in an experience set by using me-dian because we want to calculate the trust degree according tothe general behaviors of an agent. But it does not mean thatwe ignore these extreme behaviors of the agent completely. We will take them into account with risk value which we willintroduce below.The second required parameter to calculate the new T D gen is the latest
T D gen . To avoid confusion we have attached tothese variables a number m , where ≤ m . So the new generaltrust degree will be T D gen m and the latest general trust de-gree
T D gen ( m − . We take into account past experiences byconsidering the latest trust degree. However, past experiencesshould not have the same effect as the current experiences.As mentioned in [3], current experiences are more importantthan past experiences. Therefore the effect of the latest trustdegree depends on the parameter k , which < k . The higher k the lower effect of the past experiences in our calculation(8). This provides us also the social notion of ‘forgiveness’.So if an agent changes its behavior, we forgive it by reducingthe effect of the past behaviors in the calculation. T D gen m = (
T D gen ( m − + k · EX med ) / ( k + 1) (8)If there is no previous T D gen to calculate a new one, then
T D gen = R gen where R gen is the general reputation value (see below). E. Risk Value
Another important parameter in our model is the risk value RV . This parameter indicates how risky it is to contact anagent. If an agent has very unstable behaviors, it will beevaluated as risky. If its behaviors are not complex, it is not arisky agent. So the variation of the values in the experience setexpresses the agent’s riskiness. To calculate this variation weuse semi-deviation which is also used in other fields such asfinance to calculate risk. As distinct from standard deviation,semi-deviation measures only the negative fluctuations. In ourcase, it is a better option to use it because we should acceptan agent as risky if his/her behaviors change in the negativedirection. The changes in the positive direction do not indicatethe riskiness. For this calculation, we need the mean value ofthe experience set (9). The values lower than the average valueshould be taken into account (10). The semi-deviation of theexperience set is our risk value RV (11). x = P s i =0 T D i s (9) f ( y ) = ( , when y < x , when y ≥ x (10) RV = r P s i =0 (( T D i − x ) · f ( T D i )) N (11) N = the number of values lower than the average value If we contact with an agent for the first time, then the riskvalue RV will be equal to the threshold RV th . Otherwise theagent will be evaluated as risky and this evaluation will bebiased. . Reputation value Since we do not have a general trust degree
T D gen atthe beginning of communication with an agent, we need thereputation values at this point. But for later calculations, wewill not use them. In other words, we use reputation values asan aid to start a communication.We calculate the general reputation value R gen with a verysimilar way to the median of the experience set EX med .Firstly, we get n recommendations from other agents and eachrecommendation is represented with the variable R i where ≤ i < s . Afterward, we sort recommendation values andthen get their median (12). We accept this median value asthe T D gen .If we cannot get any reputation value from others, thegeneral trust degree T D gen will be equal to the threshold value
T D th , which will be introduced in the next section. Otherwise,the agent will be evaluated as untrustworthy in the beginningand this opinion will be biased. R gen = ( R ( s +1) / , when s is odd ( R s/ + R ( s +1) / ) / , when s is even (12) G. Thresholds
Our model is flexible during the decision-making processfor evaluating trust. We do not have default thresholds forparameters. The threshold values should be given by thesystem administrator who set up the agent. For example, ifthe system owner sets the threshold of the trust degree to 0.4,we will accept a value over 0.4 as trustworthy and any valuesbelow this threshold will be considered as untrustworthy. Thesame is valid for risk value. If the risk value exceeds the giventhreshold, we then accept the agent as risky. The thresholdsare named as the following: • T D th → Threshold for the trust degree • RV th → Threshold for the risk value
H. Algorithm
We have explained the details of the trust model so far.In this section, we will provide an algorithm that uses theparameters introduced in the previous sections. It calculatesthe final result for the agent to decide whether to contact theother party or not.
Algorithm 1
Algorithm for the trust model a = getAnAgent() if firstInteraction then RV = RV th if isThereAnyRecommandationFor(a) then T D gen = R gen else T D gen = T D th end if else T D gen = calculateTD gen() ⊲ Eq.: 8 RV = calculateRV() ⊲ Eq.: 11 end if if ( T D gen ≥ T D th ) and ( RV < RV th ) then trustworthy = True risky = False else if ( T D gen ≥ T D th ) and ( RV ≥ RV th ) then trustworthy = True risky = True else if ( T D gen < T D th ) and ( RV < RV th ) then trustworthy = False risky = False else if ( T D gen < T D th ) and ( RV ≥ RV th ) then trustworthy = False risky = True end if characteristics = [trustworthy, risky] return characteristicsV. C ONCLUSION