Random.org - 20 años de historia

Muy pronto, en el marco del proyecto " Servidor en las nubes ", tendremos un vuelo en globo, cuyas coordenadas del lugar de aterrizaje son un verdadero generador de números verdaderamente aleatorios, cuya fuente de entropía es el movimiento de las masas de aire. Al momento de escribir esta publicación, más de 100 vendedores ambulantes están participando en esta carrera intelectual: adivinando / calculando el lugar de aterrizaje del servidor y ganando un certificado para participar en la regata. ¡Únete a nosotros !



Mientras tanto, la carrera está en progreso y preparándose para el vuelo, recordamos que en Random.org , uno de los generadores en línea más populares que proporciona números verdaderamente aleatorios, la fuente de entropía también es la atmósfera, o más bien el ruido atmosférico. Además, el sitio pronto celebrará su vigésimo aniversario. Y la historia del desarrollo de Random.org resultó ser tan encantadora, y en el espíritu de nuestro proyecto, que en honor a la "coincidencia de entropía" y el inminente aniversario, decidimos traducirlo para usted.

Random.org fue lanzado en octubre de 1998 por Mads Haahr, profesor de ciencias de la computación en el Irish Trinity College, y en octubre de 2010 pasó de ser un proyecto privado a una sociedad anónima cerrada.


La tarea de Random.org es generar y proporcionar a todos números verdaderamente aleatorios basados ​​en el ruido atmosférico, es decir, el ruido de radio que surge de los procesos atmosféricos naturales. En la página principal, puede generar un número aleatorio en el rango de 1 a 1,000,000,000.

Por qué no usar Random.org hoy: para apostar en sorteos, para juegos en línea, para investigación científica, para crear imágenes, música y muchas otras tareas. Hasta la fecha, Random.org ha generado más de 1,6 billones de bits aleatorios.

Historia de Random.org


▍Capítulo 0: Cómo comenzó todo ... (1997)


La historia de Random.org comenzó en el verano de 1997, cuando trabajé para una startup que desarrolló un motor para el juego en línea. Era un proyecto pequeño: cuatro personas hicieron un prototipo con la esperanza de recaudar dinero para continuar el desarrollo. El motor tenía una funcionalidad básica y podía complementarse con módulos de varios juegos. Implementamos un prototipo del motor en sí y varios módulos de juego, lo que permitió al navegador jugar loterías, blackjack y máquinas tragamonedas.

Rápidamente nos dimos cuenta de que un motor serio necesitaba un verdadero generador de números aleatorios que admitiera juegos en los que está involucrado dinero real (si quieres saber qué puede pasar si no usas un verdadero generador de números aleatorios en el sistema del juego, lee el artículo en el programa de televisión de 1980 x "Presiona tu suerte "). Después de leer acerca de la teoría de la aleatoriedad, decidimos que una radio que captura el ruido atmosférico sería una forma barata y elegante de obtener entropía para generar números aleatorios. Además, el generador estará en nuestra oficina, es decir, la radio tiene una ventaja sobre los sistemas basados ​​en el contador Geiger (que también son bastante populares), ya que la radio no necesita una fuente de radiación.

Recolectamos la primera versión de nuestro generador en base al receptor por $ 10 de la tienda Radio Shack. Su compra en sí misma fue una historia divertida. Sabíamos que muchas radios, incluso las baratas, contienen filtros de ruido y solo se reproducen si se sintoniza una estación de radio en particular. Por lo tanto, al llegar a la tienda, le explicamos al vendedor que necesitamos la radio más barata, porque nuestra computadora necesita escuchar ruidos estáticos. El hombre claramente no estaba seguro de la solidez de nuestras mentes. También insistimos en que el vendedor nos permitiera probar la radio en la tienda, para que estuviéramos convencidos de la calidad del ruido y la ausencia de un filtro de interferencia. Sorprendentemente, nos permitió hacer esto (respeto a Radio Shack, después de todo, era una venta por $ 10), y cuando (parecía que había tres de nosotros) escuchamos ruidos, saltamos alegremente y pagamos rápidamente. Creo que nos veíamos muy locos.

Durante varios días escribimos la primera versión del generador. Fue escrito en C / C ++, creado bajo Windows NT y utilizaba una tarjeta de sonido estándar, ya no recuerdo al fabricante. Aunque el generador era completamente funcional, resultó ser algo torpe en el sentido de que generaba solo bits aleatorios, y no los hermosos intervalos personalizados que ves hoy en Random.org. Sin embargo, esto fue suficiente para mezclar barajas de cartas para el blackjack, elegir números de lotería y hacer girar las ruedas en las máquinas tragamonedas.

¿Qué le pasó a nuestro motor? El prototipo y la arquitectura eran realmente buenos, pero al final la compañía decidió dejar de desarrollar el juego, por lo que no hicimos demasiado. Creo que estamos un poco adelantados. Era 1997, y pensamos que en un año o dos el mercado de los juegos de azar en línea se dispararía. Pero en realidad tomó mucho más tiempo. Random.org es la única parte sobreviviente de ese proyecto. Mis amigos dejaron de jugar y fundaron dos compañías exitosas: Pentia y Sitecore .

▍Capítulo 1: Días del sol (1998-2001)


En septiembre de 1998, obtuve un doctorado en ciencias de la computación en el Trinity College de Dublín . El tema de la disertación estaba relacionado con la informática móvil y tenía muy poco en común con los números aleatorios. Pero como el año pasado hice la mayor parte del trabajo para crear el generador y realmente me gustó la idea de usar el ruido atmosférico para generar números aleatorios, decidí no tirar el proyecto. Le dije a Vinny Cahill, el jefe de mi grupo de investigación ( Grupo de Sistemas Distribuidos ), y le sugerí colocar el sistema en una de las habitaciones. Winnie apoyó con entusiasmo la propuesta y, en un par de meses, adapté la antigua SPARCstation Sun, que estaba en el laboratorio, reescribí el generador con el sistema operativo Solaris e hice la primera versión de Random.org. Comenzó a trabajar en octubre de 1998.

En ese momento, todavía no había servicios de generación de números aleatorios disponibles públicamente basados ​​en el ruido atmosférico, pero HotBits y Lavarand (la versión original de Silicon Graphics) ya existían. ¿Por qué se necesitaba otro generador? La razón principal: estaba interesado en crearlo. La segunda razón es que los servicios disponibles eran principalmente para capacitación y entretenimiento. Quería que Random.org se usara para entrenamiento y entretenimiento, pero al mismo tiempo quería convertirlo en un servicio útil para resolver ciertas tareas (no críticas) que requieren números aleatorios. Desde entonces, la gente ha usado Random.org para propósitos que ni siquiera podía pensar, y el servicio se ha actualizado muchas veces para que pueda usarse para tareas mucho más serias de lo que esperaba.


Random.org v1 (con botellas de whisky)

Esta foto muestra la primera versión del equipo Random.org, por lo que se veía desde 1998 hasta 2001 (aunque fue tomada en 2005). La radio es un receptor de transistor Hitachi, que obtuve de forma gratuita porque el casete incorporado estaba roto. Como todo el sistema estaba ubicado en un estante de nuestro laboratorio de estudiantes de posgrado, y temía que alguien lo rompiera todo por accidente o intencionalmente, pegué un pedazo de papel en la radio con la solicitud de no tocarlo.

A la izquierda de la radio está el panel posterior de Sun SPARCstation, que adapté para mis necesidades. No puedo imaginar lo rápido que trabajó, pero no muy rápido, incluso en absoluto. Pero tenía 96 MB de memoria, mucho en ese momento, por lo que no hubo problemas para iniciar aplicaciones. Además, Sun SPARCstation tenía una tarjeta de sonido incorporada, por lo que era fácil conectarse a la radio. La máquina ejecutaba Solaris, un sistema operativo increíblemente estable que era perfecto para mi servicio. En el borde izquierdo del estante, verá un disco SCSI de 500 megabytes (sí, megabyte ) en el que se almacenaron todos los archivos. Detrás de la radio hay un UPS que agregué más tarde.

¿Qué hay de las botellas? Hubo una tradición en nuestro grupo de investigación cuando su trabajo es aceptado para hablar en una conferencia o publicar en una revista, compra una botella de whisky irlandés (u otra bebida agradable) y celebra con sus colegas. Como puede ver, hay una pegatina en cada botella que explica en honor a qué conferencia o revista se compró y quién tiene suerte.

▍Capítulo 2: Generador con dos radios (2001-2007)


En el otoño de 2000, SPARCstation comenzó a mostrar signos de envejecimiento, y comencé a buscar un auto nuevo. Además, tomé la licenciatura Antonio Arauzo Azofra para hacer algo por mi proyecto. La tarea del estudiante era implementar un nuevo módulo estadístico que fuera lo suficientemente estable como para ser implementado en Random.org. Antonio hizo un gran trabajo y ayudó mucho con la configuración del "nuevo" servidor Siemens Scenic 300 para PC, que obtuve. Antonio también me convenció de cambiar a Debian GNU / Linux (me estaba inclinando hacia Red Hat), instalé hardware y software, e incluso ayudó a mantener el sistema después de terminar mis estudios en Dublín y regresar a España para trabajar en mi doctorado.

Desde el verano de 2001, Random.org trabajó en una computadora Siemens con dos radios. El corazón de la computadora era un Pentium III que funcionaba a una frecuencia de hasta 500 MHz. Inicialmente, la máquina tenía 128 MB de memoria, pero luego aumenté a 384 MB. La computadora estaba equipada con tres tarjetas de sonido Cirrus Logic Crystal CS4281 y dos sintonizadores de FM (uno Sony, otro Tensai), que compré por unos 40 € en el Blackberry Market de Dublín. La foto a continuación muestra cómo se veía todo. Siemens está en otras dos computadoras, y hay dos radios en él. Aunque el sistema ya no estaba en el laboratorio, en mi oficina personal, todavía estaba preocupado por los visitantes (por ejemplo, los limpiadores) que podrían derribar accidentalmente la configuración de la radio e interrumpir el servicio, por lo que escribí una solicitud para tener cuidado en un papel.


Random.org v2

Como sistema operativo, utilicé el increíblemente estable Debian GNU / Linux 3.0 ('Woody') (esta fue mi primera experiencia con Debian, y todavía soy un fanático, respeto al equipo de Debian por su excelente trabajo). El generador se configuró para tomar ruido de los sintonizadores de radio en forma de una secuencia de audio de muestras de 8 bits en mono con una frecuencia de muestreo de 8 KHz. Es decir, se eliminaron 1.500 bits aleatorios por segundo de cada radio, un total de 3.000 bits por segundo.

▍Capítulo 3: Sistema con tres radios (2007-2009)


Desde principios de 2007 hasta finales de 2009, Random.org utilizó dos configuraciones de hardware diferentes. Durante la mayor parte de 2007, el Dell Dimension 4550 funcionó, que me presentaron René Meier y Jim Dowling del proyecto de investigación Digital Business Ecosystem . La computadora era Pentium 4 con una frecuencia de 2.53 GHz y 1 GB de memoria. Más tarde, instalé tres tarjetas de sonido C-Media Electronics CM8738, y se usaron los mismos dos sintonizadores de FM como radio, pero Akai, comprado por 12 € en una tienda de productos usados ​​en Copenhague, se sumó a ellos.

A finales de 2007, reemplacé Dell Dimension con IBM eServer con 1280 MB de memoria y Pentium III 1.266 GHz. Aunque el procesador era más débil que el Dell, el eServer podía manejar fácilmente la carga. Al mismo tiempo, era un servidor real con discos SCSI que se adaptaban bien a mis tareas. Las tarjetas de sonido y la radio permanecieron igual.

Este sistema de hardware generó aproximadamente 3,000 bits por segundo de cada radio. El sistema operativo utilizado era Debian GNU / Linux, pero ya las versiones 3.1 ('Sarge') y 4.0 ('Etch'). Eran tan estables como sus predecesores, pero mucho más fáciles de configurar. Lo recomiendo mucho

▍Capítulo 4: Random.org hoy (2009-)


A finales de 2009, Random.org pasó por una reestructuración en respuesta a un aumento en el número de clientes que necesitan buena confiabilidad y rendimiento. Ahora es un sistema distribuido geográficamente con varios nodos generadores aleatorios. Los datos de ellos se someten a pruebas estadísticas, y luego el flujo de bits aleatorios borrados se transfiere al alojamiento en la nube, en el que gira el servicio Random.org. Esta arquitectura tiene mayor confiabilidad y rendimiento, por lo que Random.org es adecuado para resolver problemas graves (por ejemplo, juegos de lotería). Aún se generan números aleatorios probados en el tiempo en función del ruido atmosférico, pero el hardware y el software han recorrido un largo camino desde el receptor de diez dólares de Radio Shack, con el que todo comenzó en 1997.

▍Capítulo N: ¿El futuro?


Random.org todavía se está desarrollando activamente, hay muchos proyectos interesantes en el trabajo. Manténgase sintonizado o suscríbase a nuestro boletín (y puede ganar un iPod).



Hablando de aleatoriedad. Por el momento, la estimación de las probabilidades del sitio de aterrizaje de nuestro servidor por parte de los vendedores ambulantes se ve así:


Después del concurso, intentaremos aplicar el método de Monte Carlo y evaluar qué tan aleatorias fueron las coordenadas puestas en el mapa por nuestros participantes.

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


All Articles