Levin et al. [11] proposed a Fair, Optimal eXchange protocol,
called FOX to achieve a fair file swarming. FOX provides
not only an effective application of the TFT mechanism,
but also theoretically optimal downloading time for peers. In
FOX, the authors assumed that all peers are greedy. In the
overlay structure of FOX, there are N clients downloading
a file from one server. Suppose Ri is the peer connected
to the server, and Ti is the subtree rooted at Ri, and Li
is the set of leaves of Ti. To get a quick downloading
time, FOX fills the available outgoing link at the server, in
which each Ri requests a different block from the server,
and each leaf only sends blocks to leaves which reciprocate
the gesture. Peers in FOX have two properties. The first
property is the give-and-take symmetry, which means each
of peer’s outgoing edges has a corresponding incoming edge,
instead of allowing peers to arbitrarily match up. The second
property is that the connections are stable. Based on these
two properties, peers’ misbehavior, such as receiving but not
sending, can be detected. In addition, FOX can deal with the
last-block collapse, in which the finished nodes quit the system
leaving the remaining nodes without any help. Fox uses a
cryptographic method, in which the final blocks are encrypted
by the internal nodes before sending to the leaves. Then, the
leaves use their own keys to encrypt the encrypted blocks.
So both nodes and leaves need others’ keys before decrypting
the encrypted blocks and completion of download. By using
this approach, both internal nodes and leaves hold information
that the others need to complete their download. So FOX can
make all nodes complete their download at the same time and
avoid the last-block collapse.