Apresentado por Walfredo Cirne Freenet: A Distributed Anonymous Information Storage and Retrieval System por Ian Clarke, Oskar Sandberg, Brandon Wiley, e Theodore W. Hong Apresentado por Walfredo Cirne
Motivação Computadores são hoje um meio de comunicação Quem controla a comunicação tem (muito) poder Como dividir este poder? Como manter comunicação democrática? Como garantir a liberdade de expressão? Leis e atuação política são a resposta clássica para estas questões Mas, será que conseguimos construir um sistema que garanta a liberdade de expressão?
Censura × Liberdade de Expressão Censurar é impedir alguém de comunicar sua opinião Uma forma muito cruel (e efetiva) de censura é punir o autor (ou leitor) da opinião indesejada Freenet foi construido para garantir anonimato
Objetivos do Freenet Anonimato para produtores e consumidores de informação Negabilidade do armazenamento de informação Resistência a tentativas de negar acesso a informação Descentralização de toda as funções Armazenamento e roteamento eficiente
O Básico Rede Peer-to-Peer Peers podem publicar e consultar informação Você precisa conhecer o endereço de algum peer para se juntar ao Freenet Peers podem publicar e consultar informação Conteúdo é publicado usando um hash do título Chave SHA-1 160 bit Conteúdo é criptografado pelo título
O Básico Cada peer mantém: conjunto de arquivos locais, i.e. (hash, conteúdo criptografado) tabela de roteamento contendo (hash, peer responsável) Consultas são enviadas ao peer que conhece o hash mais próximo do hash desejado Consultas bem sucedidas incluem uma nova rota para origem do conteúdo Consultas contém um id para evitar loops e hops-to-live para robustez
Exemplo
Detalhes sobre Consulta Peers intermediários fazem cache do conteúdo que passa por eles Peers tem uma probabilidade de assumir a origem do conteúdo ao roteá-lo Espera-se que este esquema leve a: Replicação de conteúdo populares Especialização dos peers em parte do espaço de busca, melhorando assim o roteamento
Armazanamento Armazenamento começa com uma consulta para verificar se chave já existe Colisão retorna erro e replica o conteúdo já existente na rede Se não há colisão, o peer inseridor copia o conteúdo para os hops-to-live peers contactados
Gerenciando os dados LRU para “resolver” falta de espaço Assim, o Freenet não garante a permanência eterna de conteúdo
Detalhes do protocolo Handshake para especificar protocolos Mensagens contém: 64-bit transaction ID HTL counter Depth counter
Pesquisa e Atualização Os próprios objetivos do Freenet levaram a um design que dificulta pesquisa e atualização Pesquisa podia ser facilitada com arquivos especiais de keyword, que apontariam para o conteúdo, e que tolerariam duplicatas Atualização poderia ser permitida via assinatura digital requer indireção e faz id do conteúdo ser chave pública Indices e compilações também poderiam ajudar na pesquisa
Avaliação Avaliação inicial usando simulação 500 a 900 peers, onde cada peer: Armazana no máximo 40 conteúdos Começa com 10 conteúdos Tem uma tabela de roteamento com 50 endereços Configuração original da rede é linear Note que esta hipótese é pessimista
Consultas com Sucesso
Número de Hops
Segurança Cobertura de segurança DoS pode ser combatido com hash cash
Conclusões Freenet provê meios anonimous de armazenar e recuperar conteúdo Não há como saber quantos usuários usam, mas já houve mais de 2 milhões de downloads Mais informações em freenet.sourceforge.net