Incentive build Robustness?

Incentives Build Robustness
in BitTorrent?
1
Agenda
•
•
•
•
•
•
•
•
Introduction
BitTorrent Basics
Bit Tyrant: A strategic client
Bit Thief: A free-riding client
Other Tricks of BT Client
Real World Experiments
Avoiding of Tricks
Conclusion
2
Introduction
• BitTorrent core incentive
– Upload More, Download More
• Problem Definition
– I am a selfish user
– Can I gain without pay / pay less?
3
BitTorrent Basics
• Step 0 – Publishing Content
– Create Torrent file
• Tracker URL
• SHA-1 Hash Checksum
– Assign a Tracker
– Distribute Torrent to users through Web
Site, Newsgroup or Forum
4
BitTorrent Basics
• Step 1 – Joining
– Peers get the Torrent
– Connect to Tracker
• Look for available peers
• DHT (Distributed Hash Table)
– Create connection with other peers
– Start with Others’ Optimistic Unchoking
• Look for better peers
• Let other peers join the swarm
5
BitTorrent Basics
• Step 2 to N-1 – Pipelining
– Exchange bitmap about which chunks
are available
– Pay more, get more
• To build incentive for peers to upload
• Reciprocal
– Rarest first
• To preserve File completeness among the
swarm
• To build up peer’s reputation
6
BitTorrent Basics
• Choking
– Send data to only few good peers
• Contribute data to you
• Have pieces that you wants
• A resourceful peers
– It will be nice if I can pay minimal cost to
be un-choke!!!!
7
BitTorrent Basics
• Optimistic Un-choking
– Allow new peers to get some pieces for
exchange
– Allow discovery of better exchanging
partners
– Most peers are so friendly
– I can gain without contribute!!!!
8
BitTorrent Basics
• Ending Phase
– Toward the end of download
– Request for missing pieces
– Search for available peers
– 20-30 pieces left
9
Bit Tyrant: A strategic client
• Incentive
– 100KB/s  15KB/s
• 1% drop
– 15KB/s  10KB/s
• 40% drop
– About 1.9Mbps World Wide Bandwidth
• http://arstechnica.com/news.ars/post/200705
29-survey-average-broadband-speed-in-usis-1-9mbps.html
– Why do I still need to give u so much?
10
Bit Tyrant: A strategic client
• Resource Management
– Bandwidth fixed
– # Conn x Speed = Constant
• Current Official BT Protocol (<=5.0)
– 4 un-choking peers
– 1 optimistic un-choking
• A Optimization Problem!!
11
Bit Tyrant: A strategic client
• Bit Tyrant Un-chocking algorithm
– Mark Dp be download rate of conn p
– Mark Up be upload rate of conn p
– For each round
• Calculate performance metric Dp / Up
• Un-choking the conn with the highest metric
– At the end of each round
• If peer doesn’t un-choking us  Up (1+delta)Up
• If peer un-choking us  Dp = downlod rate
• If peer has un-choked us for r round  Up  (1-lamda)Up
12
Bit Tyrant: A strategic client
• Very simple algorithm
• Net Effect
– Select friendly peers
– Filter out unfriendly peers
– Gain from peers most of the time
13
Bit Tyrant: A strategic client
• Dynamic sizing of active set
– Serving the best peers first
– The 2nd best next and so on
– Until upload rate is exhausted
• Local Optimal trading
– Not global, because only concern your
local peers group
14
BitThief : A free-riding client
• Download only
– No copy right issue (Only Contributor is
sued)
– Conserve Resource
– Use to spoil the community
• Basic Idea
– Gain from optimistic un-choking
– Gain from free sharing of Seeder
15
BitThief : A free-riding client
• Gain From Optimistic Un-choking
– Request for as many clients as possible
• May be block by the Tracker
• SIMD like query to Tracker
– Connect to all client available
• Higher Chance of being un-choking
– Always pretend to be a new comer
• A bitmap with no available piece
• Try to download whatever available
• Most Clients are so nice
16
BitThief : A free-riding client
• Gain From Free Sharing of Seeder
– Seeder select peers in two ways
• The Highest Bandwidth (from tracker)
• Round Robin
– Bit Thief report high upload rate
– # of Seeder > # of Leecher  Even
better
• Gain from both methodology
17
Other Tricks of BT Client
• Client
Discrimination
– Higher priority for
Similar Client
– Delibrately choke
other client
• Pretend to be Local
Neighbor
– Fake tracker with
wrong upload rate
– Retrieve from Seed
• Rapid Disconnect
and Reconnect
– Hope to gain from
optimistic
unchoking
– Remove from blacklist
• Multiple Connection
to the same client
– For high speed BB
– Gain the most from
18
the same client
Experiment with BT Client
• Testing Environment
–
–
–
–
–
Athlon 64 2800+
1GB Ram
120GB 7200 rpm HDD
Windows XP SP2 w/ TCP Conn Crack
BT Software
• Utorrent / Mainline
• Bit Comet
• Bit Tryant
– iCable internet Connection
19
Experiment with BT Client
• Gentoo AMD 64 Minimal ISO
– 54.4MB
– 34 Seeders, 0 Leechers
• Ubuntu 7.10 i386 Desktop ISO
– 695MB
– 928 Seeders / 78 Leechers
• NBA Match
– 921MB
– 120 Seeders, 714 Leechers
20
Experiment with BT Client
Conn Peer
Seed/Leec
h
Gentoo
Upload
Time
Avg Speed
KB/s
Bit Comet
0
18:40
50.65
10/0
uTorrent
0
17:01
55.62
12/0
Bit Tyrant
0
15:04
62.75
16/0
21
Experiment with BT Client
Conn Peer
Seed/Leec
h
Ubuntu
Upload
Time
Avg Speed
KB/s
Bit Comet
32MB
15:20
773.57
75/70
uTorrent
112KB
69:13
171.37
36/1
Bit Tyrant
100KB
26:28
448.16
40/1
22
Experiment with BT Client
Conn Peer
Seed/Leec
h
NBA
Upload
Time
Avg Speed
KB/s
Bit Comet
1070MB
52:32
299
11/53
uTorrent
1035MB
1:42:50
152
7/29
Bit Tyrant
540MB
1:20:10
196
10/22
23
Experiment with BT Client
• Bit Thief
– Achieve a high download rate (~150KB/s) for
Ubuntu and NBA
– Suck at 25%
24
Avoiding Tricks
• Target
– Stop Fake Information
– Identify Free-riding
• Difficulties
– Bit Torrent is so wide spread
– Too many implementations
• Incentive driven works again!!!
– Co-operative identify bad client
– Block bad peers, Share with good peers
25
Avoiding Tricks
• Sharing with Peers
– Search for local optimal best peers
– Search for potential bad peers
– Broadcast of bad peers (In a majority
basics)
– It will fail if more than half of clients are
in-honest
26
Conclusion
• BT Robustness
– Most peers are friendly
• Ways to Crack
– Gain from cracking the protocol
– Bit Tyrant: Download > Upload
– Bit Thief: Free Riding
• Proposed Solution
– Decentralized Client Solution
27
Reference
• Incentives Build Robustness in BitTorrent
http://www.bittorrent.org/bittorrentecon.pdf
• Do incentives build robustness in
BitTorrent?
http://www.cs.washington.edu/homes/piatek
/papers/BitTyrant.pdf
• Free Riding in BitTorrent is Cheap
http://dcg.ethz.ch/publications/hotnets06.pd
f
28