Announcing Altruistic Mode

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).


Screen Shot 2016-09-27 at 2.40.44 PM

Once Altruistic Mode has been unlocked, you can turn it on from the download dialog:

Screen Shot 2016-09-27 at 2.41.33 PM

Or at any time in the properties of the torrent:

Screen Shot 2016-09-27 at 2.42.28 PM

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.

 Related Posts:
  • gubatron

    I still don’t get the point of sticking to a sharing ratio even to the point of not having all the pieces to share.
    Does it really hurt that much to download the entire torrent? and then if you really want to be altruistic, just don’t give a damn about your ratio and upload as much as you can so you go to a N:1 ratio?

    • Animaline

      I don’t fully understand the concept, can’t I just let the file open? for example I have a series episode which ratio is way above 23:1, should I stop uploading to prevent hurting the “swarm” ?

      Can someone explain in easy to understand words what this features does? and why is it interesting !?

    • bramcohen

      Sometimes a swarm will have so many seeds and/or so few downloaders that even leaving a torrent running forever will never upload a complete copy’s worth of data.

  • jonathon wisnoski

    Am I understanding this correctly, or does this feature only work when a very small percentage of people use it? If anymore than that use it it could slow down and grind a torrent to a stop with no one being able to upload because no one is downloading?

    • bramcohen

      Enough downloading is done that the swarm will remain healthy even if a large proportion of peers are doing it. The relatively low 2:1 ratio was selected to ensure that, among other reasons also explained in the post.

      • jonathon wisnoski

        I can’t say I really understood most of the post. it actually does not make any sense to me at all, since you need to first download something to upload anything at all, it would seem like ti would take a long time to pull yourself up by your bootstraps. You download a piece of the torrent, and then you need to hope/wait for 2+ others to need that piece?

        What happens when it is not a big popular torrent? Their are thousands of torrents with seeders and no downloaders, if I join a swarm in which everyone but myself has the entire thing downloaded, what happens?

        • bramcohen

          If you join a swarm in Altruistic Mode in which everyone else has already finished downloading you will do hardly any uploading or downloading.

          A peer in Altruistic Mode will initially download a little bit slower than a regular peer even in a swarm with lots of upload opportunity but the difference is small and disappears completely after a few round trips.

          There can be more altruistic peers than 50% and everything still runs fine because they’ll stop completing downloads, which will also limit their amount of upload.

      • jonathon wisnoski

        The entire point is that you are forcing your client to upload twice as much as it downloads. But for every torrent swarm the upload/download ration must be 1:1, so the non-altruistic clients have to compensate to bring the ratio to 1:1. So, would that not mean that the theoretical max percentage of altruistic clients is something around 33%-50% (aka the altruistic clients do 100% of all uploading), and in practice the swarm would likely break down and stop functioning well before this limit (as all non-altruistic clients will be uploading as well).

      • Ralph Young

        For some people using tracking websites, excessive downloads can result in a ratio deficit that’s impossible to escape. I could like this feature, but I’d like to see the numbers inverted, say, for every 4 download wait until one is uploaded. Even a 1:1 ratio would be useful. If everyone seeded 100% there would be no need to overseed. 1:1 is a better altruistic goal.

        Now that I think of it, a 1:1 flag could be negotiated (like encryption) that could enabled, disabled, or forced. That way altruistic people could choose only to share with other altruistic people. This may create a superior sharing model.

  • Adrian Tovar

    Will this be added on QBittorrent?

    • Skeleton88

      Why would they even want to add something so stupid?

  • Alpaca_Male

    And just like Communism, this sheit won’t work.

  • Bob

    I’ve read about it now and see no reason why I would ever use Altruistic Mode.

    Btw I understand about giving and not expecting anything in return and have tried to do that in many thing in my life especially in my local community in ways that need not be explained here (and by no mean am I a selfless human – I am flawed in many ways).. but I’m not going to be altruistic in file sharing. Lastly I heard it briefly explained here but it still seems someone could share more effectively if they had a complete copy of the data.

  • https://twitter.com/@wengker9 Endy Pw

    I still don’t get the point of sticking to a sharing ratio even even if it means not having all the pieces to share