Cs286r Victor Chan
Scrip Systems
Victor Chan
CS286 Victor Chan
Agenda
Scrip Systems
Peer to Peer Systems
Scrip Systems for P2P Networks
Adobe Internal2
CS286 Victor Chan
What is a scrip?
A scrip is a non governmental currency used to pay for services from others. The need to earn scrip prevents freeloading
Adobe Internal3
CS286 Victor Chan
Where is scrip systems used?
Capitol Hill Baby Sitting Co-op (Sweeney ‘77)
Couples babysitting for each other
Paid in scrips, each worth one hour of babysitting time
Low circulation of scrips resulted in “recession”
Eventually too much scrip was issued
Ithaca Hours (started in 1991)
Local currency used at Ithaca New York
500 business participating, including libraries, banks, medical centers, landlords
Used to promote local economic development, with12,000 Hours in circulation
Adobe Internal4
CS286 Victor Chan
Yootopia! (Reeves et al 2006)
Yootle, a local currency created at Yahoo! Used in prediction markets
Used to buy favors from people
Used where cold hard cash isn’t the best idea
All transactions are recorded in a ledger system
Group decision with a scrip system (Where to go for dinner?) Voting with compensation
Vickery-Clarke-Groves (VCG) Mechanism
General Decision Auction (DAUC)
Iterative Decision Auction
SMS and web interface for users
CS286 Victor Chan
Moving on
Any further thoughts on group decision or yootopia?
CS286 Victor Chan
Peer to Peer Networks
Filesharing BitTorrent, Kazaa, Gnutella, Napster
Online discussion Slashdot, Digg, etc.
Distributed computing Seti@home, Einstein@home
CS286 Victor Chan
Peer to Peer Networks in Files Sharing
Increased social welfare
Costs still exist, leading to free riding users Gnutella 70% users do not share, and 50% requests filled by top 1% users
There exist “altruistic” users that have become vital to the “health” p2p systems
However these users are expensive to host on a network and ISP’s are trying to remove them
Fair sharing does not happen since these users exist
CS286 Victor Chan
Barter like approaches:
BitTorrent Tit for Tat algorithm (Optimistic Unchoking)
Exchange upload bandwidth for download bandwidth
New peers lose out, nothing to offer
eMule Track history of previous interactions with other users
Give priority to users with good history
With large n, hard to match up
CS286 Victor Chan
Reputation based approaches:
Adobe Internal10
Internet Relay Chat (IRC) Direct client to client sharing
Set up using private messaging/negotiation
Slow for new users to gain enough “rep”
Kazaa Measure ratios of upload vs. download
To help new users, everyone is given “avg” rating
Free ride until “bad” rating, and create a new account (sybil attack)
CS286 Victor Chan
Scrip system for P2P
Benefits of having a Scrip System In history based reputation systems, no longer need to meet same peers
In BitTorrent, tit for tat can be extended to an exchange between multiple users
“The Role of Prices in Peer-Assisted Content Distribution” Johari et al
New users can be given scrip right away to participate
Problems of having a Scrip System Still vulnerable to sybil attacks
How much money to have in the system?
Inflation, bubbles, recessions just like the real economy!
CS286 Victor Chan
Scrip System in P2P networks
Efficiency and Nash Equilibria in a Scrip System for P2P Networks
Friedman, Halpern and Kash (2006)
Model for evaluating Scrip Systems in P2P Networks
Nash Equilibrium with threshold strategies
Money supply to maximize efficiency
CS286 Victor Chan
The Model
Model Asymmetric interactions in a file sharing network Unlike previous models of random matching between users
Each round uniformly select an agent to request and match with provider
Providers in the system each with β > 0 probability of fulfilling a request
Assumption: Time independence
Agent fulfilling request will pay cost α < 1
A discount factor of δ < 1 is used
Time steps are in 1/n
CS286 Victor Chan
More definitions
G(n,δ,α,β) represents a game with n agents
: agent chosen in round t to make request
: whether a given agent can satisfy request, dependent on β
: whether a given agent will satisfy the request
: the agent chosen to satisfy request. Chosen at random from willing and able
: agent i’s utility at round t
𝑝𝑡
CS286 Victor Chan
Utility functions
Standard User:
Altruistic User:
Total utility:
CS286 Victor Chan
Altruistic Users: Closer look
Always happy to upload, since cost is positive and their strategy is
for all t
If enough of these users, others become free riders and play for all t
How many altruists do you need to make everyone a freeloader?
Proposition 2.1: There is an a that depends only on δ,α,β such that in G(n, δ,α,β) with at least a altruistic users not volunteering is the dominant strategy for all standard users.
CS286 Victor Chan
How many altruists?
With no money, users have their requests filled with probability:
So even with money, their total additional utility gain is:
But if this gain is less than the cost to get money:Users will not want to pay the cost and will never choose to volunteer
CS286 Victor Chan
What does this mean?
Example with β = 0.01, α = 0.1, δ = 0.9999/day then need a>1145
Relatively small size compared to a large P2P network
In BitTorrent having 1145 Seeds (altruist) is unlikely, so we still see many leechers uploading.
Any thoughts on why amount doesn’t depend on n?
In order to establish a useful scrip system, need to remove altruistic users, or standard users will all become free riders
CS286 Victor Chan
Finding the equilibrium in a Scrip System
Users pay those that satisfy their requests $1
Total amount of money in system M
Agents using threshold strategies:
CS286 Victor Chan
Nonstrategic play of the game
System “converges” to a distribution over money
Assume everyone plays and system has M< kn dollars
State of the game can be represented as:
Total amount of money in state s Player has value in this set
CS286 Victor Chan
Distributions of Money in the System
Let be the distribution on {0,….,k} Not very useful by itself, since not all distributions can be achieved
Look at the distributions that has, where m = M/n
There is a unique distribution in d*, with maximum entropy
Markov Chain, , then with large n, will likely be in a state s, such that ds will be close to d*
Closeness is defined as the Euclidean distance between two distributions:
(
CS286 Victor Chan
Theorem
X is the random variable that the Markov Chain is in a state S at time t
After some time t, the Pr(X is in state S where ds will be close to d*) is very high.
CS286 Victor Chan
Simulation Results
CS286 Victor Chan
Simulation Results
CS286 Victor Chan
Simulation Results
CS286 Victor Chan
Game under strategic play
Goal: Show that there is a non trivial Nash Equilibrium where all agents play a threshold strategy
First show for all k, if all other agents play Sk there is a Sk’ for agent i that is also the best response.
CS286 Victor Chan
Make the strategies continuous
Look at a strategy pair , and consider a mix strategy
will play with probability and with
This essentially produces as continuous set of strategies by mixing adjacent threshold strategies.
where
CS286 Victor Chan
Theorem 4.1
If every other agent is playing then the best response is either a unique or a mix of playing two adjacent threshold strategies.
CS286 Victor Chan
Proof of 4.1
Consider agent i with probability of making a request and receiving a request constant
i decides at each iteration whether to satisfy a request based on its strategy
So to i, the system is a Markov Decision Process, with i having the choice to move between various states
i will compute the optimal policy for this MDP, and there is a optimal policy that is a threshold policy.
CS286 Victor Chan
Theorem 4.2
There should be a Nash Equilibrium that is in the space of threshold strategies
Fixing δ , we get a best response function that is a step function.
Any point where the br(δ,γ) = γ then there is a Nash Equilibrium
CS286 Victor Chan
Simulation Results
CS286 Victor Chan
Social Welfare and Scalability
How much money M should be in the system?
Theorem 5.1: Most efficient equilibrium only depends on the ratio of M to n.
Proof, from Theorem 3.1, the d* depends only on M/n and k, and since br(δ,k) depends on only d*, the Nash Equilibrium is only depend on M/n
In practice, it will be easier to adjust the price of a transaction rather than injecting or removing money from the system.
New comers can be added by changing the price of transactions
CS286 Victor Chan
Sybils and Collusion
Sybils can be used to increase the likelihood of being chosen to fulfill a request
Set a lower k threshold strategy, offer to work more often
Sybils can also be used to drive down the price of requests Or make sybils leave and drive up the price
Price of fulfilling a request depends on n
CS286 Victor Chan
Extensions
The current system is Homogenous, relax these assumptions
Cost of joining the network, could deter sybil attacks
The current system does not take into account of altruistic users
Effect of hoarders, people who work but never spend (stocking up)
Any scrip system will require a centralized accounting system, and users will likely have to reveal their identities
CS286 Victor Chan
That’s it!
Q & A
Adobe Internal35