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 34 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 23 12 01 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