Preliminary description of thesis Modeling a P2P Reputation System based on a Recommendation Payment Scheme Incentives for fair recommendations I. INTRODUCTION P2P systems and applications are attracting a lot of attention because they mimic human communities and support useful applications. Due to their social and decentralized nature trust plays an essential role for their functionality. P2P reputation systems provide trust mechanisms for p2p applications. However, reputation systems are targets of multiple kinds of attacks. In order to be efficient, designers should take into considerations the various attacks that can threaten the specific reputation system. We propose a p2p reputation system for P2P e-communities. The reputation system incorporates mechanisms against various kinds of attacks, namely repudiation, man-in-the-middle attacks, bad mouthing, which enhance its credibility and robustness. It uses a payment based incentive scheme for recommendation exchange which gives incentives to peers to give as many honest and accurate recommendations as possible. This scheme uses a protocol for recommendation exchange which is based on a PKI for the encryption, authentication and non repudiation of recommendations. Furthermore, our proposed reputation system incorporates a dynamic reputation metric and takes into consideration the recommendation reputation of recommenders, so as the more recent and more credible recommendations to be taken into account in the reputation estimation of a peer with greater weight. Our goal is to design a reputation system which will resist the attacks that can threaten it. For achieving this goal we have taken into consideration credibility considerations, which have been pointed in previous research as[Ruohoamma et al. 2007] and [Koutrouli et al]. II. REPUTATION MECHANISM FOR E-COMMUNITIES A. Applicaton scenario for e-communities An e-community of experts can/want to cooperate in projects by exchanging ideas / papers / pieces of code, or engaging in future synergies for a project Each scientist has an expertise (knowledge) in one or more fields. Examples of fields may include: Programming Communications Literature Economics, etc. Level of expertise is expressed in a particular scale, e.g. a range of integers in {1,…,5}, where numbers express levels of expertise in ascending order. A peer A needs a service regarding a specific field and queries the community to find a peer who can offer this service. Peer B who receives such a query and is an expert in the subject sends an offer. Peer A needs to know whether peer B can give him satisfying information about the specific subject. It looks into its own information and if this information is not enough to reach a decision, it asks other peers for recommendations regarding B. It selects such recommendations and estimates B´s reputation based both on its own experiences and received recommendations. Every peer keeps information regarding its transactions and the QoS it receives in each transaction, in a table called Local Transaction Evaluation Table (LTE table). TABLE I. Peer id LOCAL TRANSACTION EVALUATION TABLE (LTE TABLE) Time Field of expertise (fi) Service id ServiceOutcome Where: Peer id: Id of the counterparty in a transaction Time: time of the transaction Field of expertise (fi): the specific field the peer has a level of knowledge Service id: Id indicating the type of service (e.g. paper review, paper recommendation, advise, code acquring) ServiceOutcome: Each type of service has been asigned a particular level of importance, which is symbolised as ServiceImp. TABLE II. SERVICE IMPORTANCE TABLE (SI TABLE) Service id ServiceImp The evaluation of a transaction is symbolized as TransEval and is a function of the ServiceImp and SerciceOutcome. TransEval = f(ServiceOutcome, ServiceImp) B. Reputation model We describe the reputation estimation mechanisms in various cases, according to the amount of available transactional information (direct reputation, indirect reputation, overall reputation). A peer A wants to find some information regarding B´s knowledge in field fx. 1) 1st Case: Adequate local transactional information Peer A looks into the table with its transactional information in order to check if it has adequate information regarding B in fx so as to reach a trust decision. To do that, A estimates the Direct Reputation of B in fx and also a confidence measure for this direct reputation value based on the amount of available information. The formulas for Direct Reputation and related confidence are given in the following section. If A has adequate information regarding B, then it sends its transaction query to him. After the transaction it enters a relative evaluation for the transaction in its own transaction table. 2) 2nd Case: Not enough local transactional information If it has some transactional information for peer B with low confidence (minimum than a threshold) or if it does not have information at all, then it sends recommendation queries for B to the neighbouring peers which have a recommendation reputation value higher than a minimum threshold. In this scenario, every peer keeps a Recommendation Reputation Value Table (RRV table which holds reputation values for each other peer from which it has received recommendations (Recommendation Reputation Value Table - RRV table). TABLE III. RECOMMENDATION REPUTATION VALUE (RRV TABLE) Remote PeerId RecRepValue If a peer who receives recommendation queries regarding a peer B has information regarding B’s transactional reputation from direct experiences, it sends them (aggregated as an opinion, consisting of a pair <recommendation, confidence>) to the requestor. The requestor aggregates the received recommendations and estimates the indirect reputation of the peer B. Then it estimates the overall reputation value of B as the sum of the direct and indirect reputation and selects it if its overall reputation is hgher than a threshold. After the transaction with the selected peer, it updates the recommendations received by the recommenders of this peer, according to the QoS evaluation of the received service. Our reputation model is illustrated in the flowchart presented in Figure 1. Figure 1: Reputation System Flowchart III. RECOMMENDATION MECHANISM In this section we describe a novel payment scheme used by our reputation model for recommendation exchange (Credible Recommendation Exchange Payment Scheme) and a novel mechanism for recommendation exchange which uses special peers to support CREPS through a Public Key Infrastructure. A. Credible Recommendation Exchange Payment Scheme We propose a novel recommendation exchange mechanism based on a secure payment scheme which provides incentives for honest recommendations. This mechanism enhances the credibility of our reputation model by making it robust Buy SmartDraw!- purchased copies print this document without a watermark . Visit www.smartdraw.com or call 1-800-768-3729. against a number of attacks such as bad mouthing, sybil attacks and repudiation. Our Credible Recommendation Exchange Payment Scheme (CREPS) is described in the following: A peer A which wants a recommendation pays a value v for it to the recommendation provider B. The value depends both on A´s and B´s reputation as recommenders (RecRepa and RecRepb) We assume that RecRep takes values from a set of discrete values, each one corresponding to a level of reliability, e.g {1, 2, 3, 4} corresponding to {low, medium, high, very high} o o o If RecRepb-RecRepa<0 then v=v1 If RecRepb-RecRepa=0 then v=v2 If RecRepb-RecRepa>0 then v=v3 Peer B will be selected to giver recommendations only if RecRepb >=medium CREPS gives peers incentives for honest recommendations so as to have the maximum utility from the reputation system. Peers are motivated to provide recommendations to recommendation requester and also to provide honest recommendations to recommendation requesters so as to acquire high RecRep and be paid with v3. In this way their stock is getting higher. Furthermore, peers which give honest recommendations and have a high RecRep valued, will pay less when asking for recommendations (they would prefer to pay v1 or v2 and not v3). The higher the stock a requester has the more recommendations the requester can aquire. CREPS provides, thus, incentives for honest recommendations both to recommendation providers and recquesters. Some issues regarding CREPS How will RecRep be evaluated o For example: there will be a comparison between the recommendation(s) provided by B about a trustee C (or more than one trustees) and the actual outcome(s) of a transaction with the trustee(s) and RecRep will be updated based on this comparison What will be a recommendation o For example: the local evaluation of the trustee´s reputation rep1 based on local interactions with the trustee What kind of payment will be used? o What will be value v? What will be the values v1, v2, v3, …? The following should hold: Σvi>=Σvj, where vi is the ith payment an entity receives for a recommendation (of type reps) it gives (so Σvi is the total stock of "money" the entity holds), and vj is the jth payment an entity gives for a recommendation (of type reps) it asks (so Σvj is the total amount of money the entity has to spend in order to aquire the desired recommendations for other entities) (If the trustor receives low recommendations for a specific entity and then, after estimating the entity´s reputation, decides not to make a transaction with the trustee, then the trustor has spent an amount of money which did not help it to make any profit. However, it can then sell the bought reputation (and specifically a combination of reps(trustee) received from witness and repr of witness) for the specific trustee to other entities which want recommendations for this specific trustee). B. Protocol for exchanging recommendations and updating deposits 1. a peer A sends B a query for a recommendation regarding the trustee C, which also contains repr(B) 2. 3. 4. 5. 6. B checks if it has relevant information and if it has, it sends A a message which contains repr(A) and also the estimated price v of the recommendation. If it does not have relevant information, it sends A a negative answer. A and B register their agreement and the price to specific peers. Specific peer sends ok to B if A has available stock to pay for the recommendation. B sends A recommendation regarding C. The stock of A and B are updated by value v on the specific peer and peers are informed regarding their stock. IV. REPUTATION ESTIMATION A. Estimation of direct, indirect and overall reputation Repa,b=DirectRepa,b + Indirect Repa,b n i 1 k f (t ) recrep ( recommendation f (t )evaluationi , b , b * confidence , b ) n ti ti 1 i 1 t i 1 t f(t)= t1/t decay function [REGRET] B. Estimation of confidence C. Estimation of recommendation reputation of recommenders V. RELATIVE WORK Relative work to a) reputation systems, b) recommendation process and special peers, c) credit based recommendation models REFERENCES [1] [2] [3] Suphithat Songsiri: MTrust: A Reputation-Based Trust Model for a Mobile Agent System. International Conference on Autonomic and Trusted Computing (2006), vol. 4158, pp. 374-385 Sabater, J. and Sierra, C. 2001. Social ReGreT, a reputation model based on social relations. SIGecom Exch. 3, 1 (Dec. 2001), 44-56. DOI= http://doi.acm.org/10.1145/844331.844337 JURCA, R., AND FALTINGS, B. 2003. Towards Incentive-Compatible Reputation Management. In Trust, Reputation and Security: Theories and Practice, R. FALCONE, S. BARBER, L. KORBA AND M. SINGH, Eds., Lecture Notes in Artificial Intelligence, Vol. 2631, 2003, 138-147