Resumo

  • O BitTorrent transferiu boa parte do tráfego de saída de arquivos populares do publicador para as pessoas que os baixavam. Servidor web, tracker e semente inicial completa continuaram no caminho da distribuição.
  • O choking recíproco descrito por Cohen era uma estratégia do cliente, não uma obrigação do protocolo de rede. Um par podia enviar mais do que recebia, contribuir só o bastante para melhorar seu próprio download ou parar de compartilhar.
  • Um estudo de 2007 mostrou que clientes estratégicos podiam reduzir o envio e melhorar o desempenho individual. O resultado vale para os enxames e as medições daquela pesquisa, não para todo cliente ou enxame posterior.

A origem não precisa enviar todas as cópias

Em uma transferência HTTP comum, o servidor de origem entrega cada cópia do arquivo. Se o público cresce depressa, o publicador precisa reservar mais capacidade de saída ou aceitar uma entrega mais lenta. No artigo de 2003, Bram Cohen propôs repartir essa tarefa: quando várias pessoas baixam o mesmo arquivo, elas trocam partes entre si e acrescentam capacidade de upload à distribuição.

O ganho possível é uma mudança no ponto em que a capacidade se concentra. A origem continua a lançar o arquivo, mas não precisa ser a única fonte dos bytes enviados a cada pessoa. Cohen argumentou que a solução podia tornar viável hospedar arquivos muito populares, sobretudo em lugares onde a banda de upload dos usuários não era cobrada por volume. O contexto é essencial: uma conexão sem franquia não elimina o custo da rede, da energia ou do equipamento, e nem todo plano de acesso funciona dessa maneira.

O início da distribuição ainda depende de uma pequena cadeia de serviços. O publicador coloca um arquivo de metadados .torrent em um servidor web normal; um tracker ajuda os pares a se localizar; e uma semente que já tem o arquivo inteiro precisa começar a enviá-lo. Cohen descreveu o tráfego do servidor web e do tracker como baixo diante do volume transferido entre pares, mas a semente deve fornecer ao menos uma cópia completa. A rede muda quem carrega a maior parte do tráfego; não apaga a origem.

Por isso, a promessa não deve ser resumida como “hospedagem sem custo”. A origem pode enviar menos dados, mas o efeito na fatura depende do preço da banda, dos limites de capacidade, de quanto os pares realmente enviam e de por quanto tempo uma cópia completa permanece disponível. A distribuição transfere trabalho e capacidade para os participantes; ela não faz o trabalho desaparecer.

A regra de troca não distribui cotas

Cohen explica que cada par escolhe a quem enviar dados usando uma variante de tit-for-tat. Um cliente pode aplicar choking, interrompendo temporariamente os envios a uma conexão sem impedir que continue baixando dela. Também pode fazer um optimistic unchoke: experimentar de tempos em tempos um par que ainda não recebia dados, para descobrir se outra conexão oferece uma troca melhor.

Isso é uma política local, não um árbitro da rede. Cohen afirma que o algoritmo de choking não faz tecnicamente parte do protocolo BitTorrent. O protocolo permite trocar dados e sinais; cada programa decide a quem atende. Portanto, dizer que o protocolo garante reciprocidade confunde uma política de cliente com uma regra comum. A disponibilidade de partes, a rotatividade das conexões, as diferenças entre clientes e a capacidade de upload que sobra influenciam o que cada participante recebe.

O publicador também tem uma escolha: usar ou não o BitTorrent. Já o usuário adere porque quer aquele arquivo. Cohen observou que clicar em um link e escolher onde salvar era tão simples que a facilidade de uso poderia importar mais para a adoção do que o desempenho ou a redistribuição dos custos. Uma regra de incentivo só ajuda se as pessoas entrarem no sistema e permanecerem nele.

O teste de 2007 e o espaço para agir estrategicamente

Em 2007, Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy e Arun Venkataramani reexaminaram se os incentivos tornavam o BitTorrent robusto. Com modelos parametrizados por registros reais, encontraram recursos enviados pelos pares que não melhoravam diretamente o desempenho de quem contribuía. O cliente BitTyrant procurava explorar esse espaço ajustando seu conjunto de pares ativos e a taxa enviada a cada um.

O resumo da conferência informa um ganho mediano de 70% para um cliente de 1 Mbit/s nos enxames ao vivo medidos. Os autores também alertaram que, se clientes estratégicos fossem adotados por todos, o desempenho médio por enxame poderia cair em comparação com as implementações avaliadas. O estudo questiona a ideia de que tit-for-tat, sozinho, assegurava contribuições robustas. Não mede todos os clientes de hoje, e o número de 70% não é uma promessa geral de velocidade.

A diferença é entre orientar a troca e obrigar cada pessoa a oferecer toda a sua capacidade. A reciprocidade podia recompensar uploads úteis, enquanto os testes otimistas e a desigualdade de capacidade deixavam contribuições sem retorno direto. Um cliente estratégico tentava ficar com parte desse valor. O efeito de uma adoção ampla dependeria do comportamento do enxame e da capacidade que continuasse disponível.

Uma cópia completa continua sendo responsabilidade de alguém

Para iniciar, o publicador precisa manter os metadados, oferecer um tracker ou outra forma de descoberta dos pares e colocar uma semente completa em funcionamento. Depois, cada cliente decide o quanto vai contribuir. O desenho descrito por Cohen não tem um alocador central que imponha uma cota de upload a cada pessoa.

Essa autonomia ajuda a escalar a entrega, mas torna o fornecimento de capacidade incerto. O publicador não precisa comprar sozinho toda a banda de saída, e o usuário escolhe se continua compartilhando depois de baixar. Porém, se a semente sair antes que todas as partes tenham sido copiadas ou se o último par com uma parte rara se desconectar, o arquivo pode ficar incompleto. A seleção de peças menos comuns primeiro ajuda a espalhá-las, mas não recupera uma peça depois que sua última cópia desaparece.

A pergunta operacional não é se o BitTorrent “resolveu” a hospedagem. É quanto tráfego continua saindo da origem, quanto os pares absorvem de fato e o que mantém um arquivo completo quando a procura diminui. Cohen transformou baixadores em distribuidores potenciais. A pesquisa posterior mostra por que essa capacidade precisa ser acompanhada, em vez de presumida.

Fontes