350 likes | 358 Views
This paper proposes a cost-effective cooperative content distribution system that robustly incentivizes cooperation and discourages unauthorized access to content. It presents a design for content dissemination, robust incentives, credit management, and discouraging unauthorized downloading. The paper also provides a preliminary evaluation, prototype implementation, and experimental results.
E N D
Michael Sirivianos Xiaowei Yang Stanislaw Jarecki (University of California Irvine) June 11, 2006 @ NetEcon, Ann Harbor Dandelion: Cooperative Content Distribution with Robust Incentives
Motivation Apple iTunes, CBS, Disney… Our goal:A cost-effective cooperative content distribution system that: • Robustly incents cooperation. • Discourages unauthorized access to content.
Outline • State of the art and our contributions • Design • Content Dissemination • Robust Incentives • Credit Management • Discouraging unauthorized downloading • Preliminary Evaluation • Prototype Implementation • Experimental Results • Conclusions
State of the Art (1) • Akamai: • The content provider maintains control of the distribution, but costly. • Free CDNs, e.g., Coral, CoDeen, CobWeb, CoBlitz: • no incentives for cooperation. • loose control over the distribution.
State of the Art (2) • BitTorrent: • Rate-based tit-for-tat incentives. Yet, susceptible to free-riding, whitewashing, Sybil attack [Jun et al. 05, Shneidman et al. 04, Liogkas et al. 06]. • No incentives for seeding. • No access control. • In recent news/rumor: Warner bros, EMI, Apple iTunes, Bittorrent/Cachelogic • Karma: • Virtual currency for incentives in DHT-based P2P networks. • Distributes the credit bank over the DHT overlay. • Probabilistic credit bank integrity guarantees.
Our Contributions Primary contribution: • Provide robust incentives for clients to upload to others. • Incentives that are not susceptible to manipulation. • Incentives for seeding. Secondary contribution: • Discourage unauthorized content sharing. • Dandelion gives no incentives to clients to upload to unauthorized clients.
Outline • State of the art and our contribution • Design • Content Dissemination • Robust Incentives • Credit Management • Discouraging unauthorized downloading • Preliminary Evaluation • Prototype Implementation • Experimental Results • Conclusions
Content Dissemination 1 1 Dandelion Server 2 2 3 2 ... 3 BitTorrent-like dissemination. Server tracks clients in swarm. File is divided into chunks (e.g. 256 KB) Clients announce newly acquired chunks. Clients request missing chunks from server or clients using locally rarest first.
Robust Incentives • Explicitly rewards clients that upload with credit. • A key challenge is client cheating. • A dishonest client that does not upload or upload garbage may claim credit. • Two clients may collude to boost each other’s credit. • Solution: cryptographic Fair Exchange • Assumption: a low cost server has limited bandwidth but sufficient CPU • The server acts as a trusted 3rd party to mediate the exchange • Clients cannot cheat for credit. • Non-repudiable complaint mechanism.
The Protocol Client A shares secret key KSA with server • Step 1: • Client B sends a request for a file to the server.
The Protocol • Step 2: • The server returns a random view of clients and cryptographic tickets, which B needs to request chunks from the clients.
The Protocol • Step 3: • B requests the file from the client.
The Protocol • Step 4: • If B’s ticket verifies, A, B run a chunk selection protocol. A sends chunk announcements.
The Protocol • Step 5: • B requests a chunk.
The Protocol Client A shares secret key KSA with server • Step 6: • A sends c = Enc(k)[chunk], e = Enc(KSA)[k] , and the commitment MAC(KSA)[A, B, File ID, chunk ID, e, Hash(c)]
The Protocol • Step 7: • B sends a decryption key request to the server, which includes e, Hash(c) and A’s commitment
The Protocol • Step 8: • The server checks whether A’s commitment equals MAC(KSA)[A, B, File ID, chunk ID, e, Hash(c)], where Hash(c) is generated by B.
The Protocol • Step 8: • If the commitment verifies and B has sufficient credit, the server sends the decryption key to B, rewards A and charges B. Otherwise, B is warned.
The Protocol - Complaint • Step 9: • If chunk invalid, B sends a complaint to the server, which includes e, Hash(c), and A’s commitment.
The Protocol - Complaint • Step 9: • If commitment does not verify, B is misbehaving. B should have aborted in step 8. • If commitment verifies, the server retrieves the chunk, and re-computes A’s commitment. If it does not verify, A is misbehaving.
Outline • State of the art and our contribution • Design • Content Dissemination • Robust Incentives • Credit Management • Discouraging unauthorized downloading • Preliminary Evaluation • Prototype Implementation • Experimental Results • Conclusions
Credit Management • Free Content Distribution: • Each client is given an initial small amount of credit when it first registers with the server. • Clients spend Dc > 0 credit units and earn Dr > 0 for each uploaded and downloaded chunk, respectively. • Clients can acquire a chunk only if their credit ¸Dc. • Thus, clients are motivated to upload • To prevent colluders from increasing their sum, Dc = Dr.
Credit Management • Paid Content Distribution: • Client gets sufficient credit to download complete file • We set Dc = Dr > 0 to deter collusions. • A server redeems a client's credit for monetary rewards.
Discouraging Unauthorized Downloading • No credit awarded for unauthorized transactions • Rational authorized clients are discouraged from serving unauthorized ones. • Clients can verify the legitimacy of requests • They can avoid wasting bandwidth to send encrypted chunks to unauthorized peers. • They can be held liable for if they choose to send plaintext content to unauthorized clients.
Outline • State of the art and our contribution • Design • Content Dissemination • Robust Incentives • Credit Management • Discouraging unauthorized downloading • Preliminary Evaluation • Prototype Implementation • Experimental Results • Conclusions
Prototype Implementation • Implemented in C: • OpenSSL, and SQLite. • 10000+ lines of code. • Asymmetric and staged event-driven architecture. Inspired by: • Flash [Pai et al. USENIX 99]. • SEDA [Welsh et al. SOSP 01]. • “Kernel space copy only” sendfile(). • Data are transmitted on top ofTCP.
Experiment Setting • Hardware • The server runs on a 1.7 GHZ/ 2MB CPUwith 1 GB RAM. • 100 clients on PlanetLab. • Rate-limiting • The server and clients are application layer rate-limited to emulate Ethernet II 1 Mbps uplink and 1 Mbps downlink. • Performance Metrics • Server/client processing overhead • Aggregate client download throughput with respect to request rate. Clients send 0.001 to 10 requests/sec.
Dandelion Profiling • The profiled client also runs on a 1.7 GHZ/ 2MB CPU with 1 GB RAM.
PlanetLab Results • y axis: achievable aggregate client download throughput assuming the server is the bottleneck. • x axis: the aggregate client request rate.
Results Summary • A server with a 1.7GHZ/2MB CPU and 1Mbps uplink and downlink: • can process up to ~420 key decryption requests/sec. • can serve ~1680 clients if each client sends one key request one every four seconds (e.g., downloads 256 KB chunks at 64 KB/s) • ~990 times higher download throughput than HTTP/FTP. • The performance gains depend on the bandwidth and computing resources. • A client with a 1.7GHZ/2MB CPU and 1 Mbps uplink and downlink: • can encrypt and decrypt a 256 KB chunk much faster than download/upload it.
Outline • State of the art and our contribution • Design • Content Dissemination • Robust Incentives • Credit Management • Discouraging unauthorized downloading • Preliminary Evaluation • Prototype Implementation • Experimental Results • Conclusions
Conclusions • Suitable for a swarm of size ~2000 with a resource- limited server. • Robust incentives • A simple and efficient fair exchange scheme to prevent cheating • Discourage unauthorized content distribution. • Clients are not motivated to share contents with unauthorized users. • Clients can check the legitimacy of requests for service.
Thank You! Latest paper version available at: www.ics.uci.edu/~msirivia/pubs/dandelion.pdf Questions?
Motivation June 06: EMI launches legitimate P2P service. software DRM March 06: Universal announces download to own service. Our goal:A cost-effective content distribution system that: • Robustly incents cooperation. • Encourages illegitimate P2P downloading.
State of the Art (2) • BitTorrent: • Rate-based tit-for-tat incentives. Yet, susceptible to free-riding, whitewashing, Sybil attack [Jun et al. 05, Shneidman et al. 04, Liogkas et al. 06]. • No incentives for seeding. • No access control. • Karma: • Virtual currency for incentives in DHT-based P2P networks. • Distributes the credit bank over the DHT overlay. • Probabilistic credit bank integrity guarantees. Feb 06: BitTorrent and Cachelogic in joint effort for authorized P2P distribution. 3rd party infrastructure