BitTorrent

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
Question book-4.svg
Este artigo ou se(c)ção cita fontes confiáveis e independentes, mas que não cobrem todo o conteúdo, o que compromete a verificabilidade (desde abril de 2012). Por favor, insira mais referências no texto. Material sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)
Disambig grey.svg Nota: Este artigo é sobre o protocolo BitTorrent. Para o cliente original BitTorrent, veja BitTorrent (programa). Para a empresa, veja BitTorrent (empresa).

BitTorrent[1] é uma maneira de compartilhar arquivos entre usuários em forma de protocolo de rede que permite ao utilizador realizar downloads (descarga) de arquivos sem que o arquivo em si precise estar em um servidor. É mais um exemplo de rede peer-to-peer de transferência de arquivos entre dois ou mais usuários. Esse protocolo introduziu o conceito de partilhar o que já foi descarregado, maximizando o desempenho e possibilitando altos índices de transferência, mesmo com um enorme número de usuários realizando descargas (downloads) de um mesmo arquivo simultaneamente. Enquanto nas outras redes você deve procurar pelo próprio programa o arquivo e baixá-lo, nos arquivos de protocolo BitTorrent a coisa é diferente. Acontece que, todos os usuários que fazem o download de um arquivo, tornam-se também fornecedores deste arquivo; quando alguém for baixá-lo, todos os computadores que já o possuem  através do torrent e que estiverem online no momento vão atuar como "semeadores", cada um fornecendo uma parte do arquivo, portanto quanto mais usuários fizerem o download, mais rápido será feito o compartilhamento, pois a parte enviada do arquivo por cada um será menor.

O bitTorrent foi criado por Bram Cohen em abril de 2001 e teve sua primeira implementação liberada no dia 2 de Julho de 2001.[2] Desde então tem sido alvo de empresas que lutam em defesa da propriedade intelectual, devido a alegações de violação de copyright (autoria) de alguns arquivos transmitidos pela rede. No ano de 2005 o protocolo BitTorrent foi responsável por 35% dos dados transferidos na Internet em todo o mundo.

Na rede BitTorrent os arquivos são quebrados em pedaços bem menores que o arquivo original, de geralmente 256Kb. Ao contrário de outras redes, os utilizadores da rede BitTorrent partilham pedaços em ordem aleatória, que podem ser reconstituídos mais tarde para formar o arquivo final. Num sistema de servidor central (como sites e portais de downloads, por exemplo), existe uma fila de espera e os usuários  dependem do funcionamento do servidor para enviar o arquivo para cada um, tornando o processo lento, principalmente quando são arquivos "grandes"/"pesados" e que são baixados por muitas pessoas ao mesmo tempo. No BitTorrent, o sistema de partilha otimiza o desempenho geral de rede, uma vez que não existem filas de espera e, portodos partilharem pedaços entre si, a quantidade de usuários baixando o mesmo arquivo apenas agiliza o processo, devido ao fato de todos se tornarem fornecedores dos pedaços do arquivo, não há  um servidor central, portanto não há sobrecarga,. Assim, quanto mais utilizadores entram para descarregar um determinado arquivo, mais largura de banda se torna disponível.

Acesso[3][editar | editar código-fonte]

Há diversos sites onde usuários disponibilizam seus arquivos .torrent. Porém como o número desses serviços é crescente, foi criado outro tipo de serviço: o de pesquisar arquivos nesses sites sem a necessidade de vasculhar um por um.

E, apesar de nos últimos tempos estarem parecendo um caça as bruxas, ou melhor, caça aos sites de torrent, você poderá encontrar bons downloads se procurar bem. Aqui vai uma lista dos sites nos quais você pode encontrar seus torrents:

  • Torrent-finder
  • I Love torrents
  • TorrentZilla
  • Torrent Reactor
  • Demonoid (privado)

Cliente[4][editar | editar código-fonte]

São programas compatíveis com arquivos torrents necessários para criação, download e envio. Sem eles é impossível fazer o download de torrents. Você poderá até baixar o arquivo .torrent que vai redirecioná-lo ao original, porém se não houver cliente (como BitTorrent, BitComet, µTorrent, Vuze etc...) não é possível dar continuidade ao processo. Estes programas têm interfaces bem divididas e podem organizar muito bem os seus torrents entre aqueles que ainda estão sendo baixados, os que já foram concluídos e os outros dos quais você se tornou um seeder.

Funcionamento[5][editar | editar código-fonte]

Baixar por torrent consiste em coletar fragmentos de um mesmo arquivo no computador de vários usuários que compartilham o conteúdo ou estejam fazendo download do mesmo documento. Isso é o que diferencia o compartilhamento por torrent de outras formas de download entre só dois usuários (P2P ou peer-to-peer). A transferência de dados acontece entre vários computadores que disponibilizam o mesmo arquivo. A sacada do protocolo BitTorrent é que o download também é realizado a partir de computadores que disponibilizam partes do mesmo arquivo, e não somente de quem baixou ele inteiro.

Para compartilhar um arquivo usando o BitTorrent, um utilizador cria um arquivo .torrent, um pequeno "apontador" que contém:

  • o nome do arquivo;
  • tamanho do arquivo;
  • hash, a matrícula de cada bloco do arquivo (que assegura aos utilizadores que o arquivo é o que o nome diz ser);
  • endereço do servidor tracker (ver a seguir)
BitTorrent reduz largamente a carga no servidor porque os utilizadores descarregam arquivos uns dos outros, não do servidor. As barras coloridas indicam que os pedaços são partilhados em ordem aleatória, em vez da ordem sequencial.

O arquivo torrent pode ser distribuído para outros utilizadores, sendo um website o meio mais comum. No website, geralmente é disponibilizado um "link" que irá conectar o usuário direto ao forncedor do arquivo .torrent, o site não contém o arquivo em si, apenas funciona como um intermediário entre o novo usuário e o fornecedor. O cliente BitTorrent se torna um "nó semeador",ou seja,se torna também um fornecedor do arquivo a partir do momento que inicia o download, permitindo que outros utilizadores se conectem a ele e comecem o download. Conforme outros utilizadores fazem o download do arquivo, eles também podem se tornar novos semeadores desse arquivo. Um dos problemas desse sistema é que se todos os semeadores saírem da rede, o arquivo, ficheiro, pode tornar-se indisponível para download, mesmo que se tenha o arquivo torrent. Com sorte ainda é possível descarregar todos os pedaços de um arquivo mesmo que nenhuma fonte seja completa, uma vez que os pedaços são distribuídos em ordem aleatória. Ou seja, mesmo se nenhum semeador possuir o arquivo completo, ainda é possível fazer o download do arquivo juntando as partes que cada semeador possui.

Descarregar com o BitTorrent é bastante intuitivo. Cada pessoa que quiser descarregar um arquivo, primeiro deve descarregar o arquivo torrent que aponta para o arquivo desejado, depois abri-lo no seu cliente BitTorrent, que é um software que usa o arquivo torrent para encontrar e descarregar o arquivo desejado. O arquivo torrent mostra ao cliente o endereço do tracker, que mantém um log de quais os utilizadores que estão descarregando o arquivo e onde o arquivo e seus pedaços estão (caso o tracker esteja fora do ar fica impossível começar o download). Depois do download começar, se o tracker sair do ar ainda é possível continuar o download, mas perde-se a informação de quais os utilizadores que estão online e quais os blocos que estão disponíveis. Para cada fonte disponível o cliente lista quais blocos do arquivo que estão disponíveis, para depois pedir o bloco menos disponível na rede que ele ainda não possui. Essa priorização dos blocos mais raros entre os utilizadores da rede primeiro faz com que todos tenham blocos para partilhar. Assim que um cliente termina de descarregar um bloco, ele é automaticamente "hasheado" para garantir a integridade e segurança do mesmo, para em seguida procurar um cliente qualquer para fazer o upload daquele bloco.

BitTorrent proporciona a melhor performance para pessoas com maior volume de upload, uma propriedade conhecida como "resistência a sugadores", já que ele não garante performance para utilizadores que somente descarregam e não devolvem nada para a rede e os outros utilizadores.

Termos do universo BitTorrent[6][editar | editar código-fonte]

  • Seeder: Como tudo no mundo, os torrents também começam com uma semente. Isso, uma semente, isto é, um "seeder". Semeador, em bom português. O processo de compartilhamento de arquivos é iniciado por um usuário que envia um arquivo de extensão .torrent em um site da internet. Feito isso, todos os usuário que tiverem interesse naquele conteúdo podem baixá-lo.
  • Leecher: Enquanto se baixa um torrent, se assume o papel de leecher (literalmente "sanguessuga"), aquele que aproveita. Porém este papel é um tanto ambíguo. Enquanto você faz o download pode também se tornar um seeder, pois partes do arquivo já terão sido concluídas e já vieram para seu computador, então automaticamente estão disponíveis para outros leechers que possam se interessar. Portanto você pode ter um papel unico (seeder ou leecher) ou optar por ambos somultaneamente.
  • Swarm: (Enxame) É um grupo formado por seeders e leechers que compartilham arquivos torrents. Peers (pessoas ou usuários) conectados por um tracker.
  • Tracker: Neste caso específico o servidor se chama tracker. Ao contrário do que muitos podem pensar este servidor não é como os outros. Os trackers não armazenam nenhum dos arquivos. "Entao pra que eles servem?" - semplesmente para executar a função de conectar os usuários para que estes possam executar seus papéis de seeder ou leecher.
  • PEX: O Peer Exchange é um dos pontos de destaque da relação usuário-tracker, já que permite que esta aconteça de forma diferenciada. O grande trunfo do PEX é o fato que ele permite que um indivíduo pertencente a um Swarm possa trocar informações sobre o próprio grupo diretamente, sem que seja necessário pedir a autorização do tracker. A vanragem dessa função é justamente poupar este servidor de algumas tarefas. Assim, percebe-se que existe autonomia na hora e encontrar arquivos via torrent.
  • Hash: Estes hashs que confundem tanto com vários números e letras em uma ordem estranha têm uma razão de ser. Sempre que você terminar de fazer o download de um pedaço do arquivo, o seu cliente torrent vai criptografá-lo, ou seja, fazer o hash. Isso é feito para que você tenha garantias de que não vai fazer o download de algo que não ordenou. Assim, seu torrent é transformado em uma sequência alfanumérica de 128 bits muito semelhantes a este exemplo: "9e107d9d372bb6826bd81d3542aq419d6". As sequências são produzidas através do algoritmo MD5, ou seja, o modelo de criptografia unidirecional que não permite o retorno a frase nque lhe deu origem. Este formato é muito comum em trocas do tipo P2P e até mesmo em verificações de login. Tudo isso serve para garantir que não está baixando algo corrompido e que há uma preocupação com a segurança nos downloads e uploads.
  • DHT: As DHTs, ou seja, tabelas de hash distribuído, são uma das peças chaves na hora de fazer downloads de arquivos torrent. Elas são uma espécie de sistema distribuído descentralizado que trabalha com pares de informações. As chaves e os valores são armazenados nesta tabela e, assim, qualquer nó - normalmente os leechers - é capaz de recuperar esse valor associado a uma chave para fazer o download de blocos de um arquivo maior. As DHTs ficam guardadas nos trackers. Por isso, quando você for procurar por um arquivo, a tabela deverá estar bem arquivada e atualizada para gerar o mínimo de desordem. O surgimento das DHTs estão intrinsecamente ligados ao nascimento das redes P2P e aos sistemas como Gnutella, Napster e o Freenet. Além de serem eficientes, as tabelas são bastante maleáveis, permitindo a adaptação ao sistema no qual ela é utilizada. No Napster, por exemplo, a adição dos dados aconteciam no momento em que o usuário fazia o seu cadastro. A partir deste ponto, as informações de arquivos a serem compartilhados no computador seriam armazenadas no servidor. Os hashs são pontos cruciais nesse caso, porque são meios de mapeamento das chaves para os nós desta rede. São essas DHTs que promovem o encontro entre o seeder e o arquivo que ele procura.

Comparação com outros sistemas de partilha[editar | editar código-fonte]

O método de distribuição de arquivos do BitTorrent é similar ao usado pela rede eDonkey 2000 com uma pequena diferença. Os nós da última costumam partilhar um número muito maior de arquivos, tornando a banda disponível para cada arquivo muito menor. Isso não acontece na rede BitTorrent, pois normalmente cada nó não partilha um número muito grande de arquivos diferentes, tornando maior a disponibilidade de banda. Como na rede eDonkey 2000 o volume de arquivos partilhados em cada nó é muito grande, geram-se filas de espera muito longas, aumentando muito o tempo de download. Como compensação existe um sistema de créditos implementado pelos clientes como o eMule por exemplo. Os créditos são dados pelo cliente que faz o upload para o cliente que faz o download de um determinado arquivo, evitando que os créditos possam ser alterados pelo cliente que faz o download. Cada cliente que entra na fila de espera de um outro cliente ganha uma posição maior ou menor dependendo dos créditos que ele possui. Devido ao enorme volume de arquivos e ao sistema de créditos e fila de espera, as velocidades de download costumam ser muito instáveis.

O sistema de compensação por uploads do BitTorrent já era implementado numa variante no KaZaA em 2002. O nível de participação de um usuário aumentaria e baixaria de acordo com o volume de uploads. Então quando você faz upload de um arquivo, a pessoa com o maior nível de participação ganha prioridade, que faz o upload para a pessoa com o segundo maior nível de participação, que faz para a terceira e assim por diante. É como uma pirâmide, com a pessoa com a maior banda de upload disponível no topo, seguidas das outras na hierarquia. Este é o modo mais eficiente de distribuir um arquivo, os arquivos são distribuídos a partir do topo, onde está uma quantidade menor de usuários, para os níveis abaixo até a base, onde está a maior quantidade de usuários. Infelizmente o sistema adotado pelo KaZaA é considerado por alguns como falho, uma vez que ele depende que o próprio cliente reporte o seu nível de participação, o que permite que os usuários possam deliberadamente editar o seu nível enganando os outros clientes. O sistema de créditos armazenados no cliente que faz o upload, não no que faz o download, é a correção implementada pela rede eDonkey 2000 para este problema.

Questões legais[editar | editar código-fonte]

Inicialmente criada para distribuir arquivos de forma legal, sem violar nenhum copyright, como as distribuições de GNU/Linux, trailers de filmes de alta qualidade ou qualquer outro tipo de material de livre distribuição, o BitTorrent também é conhecido por ter na rede usuários partilhando músicas, filmes e programas ilegalmente, assim como acontece com as outras redes P2P. A rede BitTorrent foi usada para distribuir cópias ilegais de alta qualidade do filme The Matrix Reloaded já nos dias seguintes após o filme ser lançado nos cinemas. Outros casos famosos foram o do vazamento do código fonte do jogo Half-Life 2 e até uma parte do código fonte do Windows NT e do Windows 2000. Devido ao grande potencial da rede BitTorrent em distribuir material ilegal e rapidamente pelo mundo, uma chuva de processos vindos de diversas autoridades defensoras da propriedade intelectual, incluindo governos, atacou os principais sites de distribuição e indexação de torrents no mundo, o que envolveu muito dinheiro, semelhante à polêmica do MP3. Apesar disto, deve-se considerar que o BitTorrent não foi criado com propósitos de pirataria, os utilizadores que fazem mau uso do protocolo é que são os errados, o protocolo em si se mostrou eficiente em tirar a sobrecarga de sites que oferecem demos e videos legalizados para o público comum. Alguns desenvolvedores, publicadores e sites do mundo já aderiram ao protocolo ou a outros protocolos P2P como uma forma de reduzir os custos de manutenção de grandes servidores de arquivos.

Acompanhando o sucesso do seu protocolo inovador, o seu criador, Bram Cohen foi contratado para desenvolver uma nova maneira de distribuir correções e outros tipos de conteúdos para jogos online em 2004, demonstrando que existem pontos legais e inovadores da sua tecnologia que merecem ser explorados. Até o momento, o BitTorrent é o protocolo P2P mais popular adotado para usos legalizados. Outras redes como a Gnutella e eDonkey2000 também têm nos seus acervos dos usuários arquivos legalizados, porém estes arquivos estão lá por conta de alguns usuários, não por decisão dos criadores ou publicadores daquele material.

Existem duas diferenças principais entre o BitTorrent e outros protocolos de partilha, partilhadores, comumente conhecidos. Primeiramente, o BitTorrent não oferece um sistema de busca interno, o usuário deve procurar os arquivos torrent que apontam para o arquivo que ele quer baixar por indicação de alguém ou procurando em sites que indexam torrents. E em segundo lugar, a rede não dá suporte ao usuário para distribuir um arquivo, ele deve rodar um tracker, localizador, para tornar o seu torrent disponível para os outros por conta própria ou usar um tracker de terceiros para isso. Essas duas características tornam a rede BitTorrent um alvo improvável de processos judiciais, bem como os seus usuários. Porém, o mesmo não se pode dizer daqueles que rodam trackers ou sites indexadores de torrents para distribuição de programas comerciais, jogos, filmes completos, músicas, etc.

Novos recursos[editar | editar código-fonte]

O protocolo BitTorrent está em constante desenvolvimento, o que indica que ele pode sempre vir a suportar novos recursos e melhorar o desempenho constantemente.

Alternativas ao BitTorrent[editar | editar código-fonte]

O protocolo BitTorrent não indexa os arquivos torrent, impossibilitando as buscas por nome do arquivo, o que o isenta de eventuais responsabilizações judiciais por conteúdo ilegal que venha a ser distribuído por meio deste protocolo. Para a busca de arquivos existem alguns poucos sites indexadores ("trackers") que hospedam a maioria dos arquivos torrent, tornando-os, estes sim, alvos prováveis de processos judiciais. Em resposta, alguns desenvolvedores criaram meios de publicar arquivos de maneira mais anônima, enquanto ainda tiram vantagem da velocidade do BitTorrent. O cliente Shareaza por exemplo, suporta BitTorrent e as redes eDonkey2000 e Gnutella, além da sua própria rede, a Gnutella2. Outro cliente que suporta várias redes, incluindo BitTorrent, é o MLDonkey. Em resposta ao fechamento do site Suprnova, o administrador de lá criou uma companhia e o programa de partilhamento Exeem, que diz descentralizar o BitTorrent eliminando a necessidade de trackers. Diferentemente do BitTorrent, o Exeem não tem código fonte aberto e é patenteado por uma empresa.

Semeamento via web[editar | editar código-fonte]

Um recurso implementado recentemente no BitTorrent é a sementeira via web. A vantagem desse recurso é que um site pode distribuir um torrent de um determinado arquivo ou grupo de arquivos e torná-los disponíveis para download do mesmo servidor web. Este recurso pode simplificar bastante o semeamento e o balanceamento de carga do servidor, assim que os diversos clientes implementarem este recurso. Em teoria isso poderia tornar o download de um arquivo na rede BitTorrent tão fácil quando baixar de um site comum, enquanto a carga do uso de banda é distribuída entre os usuários que estão baixando aquele arquivo. Esse recurso ainda é extra oficial, criado por um autor de um cliente alternativo.

Announce[editar | editar código-fonte]

O "Announce" nos clientes torrents são listas de servidores que redirecionam os downloads dos clientes para os servidores ou usuários que possuem os arquivos e que estejam conectados a rede torrent, esse método é útil e traz grande diferença na velocidade do download.

Broadcatching[editar | editar código-fonte]

Um outro recurso proposto combina RSS e BitTorrent para criar um sistema de entrega de conteúdo apelidado de broadcatching. O recurso é explicado por Scott Raymond:

"Eu quero receber arquivos torrent por meio de RSS." (em outras palavras, assim como você se cadastra num site para receber notícias por e-mail, você poderia se cadastrar num site para receber arquivos com o conteúdo desejado, como trailers de novos filmes, músicas, seriados, etc)

Apesar de poder levar a usos potencialmente ilegais, como todo novo método de distribuição de arquivos, a ideia aponta para um grande número de ideias paralelas, podendo inclusive dar oportunidade para pequenos distribuirem conteúdo próprio a um grande número de pessoas a um baixo custo. Obtendo-se a vantagem do baixo custo de distribuição, já que cada usuário que baixa um arquivo contribui com parte da sua banda para a distribuição para outros usuários.

Como o BitTorrent criptografa o hash de todos os dados, quem assinasse um RSS teria a garantia que não receberia conteúdo falso ou corrompido.

Ver também[editar | editar código-fonte]

Referências

  1. TecMundo (25 de julho de 2012). «O que é Torrent?». TecMundo - Descubra e aprenda tudo sobre tecnologia 
  2. Cohen, Bram (2 de julho de 2001). «BitTorrent — a new P2P app». Yahoo eGroups. Consultado em 15 de abril de 2007. 
  3. TecMundo (30 de novembro de 2009). «A bíblia do Torrent». TecMundo - Descubra e aprenda tudo sobre tecnologia 
  4. TecMundo (30 de novembro de 2009). «A bíblia do Torrent». TecMundo - Descubra e aprenda tudo sobre tecnologia 
  5. «Como funciona um download por torrent?». Mundo Estranho 
  6. TecMundo (30 de novembro de 2009). «A bíblia do Torrent». TecMundo - Descubra e aprenda tudo sobre tecnologia 

Ligações externas[editar | editar código-fonte]

Outros projetos Wikimedia também contêm material sobre este tema:
Commons Imagens e media no Commons