ppt - Distributed Computing Group

advertisement
Auction-based Model of
BitTorrent
Seminar in Distributed Computing 2010
ETH Zurich
Yu Li
What is BitTorrent
How to download using BitTorrent
STEP 1: Select Torrent File
STEP 2: Download Torrent
How to download using BitTorrent
STEP 3: Configuration
STEP 4: Download File
Downloading procedure
• Individuals View
– Seed
– Leecher
Downloading procedure
• System View
– I upload and download at the same time
……
Me
Auction-based Model
[D. Levin, K. LaCurts, 2008] "BitTorrent is an Auction:
Analyzing and Improving BitTorrent’s Incentives"
(Q1) Do I upload to everyone?
……
Me
……
Me
Auction-based Model
(Q2) Do I treat every peer equally?
……
2 1 4 2 6 3
Me (6Mbps)
……
2 2
4 2 6 2
Me (6Mbps)
Auction-based Model
(Q3) Do I ignore others?
……
2 2 4 2 6 2
0.1
Me (6Mbps)
……
0.2
2
1.5
4
1.5
6
1.5
0.1
Me (6Mbps)
0.2
1.5
Auction-based Model
• Bids are uploads of round n-1
• Auction clearing
1 random peer
Highest S-1
18
18
12
3
2
Me (Bandwidth W)
Round n-1
1
W/S
12
W/S
3
W/S
2
1
W/S
Me (Bandwidth W)
Round n
Select S peers (S=4)
Sybil Attack
• Normal Bidder
“Red” bidder gets 18Mbps
n-1 round
n round
18Mbps
18
12
18Mbps
3
2
18Mbps
1
18Mbps
Auctioneer (Me) provides 72Mbps bandwidth in total
Sybil Attack
• Selfish Bidder
12
n-1 round
n round
18
18Mbps
4
4
18Mbps
“Red” bidder sybil gets 2×18Mbps
4
3
18Mbps
2
1
18Mbps
Auctioneer (Me) provides 72Mbps bandwidth in total
Review of Question 2
• (Q2) Do I treat every peer equally?
……
2 1 4 2 6 3
Me (6Mbps)
……
2 2
4 2 6 2
Me (6Mbps)
Countermeasure:
Proportional share auction
• Proportional share
“Red” bidder gets 24Mbps
n-1 round
n round
18
36Mbps
12
3
2
1
24Mbps
6
4 2
Countermeasure:
Proportional share auction
• Sybil attack resilient
12
n-1 round
n round
18
4
36Mbps
4
“Red” bidder sybil gets 3×8=24Mbps
4
3
2
8Mbps 8Mbps 8Mbps
1
6
4 2
Comparison of Auction-based
&Propshare
• Propshare is Sybil proof
Normal
client
Selfish client
(using sybil)
Standard
Bittorrent
18 Mbps
2×18 Mbps
Propshare
24 Mbps
24 Mbps
Under-reporting
• Which one is better for me?
X Y
X Y
A
X Y
B
X Y
A
B
X Y
X Y
Me
Me
X Y
X Y
A
B
X Y
Me
X Y
X Y
A
B
X Y
Me
X Y
X Y
A
X
B
XY
Me
X
Under-reporting
• Under-reporting algorithm
– Run algr. when peer is about to lose interest.
– Determine the most common piece among
available
X Y Z
Tom
X Y Z
Peer 1
Peer 1
Alice
X Y Z
X Y Z
Peer 2
X Y Z
X Y Z
Peer 3
Peer 2
X Y Z
X Y Z
Alice
X Y Z
Peer 3
X Y Z
Tom
Under-reporting
Countermeasure: Gossiping
Me
X Y Z
Z
A
X Y Z
Costs overhead
B
Countermeasure: TrInc
[D.Levin, J.R. Douceur 2009] "TrInc: Small Trusted Hardware
for Large Distributed Systems"
• TrInc (Trusted Incrementer)
– Prevents lying
– Decreases overhead
• TPM (Trusted Platform
Module) by Intel
Countermeasure: TrInc
• System equipped with TrInc
Countermeasure: TrInc
• Individual equipped with TrInc
Countermeasure: TrInc
• How does TrInc work?
New Counter Value
New
Counter
Value
Old
Counter
Value
BitField
Encryption
BitField + New Counter Value + Old Counter Value
Countermeasure: TrInc
• Input
B
– New Counter Value
– BitField
A B C D
…
Y Z
• Output
– Attestation
B 
B
• Sample Output
A B C D
34
E F G
A B C D
…
Y Z
Countermeasure
Me
X Y Z
Z
X Y Z
B
A
Countermeasure: TrInc
Nonce
3  3 Nonce
23
12
01
Z
X Y Z T
X Y Z T
X Y Z T
D
Bitfield
Request
C
Piece
Providing
B
Piece
Providing
A
Piece
Providing
Me
Y
X
Countermeasure: TrInc
• Individual equipped with TrInc
• Auction-based Model
• TrInc
• Q&A
Download