# P2P I NCENTIVES Dror Marcus. Yoni DenyConfess HadasHadas Deny Redo the testYoni is free Hadas is expelled from school Confess Yoni is expelled from school.

## Presentation on theme: "P2P I NCENTIVES Dror Marcus. Yoni DenyConfess HadasHadas Deny Redo the testYoni is free Hadas is expelled from school Confess Yoni is expelled from school."— Presentation transcript:

P2P I NCENTIVES Dror Marcus

Yoni DenyConfess HadasHadas Deny Redo the testYoni is free Hadas is expelled from school Confess Yoni is expelled from school Hadas is free Both fail this course

O UTLINE Optimizing Scrip Systems[1][2] Modeling the problem Finding optimal solutions One hop reputation for BitTorrent[3] Improving Tit-For-Tat

O PTIMIZING S CRIP S YSTEMS What is Scrip? Non-governmental currency Users pay other users for service with scrip Free riding is prevented through the need to earn scrip

O PTIMIZING S CRIP S YSTEMS How to model the problem? Determine the amount of money in the system How to set the pricing in the systems How do newcomers effect the system

O PTIMIZING S CRIP S YSTEMS : M ODEL Game of rounds Each agent i:  : cost of satisfying a request  : probability of being able to satisfy a request  : value of having a request satisfied  : discount rate  : relative request rate (cost \$1 if granted) : agent i ‘s utility in round r Total utility of an agent:

O PTIMIZING S CRIP S YSTEMS : INITIAL INTERESTING RESULT Altruism & Hoarders There exists an value C, that depends only on   and  such that, in G(n, , ,  ) with at least C altruists, not volunteering is a dominant strategy Set C > log 1-  (  ) Player’s request get satisfied for free with prob. Most additional expected utility to gain by having money is:

O PTIMIZING S CRIP S YSTEMS : INITIAL INTERESTING RESULT - CONT Example:  each player can satisfy 1% of requests)   day (≈ 0.95 per year)  = 1 per day  Only need C > 1145 Therefore, adding reputation system on top of existing P2P systems to influence cooperation will have no effect on rational users! Is this a problem?

O PTIMIZING S CRIP S YSTEMS : M ODEL R EVISED Game of rounds An agent’s type t = (  t,  t,  t,  t,  t )  t : cost of satisfying a request  t : probability of being able to satisfy a request  t : value of having a request satisfied  t : discount rate  t : relative request rate (probability to need something)

O PTIMIZING S CRIP S YSTEMS : S TRATEGY Picking a wining strategy for players Threshold strategy to win S k Show that this is the best strategy Threshold Strategy In some round, I have k dollars and have to decide whether to volunteer. What should I do? S k : Volunteer if I have less than k dollars k is your “comfort level,” how much you want to have saved up for future requests S 0 corresponds to never volunteering and S  corresponds to always volunteering Threshold Strategy In some round, I have k dollars and have to decide whether to volunteer. What should I do? S k : Volunteer if I have less than k dollars k is your “comfort level,” how much you want to have saved up for future requests S 0 corresponds to never volunteering and S  corresponds to always volunteering

O PTIMIZING S CRIP S YSTEMS : P LAYING THE GAME Examining the game How to describe the state of the system?

O PTIMIZING S CRIP S YSTEMS : P LAYING THE GAME How to describe the state of the system? Look at the distribution of Money. Each state in the system represents the amount of money each player has. Specifically: Each player can have {0,….,k} dollars (\$) Let  k denote the set of probability distributions on {0,…,k} represents the fraction of people that have each amount of money Each state s has its own distribution

O PTIMIZING S CRIP S YSTEMS : P LAYING THE GAME The system is analyzed as a Markov Chain The system always ends up in the same place! Markov Chain ≈ The probability of moving from the current state to another only depends on the current state of the system. (We don’t care about the past) Markov Chain ≈ The probability of moving from the current state to another only depends on the current state of the system. (We don’t care about the past)

O PTIMIZING S CRIP S YSTEMS : P LAYING THE GAME The system is analyzed as a Markov Chain The system always ends up in the same place*

O PTIMIZING S CRIP S YSTEMS : R EACHING E QUILIBRIUM Equilibrium exists There is an efficient algorithm to find this equilibrium Agent response : How to set its threshold (k) If  t is not too small, and every agent but i plays a threshold strategy, then agent i has an  -best response that is a threshold strategy. Agent i’s best response function is monotone in the strategies of the other agents

O PTIMIZING S CRIP S YSTEMS : R EACHING E QUILIBRIUM

O PTIMIZING S CRIP S YSTEMS : R ECAP Have a model to describe the system System reaches a steady state (money distribution) Equilibrium exists What Next?

O PTIMIZING S CRIP S YSTEMS : OPTIMIZE PERFORMANCE Improved performance Better social welfare i.e. More utility How to improve performance? Increasing the amount of money in the system up to a certain point, after which the system experience a monetary crash The Capitol Hill Babysitting Co-op

O PTIMIZING S CRIP S YSTEMS : OPTIMIZE PERFORMANCE The Capitol Hill Babysitting Co-op Issued supply of scrip: each coupon work 30min babysitting. Initially all saved for a rainy day More coupons were issued Most couples felt “rich”, no one wanted to babysit

O PTIMIZING S CRIP S YSTEMS : OPTIMIZE PERFORMANCE Given an Equilibrium, how good is it? If a request in satisfied, social welfare increases by  t -  t. What are the chances for a request being satisfied: Requester needs to have money – Probability 1-M 0 Need to have a volunteer – Probability ≈1 Total expected welfare summed over all rounds: Therefore minimizing M 0 maximizes utility!

O PTIMIZING S CRIP S YSTEMS : OPTIMIZE PERFORMANCE Given an Equilibrium, how good is it? If a request in satisfied, social welfare increases by  t -  t. What are the chances for a request being satisfied: Requester needs to have money – Probability 1-M 0 Need to have a volunteer – Probability ≈1 Total expected welfare summed over all rounds: Therefore minimizing M 0 maximizes utility! HW? – How did we reach this equation?

O PTIMIZING S CRIP S YSTEMS : OPTIMIZE PERFORMANCE

O UTLINE Optimizing Scrip Systems[1][2] Modeling the problem Finding optimal solutions One hop reputation for BitTorrent[3] Improving Tit-For-Tat Incentives for Live P2P streaming (bonus ) Creating incentives to stream video

O NE HOP REPUTATION : S HARING IN THE WILED Large scale measurements of bittorent “in the wild” More then 14 million peers and 60,000 swarms studied. Data was collected in two traces BT-1 (~13K swarms) and BT-2 (~55K Swarms). Measurements were used to analyze both current BitTorrent performance and the new “one-hop” method effectiveness.

O NE HOP REPUTATION : B IT T ORRENT P ERFORMANCE Performance and availability are extremely poor Median download rate in swarms is 14 KBps for a peer contributing 100KBps. 25% of swarms are unavailable.

O NE HOP REPUTATION : B IT T ORRENT P ERFORMANCE - CONT Weak Incentives Peers at low end of capacity see large returns in contributions Increase by 100-fold only improves by 2-fold The incentive is the weakest for the peers that can help the most

O NE HOP REPUTATION : B IT T ORRENT P ERFORMANCE - CONT Altruism Seeds do not have requests and can’t use tit-for-tat for making decisions. Too many seeds weakens contribution incentives. Too few seeds also weakens incentives since peers quickly run out of data to trade. Overall performance is mixed Some swarms enjoy many altruistic donations (enabling free-riding). Other swarms are “starved” for data

O NE HOP REPUTATION : W HAT CAN BE DONE ? Can long-term history between peers be used (instead of tit-for-tat)?

O NE HOP REPUTATION : W HAT CAN BE DONE ? Can long-term history between peers be used (instead of tit-for-tat)?

O NE HOP REPUTATION 97% of all peers observed in trace BT-2 are connected directly or through one of the 2000 most popular peers.

O NE HOP REPUTATION P ROTOCOL Notations and peer state information

O NE HOP REPUTATION P ROTOCOL Each peer selects it’s top K intermediaries. When two peers meet first, they exchange top K sets and compute intersection. For each intermediate, peers request receipts of contributions. Multiple peers can serve as intermediaries. Receipt messages are sent periodically from receiver to sender. Also update messages are sent to intermediaries.

For each peer P request If P interacted with me before use: Otherwise get random subset of joint Top K mediators and compute reputation according to: Where: O NE HOP REPUTATION D EFAULT POLICY

For each peer P request If reputation is above a threshold, send data to P at rate proportional to it’s reputation O NE HOP REPUTATION D EFAULT POLICY - CONT

O NE HOP REPUTATION D EFAULT POLICY

My reputation is on the line! Even if a “evil” peer convinces a popular intermediary to recommend him, his own good standing will reduce and he will no longer be popular. O NE HOP REPUTATION R EPUTATION

Peers can gain good standings by: 1) Contributing to an intermediary directly 2) Contributing to a peer that satisfied the intermediary request in the past In (1), there is an increase of reputation in the intermediary. In (2), reputation of one peer is simply moved to the other. O NE HOP REPUTATION L IQUIDITY

Total reputation (liquidity of intermediary) is limited by its own demand. Solved by inflation factor of 100. Inflation also provide incentive to be intermediary. Potential for economic inflation. O NE HOP REPUTATION L IQUIDITY

O NE HOP REPUTATION E VALUATION

Data overhead Maximum overhead for popular intermediary of 3MB per day. How good is the one hop coverage (In BT-2 trace)? Median number of shared intermediaries is 83 More than 99% of peers have at least one common entry in their top K. O NE HOP REPUTATION E VALUATION

How quickly can a new peer determine intermediary value? After a few dozen interactions with randomly chosen peers. O NE HOP REPUTATION E VALUATION - N EW U SERS

How quickly can a new peer gain reputation? Peers observe popular intermediaries frequently. New users both encounter opportunity to gain standings and recognize it. What can they exchange? O NE HOP REPUTATION E VALUATION - N EW U SERS

Evaluation show concrete improved performance, regardless of strengthened incentives. 25 MB file download was tested on PlanetLab Historical information allows peers to find good tit-for-tat peering. Results show a median reduction in download time from 972 seconds to 766 seconds O NE HOP REPUTATION E VALUATION – P ERFORMANCE

Q UESTIONS ?

[1] Efficientcy and Nash equilibria in a scrip system for P2P networks Ian A. Kash, Eric J. Friedman, Joseph Y. Halpern [2] Optimizing scrip systems: Eciency, crashes, hoarders, and altruists Ian A. Kash, Eric J. Friedman, Joseph Y. Halpern [3] One hop Reputations for Peer to Peer File Sharing Workloads Michael Piatek Tomas Isdal Arvind Krishnamurthy Thomas Anderson. P APERS