We’re in the process of rolling out a new feature of for our BitTorrent and uTorrent clients: Altruistic Mode. This is a feature for users who want to make sure that they upload more than they download and are okay with the tradeoff that their download might never complete.
Because this feature has some subtle and confusing behaviors, in the interests of not confusing users we require it to be unlocked before it can be used. The user can enable this mode in the “Preferences”. The checkbox “Enable Altruistic Mode” will be in the “BitTorrent” section (uTorrent 3.4.9 and above, and BitTorrent 7.9.9 and above).
Once Altruistic Mode has been unlocked, you can turn it on from the download dialog:
Or at any time in the properties of the torrent:
The intended use of Altruistic Mode is to help out a swarm. This can help other peers download faster or ensure a peer has a good sharing ratio. This is especially helpful in conditions where there are already plenty of seeds, which often happens after a torrent has been available for a while.
Altruistic Mode guarantees that your upload to download ratio is never much less than 2 to 1. An important subtlety is that this cannot be guaranteed by uploading more. BitTorrent peers upload as much as they can under normal conditions. The only way to improve the ratio is by downloading less. Because of this Altruistic Mode downloads will often never complete.
What the effects of Altruistic Mode will be depend on how it would behave in the same swarm in Download Mode:
- If Download Mode would upload at a greater than 2:1 ratio then an Altruistic Mode peer will have very similar behavior.
- If Download Mode would upload at a ratio between 2:1 and 1:1 then Altruistic Mode will upload less and download a lot less than Download Mode would, resulting in a 2:1 upload to download ratio.
- If Download Mode would upload at a ratio of less than 1:1 then Altruistic Mode will do very little uploading or downloading.
If Altruistic Mode does complete the download (which can happen) it will usually have done about the same amount of uploading as Download Mode would have, assuming it would have kept seeding for as long as Altruistic Mode took to finish the download.
What Altruistic Mode approximately does is that as long as there are two peers which are interested it keeps downloading, because for each new piece it downloads it can upload to two peers, but if there is only one interested peer it stops downloading because the peer can only get at best the same amount of upload as download and possibly be a net drain in that case.
We selected a 2:1 ratio because it’s impossible to have a number of interested peers between 1 and 2, and 1 is too small, so that left 2 as a logical choice. Shooting for a higher ratio would result in very little uploading even in some conditions where it makes sense to do so, which was extremely confusing to users in testing and is a waste of resources. Going for a higher number could also cause swarms to no longer have a complete copy of the file if too many peers are in Altruistic Mode, which would harm not just the one peer in Altruistic Mode but other peers as well. Because of this, we feel that a 2:1 ratio is a sweet spot and aren’t offering any user configuration options for it. You may get ratios of greater than 2:1 in Altruistic Mode, but in those cases you could have used regular Download Mode and gotten the same results.
The precise definition of Altruistic Mode is that it initially downloads two pieces and after that every time it uploads two pieces worth of data it downloads one more. This is a simple and reliable strategy for making sure that you never get much worse than a 2:1 ratio. It results in all the behaviors described above, which do have some technical caveats which weren’t explained previously but the essential message is right in every case.
For now Altruistic Mode is a bit of an experiment. We are hoping that it’s sufficiently understandable and useful that users embrace it and that we don’t get too many complaints about downloads never finishing or that the upload ratio remains unchanged, which as explained above are completely expected behaviors under some conditions. If this goes well we may roll out another feature in the future where a peer starts out in Altruistic Mode and later switches to regular Download Mode, which would not change the upload ratio significantly but would help other peers download faster at the beginning, so peers who want to get a complete file eventually but aren’t in a rush can allow other peers who care about getting it sooner to finish first.