Saturday, March 3, 2007

Stephen Reading - Technical Liason - Checkpoint 2

My part of the report will be dealing with the problems Apple will have to solve to make this system work, and the ways in which they will need to change the default Bit Torrent protocol in order to make it suitable for their use. First they will have to figure out how to encrypt files in a manner that simultaneously allows users to share the file through the Apple Bit Torrent program, but prevents them from sharing it with any other program. As we all know, in the past Apple added the DRM at the end, which allowed Jon Johansen to crack it by simply preventing it from being added. This will probably not work in a Bit Torrent system, so I will be analyzing other possibilities for encrypting the file.

I will also be looking into the actual Bit Torrent protocol to find potential problems for this usage. One obvious problem is the lack of knowledge of location. In order to send data most efficiently and optimize for traffic differences resulting from time zone differences, it might be helpful if the protocol knew which nodes were close to each other. Consider their future competitors, Joost, whose “big innovation is to carve a sprawling network into more manageable subnets without sacrificing P2P efficiency” [1]. Joost is from the makers of Kazaa and Skype, which means it just might be a good idea for Apple to take some hints from them. Another very necessary improvement is a change in how nodes decide what other nodes to send data to. Currently leechers send data to the nodes that are uploading to them fastest while seeds send data to the nodes that are downloading from them the fastest. This gives too high a priority to people with fast internet connections. If someone is paying for a service they will expect to receive data at a reasonable rate regardless of whether or not their connection is slightly slower than the cable or T1 connections that they will be competing against. Therefore the client might be improved if it were optimized to make sure if at all possible that no node takes longer than a certain amount of time to download the file. Finally I will look at how the client will need to change if they intend to implement user incentives. There will have to be some trustworthy way to ascertain the true amount of uploading that each user is doing, which currently is not available. The makers of Bit Thief not only succeeded in creating a client that does no uploading while still downloading the entire file, but managed to make their sharing ratio 1.4, tricking the sharing community into thinking they had uploaded 40% more than they had downloaded. If users were able to trick Apple in a similar fashion it might not be long before 10 million times more data had been reported uploaded than downloaded and the entire incentive system collapsed under the cheating.


[1] S. Reiss. Here Comes Trouble” Wired Magazine. http://www.wired.com/wired/archive/15.02/trouble.html?pg=2&topic=trouble&topic_set= Feb. 2007

[2] T. Locher, P. Moor, S. Schmid, R.Wattenhofer. “Free Riding in Bit Torrent is Cheap”.
http://dcg.ethz.ch/publications/hotnets06.pdf

No comments: