SupervisedTeaming provides protection against free-riding by putting peers in a Team and forcing team-members to upload to each other. This significantly reduces bandwidth for altruistic peers.
The research assignment contains several free-riding techniques and ideas that can reduce the damage that free-riders can do. The report can be downloaded here.
Peer-to-peer technology has produced thriving communities in which peers contribute bandwidth to each other. However, when free riding occurs, these communities will not be able to sustain themselves without incentives to enforce this contribution. This thesis presents SupervisedTeaming, a peer-to-peer transfer protocol that gives uploading peers, called supervisors, control over a team of downloading peers, called team members.
Team members are given an incentive to transfer data among each other, effectively reducing the upload cost for the supervisors to one piece of data while still duplicating this piece to every team member. Using transport efficiency, time efficiency, and sharing ratio as performance metrics, we prove that SupervisedTeaming performs equally to BitTorrent under best-case scenarios and several factors better, depending on the chosen team size, under flash crowds and free riding scenarios.
Furthermore, we have implemented a peer-to-peer client that can use both the BitTorrent protocol and a simplified version of the SupervisedTeaming protocol. The experiments we have performed with this client verify that Supervised Teaming performs as described above. The report can be downloaded here.
SupervisedTeaming must be efficient to those who are willing to share (altuistic users) and supervised teaming must ensure that all peers are uploading at least 'some' data. Where the amount that peers are required to upload is decided by the altruistic user.
We ensure this by having peers cooperate in small teams. These teams consist of team members who are peers that are interested in downloading a specific piece. Furthermore, the team members follow the instructions of the supervisor, who is the altruistic peer that has the piece that the team members want to download.
There is always one supervisor and one or more team members. Each team member receives blocks of data from the supervisor and must forward those blocks to the other team members. An incentive for this forward is provided in the form of a reward that contains the offset of the data block. Without this offset, the block is useless. And without forwarding, a peer will not receive the reward.
Peer-to-Peer Client - Source Code
To test the SupervisedTeaming approach, we implemented a Peer-to-Peer client that is able to use both the BitTorrent and the SupervisedTeaming protocol. This client is NOT the Tribler client. The source code for this new client can be found here.