Når en klient begynner å laste ned ei fil, får den ikke nødvendigvis begynnelsen av fila først. Til å begynne med, sendes tilfeldige biter av fila til alle klientene. Så kobler brukerne til hverandre og utveksler de forskjellige delene. Når nok brukere er koblet til hverandre, vil omsider alle få tak i hele fila. Dette får hastigheten på opp- og nedlasting til å øke med antallet brukere som laster ned, til forskjell fra tradisjonelle metoder, der det går mye tregere når alle laster ned fra samme kilde.