Aby byla zajištěna nejvyšší možná efektivita sítě BitTorrent, každý klient se snaží maximalizovat rychlost příjmu dat. Klient se tedy snaží stahovat odkudkoliv a posílat data vybraným klientům (podle rychlosti příjmu). Pokud chce klient dočasně zastavit posílání dat, aniž by se však uzavřelo spojení, nastaví tzv. choke příznak (zápis odmítnut). Snahou klienta je nejlepší možné využití obou směrů linky.
Spojení mezi klienty je na inicializováno vždy s příznakem choke na obou stranách. Algoritmus pak vybere určitý počet spojení, u kterých tento příznak odstraní. Tato spojení jsou vybírána podle množství aktuálně stahovaných dat (pro každé spojení je počítán průměr rychlosti přenosu za určitou minulou dobu). Výběr se provádí v určitých časových intervalech (10 vteřin), aby se předešlo neefektivitě způsobené častým nastavováním a mazáním příznaku. Tato doba je dostatečná, aby TCP protokol dosáhl plné kapacity přenosové cesty, jež je k dispozici.
Tento přístup má ještě jednu zásadní slabinu. Nezohledňuje nově založená spojení, která by samozřejmě mohla dosáhnout lepších výsledků, než ta stávající. Pro tento případ si klient vždy udržuje nejméně jedno spojení optimistic unchoke, které využívá nehledě na rychlost přenosu. Po trojnásobku doby pro výběr spojení (tj. 30s) se na řadu dostane další spojení – optimistic unchoke cyklicky střídá všechna spojení. Pokud se takové spojení ukáže jako efektivní, je samozřejmě vybráno jako unchoked.
Může dojít k situaci, kdy je u všech spojení, ze kterých klient stahoval data, nastaven příznak choke. Tento problém se řeší tak, že pokud déle než jednu minutu neobdrží klient z daného spojení žádná data, usoudí, že je daným klientem ignorován (snubbed) a kromě případu optimistic unchoke mu rovněž nezasílá data. To vede ke dvěma důsledkům:
- často je aktivní více než jedno optimistic unchoke spojení, což vede k rychlejšímu obnovení maximální rychlosti přenosu dat
- síť se stává odolnější vůči klientům, kteří data pouze stahují a odmítají je také sdílet s dalšími