# Distributed.net

distributed.net (em português pode ser traduzido para «rede distribuída») é uma organização sem fins lucrativos criada para promover projectos de computação distribuída. Em poucas palavras, o objectivo é utilizar os ciclos mortos de CPU no máximo possível de computadores em todo o mundo, para cálculo, concursos, etc., constituíndo assim um enorme sistema distribuído com débito de processamento gigantesco.
O projecto inicial da distributed.net foi promovido por desafio proposto pela RSA: quebrar o algoritmo RC5-56 (i.e., RC5 de 56 bit). O vencedor receberia 10.000 dólares. Obviamente, pelo método de força-bruta, o objectivo foi atingido mas foram necessários 250 dias (19 de Outubro de 1997). O próximo passo da RSA foi promover o mesmo concurso, mas desta vez para chaves de 64 bit. Ao fim de (praticamente) 5 anos, também este foi quebrado.
Actualmente decorrem os projectos OGR-25 (sucessor do OGR-24, que consistia em determinar as designadas réguas óptimas de Golomb de 24 números) e o RC5-72. A ideia teve bastante adesão em todo o mundo e, para motivação das equipas, foi criado um motor de estatísticas.
É de salientar que a distributed.net foi pioneira ao conseguir provar que é possível ter um sistema distribuído, à escala mundial, para processamento por pedido, uma característica normalmente restrita a grandes organizações (como a NASA, por exemplo) que dispõem de supercomputadores específicos para as tarefas internas.

## O software

A coordenação do projecto depende de um cliente, instalado em cada uma das máquinas, que irá aproveitar todo o tempo morto do CPU para trabalhar sobre pequenos blocos de dados, enviados pelos proxies criados para o efeito. Por tempo morto entenda-se aquele tempo que o processador se encontra a processar instruções nulas, tipicamente dando a ilusão que não está em funcionamento: na verdade está a processar uma instrução específica que, traduzida para português vulgar, tem o significado de não fazer nada. Naturalmente, ao utilizar estes ciclos, o processador estará em constante processamento, na sua velocidade máxima, o que pode resultar, por vezes, num sobre-aquecimento do mesmo.
Devido ao facto deste software utilizar código proprietário, para proteger os algoritmos envolvidos - especialmente verdade no caso do RC5 -, o cliente não pode ser distribuído em código aberto, o que desperta desconfiança por parte de potenciais participantes.

## Projectos

A colaboração no projecto é creditada a nível individual. No entanto, é possível a cada participante aliar-se a uma equipa para que as estatísticas se reflictam de forma agregada.

### RC5-64

Este projecto contou com a participação de vários portugueses, donde se destacam as seguintes equipas:
* PINGUIM, que esteve entre as primeiras 25 equipas durante muito tempo, equipa a nível nacional, ligando várias universidades e empresas portuguesas, terminou em 27º lugar;
* Kuri0us Distributed Computing, com praticamente apenas 2 alunos do Instituto Politécnico de Viseu, esteve colocada nos primeiros 300 lugares (ainda em ascensão), terminando em 310º lugar.

### OGR-24

Portugal também participou neste projecto, com as seguintes equipas portuguesas:
* PINGUIM, que terminou em 155º lugar;
* Kuri0us Distributed Computing, terminando em 2031º lugar.

### OGR-25

Este projecto, ainda em curso, inclui novamente as equipas portuguesas:
* PINGUIM

### Dispersão de esforços

Entretanto, surgiam outros esforços de computação distribuída, como o SETI@Home, para análise dos espectros do projecto SETI, e a Paragon que, entre outros, propunha-se pesquisar genes para combate de doenças, como o cancro.