Entenda como funciona o compartilhamento de arquivos torrent:

sábado, 19 de janeiro de 2008

BitTorrent

BitTorrent
Desenvolvedor Bram Cohen
Lançamento 2003
Última versão 6.0.0 (Windows)
5.0 (Linux)
4.4.1 (Mac OS X) (19 de setembro de 2007)
Sistema Op. Multiplataforma
Gênero P2P
Licença BitTorrent Open Source License
Website BitTorrent.com

Novos recursos

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

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

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

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 arquivo e que estejam conectados a rede torrent, esse método é útil e traz grande diferença na velocidade do download.


Broadcatching

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 idéia aponta para um grande número de idéias 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.

Apesar da ampla discussão, as primeiras aplicações práticas dessa idéia ainda estão nos estágios iniciais de desenvolvimento.

Questões legais


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 ilegalmente 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, o protocolo 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.

Comparação com outros sistemas de partilhamento


O método de distribuição de arquivos do BitTorrent é similar ao usado pela rede eDonkey2000 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 eDonkey2000 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 Edonkey2000 para este problema.

Partilhando arquivos


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

  • o nome do arquivo, tamanho, e o hash,a matrícula, de cada bloco do arquivo (que assegura aos utilizadores que o arquivo é o que o nome diz ser)
  • o endereço do servidor tracker (ver a seguir)

NOTA: 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, ao invés da ordem seqüencial.

O arquivo torrent pode ser distribuído para outros utilizadores, sendo um website o meio mais comum. O cliente BitTorrent é iniciado como um "nó semeador", permitindo que outros utilizadores se conectem a ele e comecem o download. Quando outros utilizadores terminam de descarregar o arquivo, eles podem tornar-se novos semeadores opcionalmente. 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 blocos de um arquivo mesmo que nenhuma fonte seja completa, uma vez que os blocos são distribuídos em ordem aleatória e é possível que a soma de todos os utilizadores seja completa.

Descarregar com o BitTorrent é bastante intuitivo. Cada pessoa que quiser descarregar um arquivo, primeiro deve descarregar o arquivo torrent que aponta para o arquivo, depois abri-lo no seu cliente BitTorrent (não existe sistema de busca, o utilizador deve procurar o torrent em sites da internet). 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. Ao contrário, os utilizadores que já terminaram de descarregar um arquivo são "semeadores" e fazem upload sem ganhar um bonus em troca.

O protocolo BitTorrent pode ser bem utilizado tanto por pessoas que possuem banda larga, quanto por pessoas que possuem conexão discada, uma vez que a estabilidade da conexão é que pode dar um menor ou maior conforto e não a velocidade da mesma. Embora seja muito mais comum que uma conexão banda larga seja mais estável que uma discada nada impede que o contrário aconteça.

O que é torrent, e como funciona?

O BitTorrent é uma tecnologia criada por Bram Cohen que permite o compartilhamento de qualquer tipo de arquivo pela internet, sendo muito usado para a distribuição de vídeos, músicas e programas. Sua forma de trabalho é muito eficaz e evita, por exemplo, que determinados usuários só façam download, mas não compartilhem arquivos (pelos menos teoricamente). Isso porque a taxa de download é equivalente à taxa de upload, ou seja, somente compartilhando é que você consegue baixar arquivos. Por esta razão, quando você está iniciando um determinado download, a velocidade utilizada é lenta e vai aumentando de acordo com o que já foi baixado do arquivo. Quanto mais você tiver de um arquivo, mais usuários se conectarão ao seu computador e pela regra, a taxa de velocidade do seu download aumenta.
Na verdade, o BitTorrent é um protocolo, que, como já dito, permite o compartilhamento de qualquer tipo de arquivo. Devido a isso, o BitTorrent não pode ser considerado um software para fins ilegais (como foi o pioneiro Napster, por permitir a distribuição de músicas no formato MP3), pois qualquer pessoa pode usar o protocolo para distribuir arquivos. Existem até empresas que compartilham seus softwares por este meio. Apenas como exemplo, suponha que um escritor criou um e-book. Além de disponibilizá-lo em um site, o autor pode distribuí-lo pelo BitTorrent e isso não fere nenhuma lei de proteção à propriedade intelectual. Se conteúdo ilegal é distribuído pelo serviço, a responsabilidade é dos usuários e não do programa.


BitTorrent é um protocolo de processamento rápido que permite ao utilizador fazer download (descarga) de arquivos indexados em websites. Essa rede introduziu o conceito "partilhe o que já descarregou" maximizando muito o desempenho e possibilitando downloads rápidos e imediatos.


Na rede BitTorrent os arquivos são quebrados em pedaços 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. O sistema de partilha optimiza ao máximo o desempenho geral de rede, uma vez que não existem filas de espera e todos partilham pedaços entre si, não sobrecarregando um servidor central, como acontece com sites, portais, de downloads por exemplo. Assim, quanto mais utilizadores entram para descarregar um determinado arquivo, mais largura de banda se torna disponível.