http://www.pedro.jmrezende.com.br/sd.htm > Protocolos: P2P

Uma breve história do P2P

Monografia do curso de Segurança de Dados 2/03

Thiago F. G. Albuquerque
Departamento de Ciência da Computação
Universidade de Brasília
Setembro de 2003

As origens
Como o Napster funciona
Implicações legais
A Definição de P2P
A Indústria contra-ataca

A Freenet
Referências


As origens

No princípio era o Napster...

Em maio de 1999, Shawn Fanning, um estudante universitário de 18 anos, criou um software que combinava o sistema de mensagens instantâneas do IRC, o sistema de compartilhamento de arquivos do Windows e Unix e as capacidades de busca das máquinas de pesquisa. O seu objetivo era criar um sistema que tornasse mais fácil compartilhar arquivos mp3. Ele batizou o seu programa de Napster (o seu apelido na universidade), fundou uma empresa com o mesmo nome e passou a distribuir o cliente de graça.

O Napster se tornou a aplicação de internet de crescimento mais rápido de todos os tempos, atingindo um pico de 13.6 milhões de usuários em fevereiro de 2001 (fonte: comScore Media Metrix). Shawn Fanning foi capa da revista Time.
 

 

 

Como o Napster funciona

Estritamente falando, o Napster não é um sistema P2P, porque ele depende de um servidor central (mais sobre isso abaixo). Esse servidor é chamado de servidor de diretório (directory server). O servidor de diretório contém um banco de dados de todos os clientes do Napster. Para cara cliente, estão armazenados, entre outras coisas: o IP da máquina, o nome do usuário, a lista de arquivos que ele está compartilhando e se ele está ou não on-line.

Cada usuário deve instalar o cliente do Napster na sua máquina. Na primeira vez que o cliente é executado, ele "se registra" na rede, ou seja: ele é incluido no banco de dados do servidor de diretório.

Quando o usuário realiza uma busca, uma requisição é enviada ao servidor de diretório, que retorna para o cliente uma lista de todos os outros clientes atualmente on-line que contém o arquivo desejado. O usuário então, escolhe de qual das máquinas ele quer baixar aquele arquivo, e tenta abrir uma conexão com ela. Chamamos essa máquinas de 'A' (a máquina do usuário) e 'B'. 'A' envia uma mensagem a 'B', contendo o seu próprio IP e o nome do arquivo que ele quer baixar. Se tudo correr bem, a conexão é estabelecida e o download começa. Quando o download termina, 'B' finaliza a conexão.

[1]

 

Implicações legais

A palavra Napster é usada para se referir a várias coisas. Existem o (cliente) Napster, a rede Napster e a empresa Napster.

Apenas sete meses após ter ter sido fundada, a empresa foi processada pela Recording Industry Association of America (RIAA) por violamento da lei de copyright. A RIAA alegava que a Napster tinha ilegalmente criado um negócio baseado no uso de material com copyright que ela não tinha o direito de distribuir. A Napster, por sua vez, dizia que ele estava simplesmente fornecendo um serviço e que eram os usuários que estavam distribuindo o material entre si.

O fato do Napster usar um diretório central contribuiu para que a RIAA levasse o processo adiante. Mesmo que a Napster tivesse razão quanto à sua responsabilidade na pirataria, o fato é que ela poderia evitar a pirataria se quisesse (ou se fosse obrigada a fazê-lo). Redes P2P posteriores, como a Gnutella, não têm um servidor central; são completamente peer-to-peer. Isso levou a uma longa batalha judicial. Em julho de 2001, um juiz ordenou que a Napster ficasse off-line até que estivesse provado que ela estivesse totalmente livre de "música ilegal". A Napster entrou em decadência financeira e terminou falindo em setembro de 2002.

A Napster foi comprada por Roxio Inc. em 2002. Em outubro de 2003, a empresa reabriu, mas desta vez de maneira totalmente diferente. O novo serviço se chama "Napster 2.0", é pago, não é peer-to-peer e, tirando o nome e o logotipo, mantém pouca semelhança com o Napster original. Em novembro, foi lançado o Napster Card. Esse cartão pode ser comprado em lojas nos EUA por $14.85 e contém um número dá direito a baixar 15 músicas usando o Napster 2.0.

 

 

Um número de outras redes surgiu no vácuo deixado pelo Napster, entre elas a Gnutella e a Freenet. Novos projetos, como SETI@home e Popular Power, foram além do compartilhamento de arquivos e usaram o P2P para compartilhar também ciclos ociosos de CPU.

 

A Definição de P2P

Com a explosão do fenômeno P2P, algumas pessoas começaram a pensar sobre a definição de P2P. O professor da NYU Clay Shirky observou que a definição literal de P2P tem conseqüências desconcertantes:

"Tomado literalmente, servidores falando um com o outro são peer-to-peer. O jogo Doom é peer-to-peer. Tem até pessoas aplicando o rótulo a email e telefones. Enquanto isso, o Napster, que começou todo o processo, não é peer-to-peer no sentido estrito, porque ele usa um servidor central para armazenar ponteiros e resolver nomes." [2]

A partir disso, ele sugeriu uma nova definição:

“[a] interpretação literal da expressão 'peer-to-peer' não está nos ajudando a entender o que torna o P2P importante. Simplesmente ter computadores atuando como peers na Internet não é nenhuma novidade. Assim, o fato da arquitetura ser P2P não basta para explicar as mudanças recentes no uso da Internet."

O que realmente mudou é: o que os nós dessas redes P2P são -- PCs com conexão a Internet que até agora tinham sido relegados a mera condição de clientes -- e onde esses nós estão -- nas bordas da Internet, desligados do DNS por não terem IP fixo." [2] Na nova definição de Shirky, o Napster é P2P.

 

A Indústria contra-ataca

As novas redes como Gnutella não possuem um servidor central. Para combater a pirataria nessas redes, a indústria fonográfica tem que atacar a rede como um todo. Para isso, ela tem lançado mão de técnicas de "hacking", como spoofing, negação de serviço e seqüestro de domínio (domain name hijacking). Essa idéia foi proposta por dois estudantes da Universidade de Washington, que a descreveram em um artigo.

No spoofing, a rede P2P é inundada com arquivos falsos ou corrompidos, degradando a qualidade do serviço. A probabilidade de o usuário baixar um arquivo corrompido aumenta, assim como a de que ele perca a paciência e desista de usar a rede de uma vez. As redes foram se adaptando a ataques de spoofing ao longo do tempo. Versões mais recentes do Morpheus, por exemplo, incluem um sistema de avaliação da qualidade dos arquivos. Assim, o usuário tem como saber quais arquivos são confiáveis e quais são corrompidos.

Ataques de negação de serviço consistem em bombardear a rede ou um host específico com requisições para que ele fique sobrecarregado e pare de atender aos usuários de verdade. Por exemplo, podem-se iniciar vários downloads lentos para tomar toda a banda de uma máquina alvo. Seqüestro de domínio consiste em "envenenar" um servidor de DNS para que o tráfego que normalmente iria para uma máquina passe a ir para outra.

O problema com essas abordagens é que "hackear", nos EUA, é ilegal. Bem, pelo menos por enquanto. O congressista americano Howard Berman propôs uma lei que legaliza o uso desse tipo de coisa por parte dos dententores de copyright. Em suas palavras:

"(...)enquanto a tecnologia de P2P é livre para criar novos e mais eficientes métodos de distribuição que exacerbam mais ainda o problema da pirataria, os detentores de copyright não são igualmente livres para criar respostas tecnológicas. Isso não é justo, e hoje meus colegas e eu estamos introduzindo uma legislação que permite aos detentores de copyright usar tecnologia para lidar com pirataria tecnológica." [3]

Essa lei tem recebido fortes críticas por parte das entidades de defesa de liberdades civis, como a EFF e a FSF.

Enquanto alguns podem argumentar que é justo deixar que a indústria fonográfica proteja seu negócio, as suas alternativas se restringem hoje ao que é considerado como "uso malicioso de computadores". Se essa imunidade lhes for concedida, certamente isso vai ajudar no combate a pirataria, mas existe o risco de que usuários inocentes sejam prejudicados em meio ao fogo cruzado. E esses usuários teriam poucos direitos no que diz respeito à indenização. Como disse Steve Griffin, da StreamCast Networks, "Mesmo policiais não estão acima da lei. Detentores de copyright certamente não deveriam estar."

Além disso, existem vários usos legítimos para redes P2P. Dar permissão para alguém sabote as redes a seu bel-prazer pode ter impacto no desenvolvimento da tecnologia. Ataques desajeitados ou mal concebidos podem causar muito estrago, sem que seja possível obter qualquer indenização dos responsáveis. Em suma: a lei de Berman cria o cenário para uma verdadeira guerra on-line entre a indústria fonográfica e a comunidade de usuários de P2P.
 

A Freenet

Uma exposição sobre P2P não estaria completa sem mencionar a Freenet. A prioridade da Freenet é a liberdade de expressão e o anonimato. Para obter isso, a comunicação entre os nós é encriptada, assim como a informação armazenada em cada nó. O usuário contribui com um pedaço do seu HD, mas ele não sabe o que exatamente está armazenado lá.

A rede responde adaptativamente a padrões de uso, replicando dinamicamente a informação para que ela fique mais próxima de onde ela é mais requisitada -- o que tem sido chamado de transparent lazy replication. Isso otimiza o uso da banda e tem implicações que vão muito além do simples compartilhamento de arquivos. Como diz o seu criador, Ian Clarke:

"Na Freenet, a informação mais popular se torna mais amplamente distribuída, o que significa que você não vai ter o que algumas pessoas chamam de 'o efeito slashdot', em que uma informação extremamente popular se torna indisponível. A disponibilidade da informação na Freenet cresce na mesma proporção que a sua popularidade." [4]

A Freenet pretende ser um novo paradigma para a Internet. Quanto à questão do copyright, Ian Clarke é radical:

"O problema central do copyright é que o seu cumprimento exige o monitoramento das comunicações, e você não pode ter garantia de liberdade de expressão se alguém está monitorando tudo o que você diz.(...)

Você não pode garantir liberdade de expressão e cumprir a lei de copyright. É por essa razão que a Freenet, um sistema projetado para proteger a liberdade de expressão, tem de impedir o cumprimento do copyright." [5]

Atualmente, a Freenet tem sérios problemas de interface com o usuário. Dos projetos P2P que tem por aí, a Freenet é o menos "usável":

"Você pode ver o que ela pode vir a ser algum dia, mas no momento, ela não é muito útil: a instalação é desajeitada, e não há nenhum cliente bem-acabado. É difícil descobrir quais outros nós estão on-line; quando você acha um nó, é difícil descobrir o seu conteúdo; e uma vez achado o conteúdo, não existe um jeito de discernir a sua qualidade." [6]

 Mas, tecnicamente, é um dos mais interessantes. E dos mais promissores.

Referências

[1]    Essa figura foi tirada de http://ntrg.cs.tcd.ie/undergrad/4ba2.02‑03/p4.html #NapsterArchitectureandHowitWorks

[2]    http://www.openp2p.com/pub/ a/p2p/2000/11/24/shirky1-whatisp2p.html

[3]    http://www.house.gov/apps/list/press/ ca28_berman/piracy_prevention_act.html

[4]    http://www.openp2p.com/ pub/a/p2p/2000/11/14/ian.html

[5]    http://freenetproject.org/index.php ?page=philosophy

[6]    http://www.openp2p.com/pub/ a/p2p/2000/11/21/freenetcontent.html