+ All Categories
Home > Documents > Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get...

Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get...

Date post: 20-Apr-2018
Category:
Upload: doanminh
View: 215 times
Download: 3 times
Share this document with a friend
39
Game Theory Presented by Hakim Weatherspoon
Transcript
Page 1: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Game Theory

Presented by Hakim Weatherspoon

Page 2: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Game Theory •  Main Question: Can we cheat (and get away with it)?

•  BitTorrent –  P2P file distribution tool designed with

incentives for contribution –  Users contribute resources to get good performance

•  Do Incentives Build Robustness in BitTorrent? –  Can BitTorrent be gamed?

•  BAR Gossip –  Can content distribution be tamed?

Page 3: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BitTorrent

•  Written by Bram Cohen (in Python) in 2001 •  “Pull-based” “swarming” approach

–  Each file split into smaller pieces –  Nodes request desired pieces from neighbors

•  As opposed to parents pushing data that they receive –  Pieces not downloaded in sequential order –  Previous multicast schemes aimed to support

“streaming”; BitTorrent does not •  Encourages contribution by all nodes

BitTorrent slides from CS 5410, Ken Birman

Page 4: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BitTorrent

Slides from Michael Piatek’s NSDI presentation

Page 5: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BitTorrent

Page 6: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BitTorrent Swarm

•  Swarm –  Set of peers all downloading the same file –  Organized as a random mesh

•  Each node knows list of pieces downloaded by neighbors

•  Node requests pieces it does not own from neighbors –  Exact method explained later

Page 7: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

How a node enters a swarm for file “popeye.mp4”

•  File popeye.mp4.torrent hosted at a (well-known) webserver

•  The .torrent has address of tracker for file

•  The tracker, which runs on a webserver as well, keeps track of all peers downloading file

Page 8: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

How a node enters a swarm for file “popeye.mp4”

•  File popeye.mp4.torrent hosted at a (well-known) webserver

•  The .torrent has address of tracker for file

•  The tracker, which runs on a webserver as well, keeps track of all peers downloading file

www.bittorrent.com

Peer

1

popeye.mp4.torrent

Page 9: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

How a node enters a swarm for file “popeye.mp4”

•  File popeye.mp4.torrent hosted at a (well-known) webserver

•  The .torrent has address of tracker for file

•  The tracker, which runs on a webserver as well, keeps track of all peers downloading file

Peer

Tracker Addresses of peers

2

www.bittorrent.com

Page 10: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

How a node enters a swarm for file “popeye.mp4”

•  File popeye.mp4.torrent hosted at a (well-known) webserver

•  The .torrent has address of tracker for file

•  The tracker, which runs on a webserver as well, keeps track of all peers downloading file

Peer

Tracker 3

www.bittorrent.com

Swarm

Page 11: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Contents of .torrent file

•  URL of tracker •  Piece length – Usually 256 KB •  SHA-1 hashes of each piece in file

–  For reliability •  “files” – allows download of multiple files

Page 12: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Terminology

•  Seed: peer with the entire file –  Original Seed: The first seed

•  Leech: peer that’s downloading the file –  Fairer term might have been “downloader”

•  Sub-piece: Further subdivision of a piece –  The “unit for requests” is a subpiece –  But a peer uploads only after assembling complete

piece

Page 13: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Peer-peer transactions:

Choosing pieces to request •  Rarest-first: Look at all pieces at all peers, and

request piece that’s owned by fewest peers –  Increases diversity in the pieces downloaded

•  avoids case where a node and each of its peers have exactly the same pieces; increases throughput

–  Increases likelihood all pieces still available even if original seed leaves before any one node has downloaded entire file

Page 14: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Choosing pieces to request

•  Random First Piece: –  When peer starts to download, request random piece.

•  So as to assemble first complete piece quickly •  Then participate in uploads

–  When first complete piece assembled, switch to rarest-first

Page 15: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Choosing pieces to request

•  End-game mode: –  When requests sent for all sub-pieces, (re)send

requests to all peers. –  To speed up completion of download –  Cancel request for downloaded sub-pieces

Page 16: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Tit-for-tat as incentive to upload

•  Want to encourage all peers to contribute •  Peer A said to choke peer B if it (A) decides not

to upload to B •  Each peer (say A) unchoke at most 4 interested

peers at any time –  The three with the largest upload rates to A

•  Where the tit-for-tat comes in –  Another randomly chosen (Optimistic Unchoke)

•  To periodically look for better choices

–  4 is size of active set, but can be more dynamic

Page 17: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Anti-snubbing

•  A peer is said to be snubbed if each of its peers chokes it

•  To handle this, snubbed peer stops uploading to its peers

 Optimistic unchoking done more often –  Hope is that will discover a new peer that will upload

to us

Page 18: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Why BitTorrent took off? •  Better performance through “pull-based” transfer

–  Slow nodes don’t bog down other nodes •  Allows uploading from hosts that have

downloaded parts of a file –  In common with other end-host based multicast

schemes

Page 19: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Why BitTorrent took off?

•  Practical Reasons (perhaps more important!) –  Working implementation (Bram Cohen) with simple

well-defined interfaces for plugging in new content –  Many recent competitors got sued / shut down

•  Napster, Kazaa

–  Doesn’t do “search” per se. Users use well-known, trusted sources to locate content

•  Avoids the pollution problem, where garbage is passed off as authentic content

Page 20: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Pros and cons of BitTorrent

•  Pros –  Proficient in utilizing partially downloaded files –  Discourages “freeloading”

•  By rewarding fastest uploaders

–  Encourages diversity through “rarest-first” •  Extends lifetime of swarm

•  Works well for “hot content”

Page 21: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Pros and cons of BitTorrent

•  Cons –  Assumes all interested peers active at same time;

performance deteriorates if swarm “cools off” –  Even worse: no trackers for obscure content

•  Recent studies by team at U. Washington found that many swarms “fail” because there are few changes for repeated interaction with the same peer –  They suggest fixes, such as “one hop reputation” idea

presented at NSDI 2008

Page 22: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Pros and cons of BitTorrent

•  Dependence on centralized tracker: pro/con? –  Single point of failure: New nodes can’t enter

swarm if tracker goes down –  Lack of a search feature

•  Prevents pollution attacks •  Users need to resort to out-of-band search: well known

torrent-hosting sites / plain old web-search

Page 23: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Do Incentives Build Robustness in BitTorrent?

•  Michael Piatek –  Grad Student @ UW

•  Tomas Isdal –  Grad Student @ UW

•  Tom Anderson –  Prof @ UW. Author of Nacho’s OS

•  Arvind Krishnamurthy –  Prof @ UW

•  Arun Venkataramani –  Prof @ Umass Amerst.

8 ; LOG I N : VO L . 3 2 , NO . 4

M I C H A E L P I A T E K , T O M A S I S D A L , T O MA N D E R S O N , A R V I N D K R I S H N A M U R T H Y ,A N D A R U N V E N K ATA R A M A N I

building BitTyrant,a (more) strategicBitTorrent clientMichael Piatek is a graduate student at the UniversityofWashington. After spending his undergraduateyears working on differential geometry, his researchinterests now include incentive design in distributedsystems,networkmeasurements, and large-scale sys-tems building.

[email protected] Isdal graduatedwith aMSc in Computer Sci-ence and Engineering from the Royal Institute ofTechnology, Stockholm, Sweden, and is currently agraduate student in the Department of ComputerScience and Engineering at the University ofWash-ington. His interests include peer-to-peer and distrib-uted systems, Internet measurements, and networksecurity.

[email protected] is a Professor in the Department ofComputer Science and Engineering at the UniversityofWashington.He is an ACM Fellow and awinner ofthe ACM SIGOPSMarkWeiser Award, but he is per-haps best known as the author of the Nachos operat-ing system.

[email protected] Krishnamurthy is an Assistant Research Pro-fessor at the University ofWashington.His researchinterests are primarily at the boundary between thetheory and practice of distributed systems.He hasworked on automatedmechanisms formanagingoverlay networks and distributed hash tables, net-workmeasurements, parallel computing, techniquestomake low-latency RAID devices, and distributedstorage systems that integrate the numerous ad hocdevices around the home.

[email protected] has been an Assistant Professorat the University of Massachusetts Amherst since2005, after receiving his Ph.D. from the University ofTexas at Austin by way of the University ofWashing-ton. His research interests are in the practice and the-ory of networking and distributed systems.

[email protected]

P E E R -TO - P E E R SY ST EMS O F T EN A P P EA Lto scalability as amotivating feature. Asmore users request data,more users con-tribute resources. Scaling a service by rely-ing on user contributions—the P2P ap-proach—depends on providing incentivesfor users tomake those contributions. Re-cently, the popular BitTorrent file distribu-tion tool has emerged as the canonical ex-ample of an incentive-aware P2P design. Al-though BitTorrent has been in widespreaduse for years and has been studied exten-sively, we find that its incentive strategy isnot foolproof.This article describes Bit-Tyrant, a new, strategic BitTorrent client. Forusers interested in faster downloads, Bit-Tyrant provides amedian 70% performanceimprovement on live Internet swarms.How-ever, BitTyrant also demonstrates that self-ish users can improve performance evenwhile reducing upload contribution, cir-cumventing intended incentives.

Bandwidth demands on Internet data providers areincreasing. Google Video, Amazon’s Unbox, andApple’s iTunes music store are just a few well-known examples of bandwidth-hungry servicesnow delivering entertainment content. In addition,application vendors regularly distribute largepatches to thousands of customers. As demand forthese services and applications grows, bandwidthcosts increase in turn.

Peer-to-peer (P2P) systems offer a promising ap-proach to deferring these costs while increasingscalability. They avoid the bottlenecks associatedwith typical one-sided data distribution, whereservers send data to clients. P2P designs exploit thefact that once a client begins receiving data, it canfunction as an additional server by redistributingthat data, shifting load from the server to clients.

Shifting load from servers to clients means relyingon clients to contribute capacity. Early P2P systemsbuilders quickly realized that when given a choice,most users wouldn’t contribute their resources. In-stead, they would “free-ride,” a modern-daytragedy of the commons where users consume sys-tem resources without providing any in return [1].

To combat the free-riding problem, subsequentP2P designs included explicit contribution incen-8 ; LOG I N : VO L . 3 2 , NO . 4

M I C H A E L P I A T E K , T O M A S I S D A L , T O MA N D E R S O N , A R V I N D K R I S H N A M U R T H Y ,A N D A R U N V E N K ATA R A M A N I

building BitTyrant,a (more) strategicBitTorrent clientMichael Piatek is a graduate student at the UniversityofWashington. After spending his undergraduateyears working on differential geometry, his researchinterests now include incentive design in distributedsystems,networkmeasurements, and large-scale sys-tems building.

[email protected] Isdal graduatedwith aMSc in Computer Sci-ence and Engineering from the Royal Institute ofTechnology, Stockholm, Sweden, and is currently agraduate student in the Department of ComputerScience and Engineering at the University ofWash-ington. His interests include peer-to-peer and distrib-uted systems, Internet measurements, and networksecurity.

[email protected] is a Professor in the Department ofComputer Science and Engineering at the UniversityofWashington.He is an ACM Fellow and awinner ofthe ACM SIGOPSMarkWeiser Award, but he is per-haps best known as the author of the Nachos operat-ing system.

[email protected] Krishnamurthy is an Assistant Research Pro-fessor at the University ofWashington.His researchinterests are primarily at the boundary between thetheory and practice of distributed systems.He hasworked on automatedmechanisms formanagingoverlay networks and distributed hash tables, net-workmeasurements, parallel computing, techniquestomake low-latency RAID devices, and distributedstorage systems that integrate the numerous ad hocdevices around the home.

[email protected] has been an Assistant Professorat the University of Massachusetts Amherst since2005, after receiving his Ph.D. from the University ofTexas at Austin by way of the University ofWashing-ton. His research interests are in the practice and the-ory of networking and distributed systems.

[email protected]

P E E R -TO - P E E R SY ST EMS O F T EN A P P EA Lto scalability as amotivating feature. Asmore users request data,more users con-tribute resources. Scaling a service by rely-ing on user contributions—the P2P ap-proach—depends on providing incentivesfor users tomake those contributions. Re-cently, the popular BitTorrent file distribu-tion tool has emerged as the canonical ex-ample of an incentive-aware P2P design. Al-though BitTorrent has been in widespreaduse for years and has been studied exten-sively, we find that its incentive strategy isnot foolproof.This article describes Bit-Tyrant, a new, strategic BitTorrent client. Forusers interested in faster downloads, Bit-Tyrant provides amedian 70% performanceimprovement on live Internet swarms.How-ever, BitTyrant also demonstrates that self-ish users can improve performance evenwhile reducing upload contribution, cir-cumventing intended incentives.

Bandwidth demands on Internet data providers areincreasing. Google Video, Amazon’s Unbox, andApple’s iTunes music store are just a few well-known examples of bandwidth-hungry servicesnow delivering entertainment content. In addition,application vendors regularly distribute largepatches to thousands of customers. As demand forthese services and applications grows, bandwidthcosts increase in turn.

Peer-to-peer (P2P) systems offer a promising ap-proach to deferring these costs while increasingscalability. They avoid the bottlenecks associatedwith typical one-sided data distribution, whereservers send data to clients. P2P designs exploit thefact that once a client begins receiving data, it canfunction as an additional server by redistributingthat data, shifting load from the server to clients.

Shifting load from servers to clients means relyingon clients to contribute capacity. Early P2P systemsbuilders quickly realized that when given a choice,most users wouldn’t contribute their resources. In-stead, they would “free-ride,” a modern-daytragedy of the commons where users consume sys-tem resources without providing any in return [1].

To combat the free-riding problem, subsequentP2P designs included explicit contribution incen-

Page 24: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BitTorrent

•  BitTorrent is a protocol for bulk data transfer •  The more you give, the more you get •  Tit-for-tat

–  Not really

Page 25: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Altruism •  Not really TFT

–  80% of users get more than they give –  70% of capacity comes from high capacity users

Page 26: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Altruism •  Not really TFT

–  80% of users get more than they give –  70% of capacity comes from high capacity users –  Not really a fair protocol

•  Operates based on altruism of high capacity users

Page 27: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Exploiting Altruism

•  Selfish users –  Rational –  Want to cheat (as long as they won’t get caught!) –  Can download with many low-speed connections

rather than 1 high-speed

Page 28: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Building BitTyrant

•  Maximize reciprocation bandwidth per connection –  Find peers that give the most for the least

•  Maximize number of reciprocating peers –  Get as many peers as possible –  Until benefit of new peer is outweighed by cost of

reduced reciprocation from other peers •  Deviate from equal

–  Decrease uploading on each connection –  Until peer stops reciprocating

Page 29: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Results

•  BitTyrant improves average download performance by 70%

•  Regardless of capacity, using BitTyrant is in the selfish interest of every peer individually

•  When all peers behave selfishly, average performance degrades for all peers, even those with high capacity

Page 30: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Take-away •  BitTorrent works because people use the default

client –  No cheating

•  BitTyrant is now available in the wild –  This is a test – Do incentives build robustness? –  Maybe users will continue to donate excess

bandwidth –  Maybe users will be selfish

•  Proven to reduce overall capacity

Page 31: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BAR Gossip

Henry Li, Allen Clement, Edmund Wong, Jeff Napper, Indrajit Roy,

Lorenzo Alvisi, and Michael Dahlin

Page 32: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BAR Model

•  Byzantine (Arbitrary) Nodes •  Altruistic (Generous) Nodes •  Rational (Selfish) Nodes

Page 33: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BAR Gossip Vision

•  In presence of: –  Selfish nodes –  Byzantine nodes

•  We want: –  Predictable throughput –  Low latency

Page 34: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BAR Gossip Differences

•  Data exchange in short periods •  No long-term reputation •  Exchanges small blocks of data •  Robust to both Selfish and Byzantine behavior

Page 35: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

BAR Gossip Assumptions

•  One data broadcaster •  Static Membership •  Reliable Cryptographic primitives (SHA1,RSA) •  Unique keys and signatures for nodes •  Synchronized Clocks

Page 36: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Overview

Page 37: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Core Idea

•  Balanced Exchange –  When a peer gives some data in exchange of some

data. “Trade data for data.“

•  Optimistic Push –  Every peer will willingly help others by giving them

data for free. Be a good person and give data for free.

•  What about when I don’t have anything to trade off with, am I out of the game then ?

Page 38: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Take-away

•  Current gossip protocols are ill-suited for selfish environments.

•  Bar Gossip –  Verifiable pseudo-randomness –  Signatures –  Balanced Exchange, achieves 98% reliability. –  With Optimistic Push, increases to almost 99.9%

Page 39: Game Theory - Home | Department of Computer Science Theory • Main Question: Can we cheat (and get away with it)? • BitTorrent – P2P file distribution tool designed with incentives

Next Time

•  Final Presentations –  Room 315 (from 9am-1pm) and 5126 (from 1pm-4pm) –  9am – 4:00pm, Thursday, December 2nd –  15 minute presentations, 5 minute questions –  Signup for presentation slot

•  Final paper –  Due next Thursday, December 9th –  Complete paper and comprehensive evaluation

•  Thank you!


Recommended