Random.org - 20 Anos de História

Muito em breve, dentro da estrutura do projeto Server in the Clouds , teremos uma mosca balão, cujas coordenadas do local de pouso são um gerador real de números verdadeiramente aleatórios, cuja fonte de entropia é o movimento de massas de ar. No momento em que escrevi este post, mais de 100 vendedores ambulantes estavam participando dessa corrida intelectual - adivinhando / calculando o local do desembarque do servidor e ganhando um certificado por participar da regata. Junte-se a nós !



Enquanto isso, a corrida está em andamento e nos preparando para o voo, lembramos que no Random.org , um dos geradores on-line mais populares que fornece números verdadeiramente aleatórios, a fonte de entropia também é a atmosfera, ou melhor, o ruído atmosférico. Além disso, o site comemorará em breve seu 20º aniversário. E a história de desenvolvimento do Random.org acabou sendo tão encantadora e, no espírito do nosso projeto, que em homenagem à "coincidência da entropia" e ao iminente aniversário, decidimos traduzi-la para você.

O Random.org foi lançado em outubro de 1998 por Mads Haahr, professor de ciências da computação no Trinity College Irish, e em outubro de 2010 passou de um projeto privado para uma empresa privada.


A tarefa do Random.org é gerar e fornecer a todos números verdadeiramente aleatórios com base no ruído atmosférico, ou seja, ruído de rádio resultante de processos atmosféricos naturais. Na página principal, você pode gerar um número aleatório no intervalo de 1 a 1.000.000.000.

Por que não usar o Random.org hoje: para apostar em sorteios, jogos online, pesquisas científicas, criação de imagens, músicas e muitas outras tarefas. Até o momento, o Random.org gerou mais de 1,6 trilhão de bits aleatórios.

História do Random.org


0Capítulo 0: Como tudo começou ... (1997)


A história do Random.org começou no verão de 1997, quando trabalhei em uma startup que desenvolveu um mecanismo para jogos de azar online. Era um projeto pequeno: quatro pessoas fizeram um protótipo na esperança de arrecadar dinheiro para continuar o desenvolvimento. O mecanismo tinha funcionalidade básica e poderia ser complementado por módulos de vários jogos. Implementamos um protótipo do próprio mecanismo e vários módulos de jogos, que permitiam ao navegador jogar na loteria, no blackjack e nas máquinas caça-níqueis.

Percebemos rapidamente que um mecanismo sério precisava de um verdadeiro gerador de números aleatórios que fosse compatível com jogos em que dinheiro real estivesse envolvido (se você quiser saber o que pode acontecer se você não usar um gerador de números aleatórios verdadeiros no sistema de jogos, leia o artigo no programa de TV de 1980 x "Pressione sua sorte "). Depois de ler sobre a teoria da aleatoriedade, decidimos que um rádio que capta o ruído atmosférico seria uma maneira barata e elegante de obter entropia para gerar números aleatórios. Além disso, o gerador estará em nosso escritório, ou seja, o rádio tem uma vantagem sobre os sistemas baseados no contador Geiger (que também são bastante populares), uma vez que o rádio não precisa de uma fonte de radiação.

Coletamos a primeira versão do nosso gerador com base no receptor por US $ 10 na loja Radio Shack. Sua compra por si só era uma história engraçada. Sabíamos que muitos rádios, mesmo os baratos, contêm filtros de ruído e só tocam se você estiver sintonizado em uma estação de rádio específica. Portanto, tendo chegado à loja, explicamos ao vendedor que precisamos do rádio mais barato, porque nosso computador precisa ouvir ruídos estáticos. O homem claramente não tinha certeza da firmeza de nossas mentes. Também insistimos que o vendedor nos permitisse testar o rádio na loja, para que fôssemos convencidos da qualidade do ruído e da ausência de um filtro de interferência. Surpreendentemente, ele nos permitiu fazer isso (respeite a Radio Shack, afinal, era uma venda por US $ 10), e quando nós (parecia haver três de nós) ouvimos barulhos, pulamos alegremente e pagamos rapidamente. Eu acho que parecíamos muito loucos.

Por vários dias, escrevemos a primeira versão do gerador. Foi escrito em C / C ++, girado no Windows NT e usado uma placa de som padrão, não me lembro mais do fabricante. Embora o gerador estivesse totalmente funcional, acabou sendo um pouco desajeitado no sentido de gerar apenas bits aleatórios, e não os belos intervalos personalizados que você vê hoje no Random.org. No entanto, isso foi suficiente para misturar baralhos de cartas para o blackjack, escolher números de loteria e girar as rodas nas máquinas caça-níqueis.

O que aconteceu com o nosso motor? O protótipo e a arquitetura eram realmente bons, mas no final a empresa decidiu parar de desenvolver o jogo, por isso não fizemos muito. Acho que estamos um pouco adiantados. Era 1997, e pensávamos que em um ano ou dois o mercado de jogos on-line dispararia. Mas, na realidade, demorou muito mais tempo. Random.org é a única parte sobrevivente desse projeto. Meus amigos desistiram do jogo e fundaram duas empresas de sucesso: Pentia e Sitecore .

HapCapítulo 1: Dias do Sol (1998-2001)


Em setembro de 1998, fiz doutorado em ciência da computação no Trinity College Dublin . O tópico da dissertação estava relacionado à computação móvel e tinha muito pouco em comum com números aleatórios. Mas como no ano passado eu fiz a maior parte do trabalho na criação do gerador e gostei muito da ideia de usar o ruído atmosférico para gerar números aleatórios, decidi não encerrar o projeto. Eu disse a Vinny Cahill, o chefe do meu grupo de pesquisa ( Distributed Systems Group ), e sugeri colocar o sistema em uma das salas. Winnie apoiou com entusiasmo a proposta e, em alguns meses, adaptei o antigo Sun SPARCstation, que estava em laboratório, reescrevi o gerador no Solaris OS e fiz a primeira versão do Random.org. Ele começou a trabalhar em outubro de 1998.

Naquela época, ainda não havia serviços de geração de números aleatórios disponíveis ao público com base no ruído atmosférico, mas o HotBits e o Lavarand (a versão original do Silicon Graphics) já existiam. Por que outro gerador era necessário? O principal motivo - eu estava interessado em criá-lo. A segunda razão é que os serviços disponíveis eram principalmente para treinamento e entretenimento. Queria que o Random.org fosse usado para treinamento e entretenimento, mas, ao mesmo tempo, queria transformá-lo em um serviço útil para resolver certas tarefas (não críticas) que exigem números aleatórios. Desde então, as pessoas usaram o Random.org para propósitos em que eu nem conseguia pensar, e o serviço foi atualizado várias vezes para que possa ser usado para tarefas muito mais sérias do que eu esperava.


Random.org v1 (com garrafas de uísque)

Esta foto mostra a primeira versão do equipamento Random.org, de 1998 a 2001 (embora tenha sido filmada em 2005). O rádio é um receptor de transistor Hitachi, que recebi de graça porque a fita incorporada estava quebrada. Como todo o sistema estava localizado em uma prateleira em nosso laboratório de estudantes de pós-graduação, e eu tinha medo de alguém quebrar tudo por acidente ou intencionalmente, colei um pedaço de papel no rádio com um pedido para não tocá-lo.

À esquerda do rádio está o painel traseiro do Sun SPARCstation, que eu adaptei para minhas necessidades. Não consigo imaginar o quão rápido ela trabalhou, mas não muito rapidamente, mesmo. Mas ela tinha 96 MB de memória, muito na época, portanto não havia problemas ao iniciar aplicativos. Além disso, o Sun SPARCstation possuía uma placa de som integrada, facilitando a conexão ao rádio. A máquina estava executando o Solaris, um sistema operacional incrivelmente estável, perfeito para o meu serviço. Na borda esquerda da prateleira, você vê um disco SCSI de 500 megabytes (sim, megabytes ) no qual todos os arquivos foram armazenados. Atrás do rádio há um no-break que adicionei mais tarde.

E as garrafas? Havia uma tradição em nosso grupo de pesquisa: quando seu trabalho é aceito por falar em uma conferência ou publicar em uma revista, você compra uma garrafa de uísque irlandês (ou outra bebida agradável) e comemora com os colegas. Como você pode ver, há um adesivo em cada garrafa explicando em homenagem à conferência ou revista que foi comprada e quem tem sorte.

2Capítulo 2: Gerador com dois rádios (2001-2007)


No outono de 2000, o SPARCstation começou a mostrar sinais de envelhecimento e comecei a procurar um carro novo. Além disso, fiz a graduação Antonio Arauzo Azofra para fazer algo pelo meu projeto. A tarefa do aluno era implementar um novo módulo estatístico suficientemente estável para ser implantado no Random.org. Antonio fez um ótimo trabalho e ajudou muito na configuração do “novo” servidor de PC Siemens Scenic 300, que recebi. Antonio também me convenceu a mudar para o Debian GNU / Linux (eu estava inclinado para a Red Hat), instalou hardware e software e até ajudou a manter o sistema depois de terminar meus estudos em Dublin e retornar à Espanha para trabalhar no meu doutorado.

Desde o verão de 2001, a Random.org trabalhou em um computador Siemens com dois rádios. O coração do computador era um Pentium III operando em uma frequência de até 500 MHz. Inicialmente, a máquina tinha 128 MB de memória, mas depois eu aumentei para 384 MB. O computador estava equipado com três placas de som Cirrus Logic Crystal CS4281 e dois sintonizadores de FM (um Sony e outro Tensai), que comprei por cerca de 40 euros no Blackberry Market, em Dublin. A foto abaixo mostra como tudo parecia. A Siemens está em dois outros computadores e há dois rádios. Embora o sistema não estivesse mais no laboratório, em meu escritório pessoal, eu ainda estava preocupado com os visitantes (por exemplo, produtos de limpeza) que poderiam acidentalmente derrubar as configurações do rádio e interromper o serviço, então escrevi uma solicitação para ter cuidado em um pedaço de papel.


Random.org v2

Como sistema operacional, usei o incrivelmente estável Debian GNU / Linux 3.0 ('Woody') (esta foi minha primeira experiência com o Debian, e ainda sou um fã - respeito à equipe Debian por seu excelente trabalho). O gerador foi configurado para receber ruídos de sintonizadores de rádio na forma de um fluxo de áudio de amostras de 8 bits em mono com uma frequência de amostragem de 8 KHz. Ou seja, 1.500 bits aleatórios por segundo foram removidos de cada rádio, um total de 3.000 bits por segundo.

HapCapítulo 3: Sistema com três rádios (2007-2009)


Desde o início de 2007 até o final de 2009, a Random.org usou duas configurações de hardware diferentes. Durante a maior parte de 2007, o Dell Dimension 4550 funcionou, que me foi apresentado por René Meier e Jim Dowling, do projeto de pesquisa do Digital Business Ecosystem . O computador era o Pentium 4 com uma frequência de 2,53 GHz e 1 GB de memória. Mais tarde, instalei três placas de som C-Media Electronics CM8738 e os mesmos dois sintonizadores de FM foram usados ​​como rádio, mas a Akai, comprada por 12 euros em uma loja de artigos usados ​​em Copenhague, adicionou-as.

No final de 2007, substituí o Dell Dimension pelo IBM eServer por 1280 MB de memória e Pentium III 1.266 GHz. Embora o processador fosse mais fraco que o Dell, o eServer podia lidar facilmente com a carga. Ao mesmo tempo, era um servidor real com discos SCSI que eram adequados para minhas tarefas. Placas de som e rádio permaneceram os mesmos.

Esse sistema de hardware gerava cerca de 3.000 bits por segundo de cada rádio. O sistema operacional usado era o Debian GNU / Linux, mas já as versões 3.1 ('Sarge') e 4.0 ('Etch'). Eles eram tão estáveis ​​quanto seus antecessores, mas muito mais fáceis de configurar. Eu recomendo.

HapCapítulo 4: Random.org hoje (2009-)


No final de 2009, a Random.org passou por uma reestruturação em resposta a um aumento no número de clientes que precisam de boa confiabilidade e desempenho. Agora é um sistema distribuído geograficamente com vários nós geradores aleatoriamente. Os dados deles são submetidos a testes estatísticos e, em seguida, o fluxo de bits aleatórios limpos é transferido para a hospedagem em nuvem, na qual o serviço Random.org está rodando. Essa arquitetura possui maior confiabilidade e desempenho; portanto, o Random.org é adequado para solucionar problemas sérios (por exemplo, jogos de loteria). Números aleatórios testados pelo tempo ainda são gerados com base no ruído atmosférico, mas o hardware e o software percorreram um longo caminho desde o receptor de dez dólares da Radio Shack, com o qual tudo começou em 1997.

HapCapítulo N: O futuro?


O Random.org ainda está se desenvolvendo ativamente, existem muitos projetos interessantes no trabalho. Fique ligado ou assine nossa newsletter (e você pode ganhar um iPod).



Falando de aleatoriedade. No momento, a estimativa das probabilidades do local de desembarque de nosso servidor pelos vendedores ambulantes é assim:


Após o concurso, tentaremos aplicar o método Monte Carlo e avaliar quão aleatórias as coordenadas colocadas no mapa pelos nossos participantes se mostraram aleatórias.

Source: https://habr.com/ru/post/pt421031/


All Articles