En un futuro donde la humanidad se expande más allá de nuestro sistema solar, surge la necesidad de asignar identificadores únicos a objetos (dispositivos, componentes, contenedores, etc.) a una escala cósmica. El artículo explora cómo lograr esto, desde soluciones simples basadas en números aleatorios hasta sistemas más complejos y deterministas.
Números Aleatorios: La Solución Inicial: La forma más sencilla es generar números aleatorios para cada ID. Aunque existe una probabilidad teórica de colisión (asignar el mismo ID a dos objetos), esta probabilidad puede hacerse tan pequeña que es prácticamente inexistente. El artículo utiliza el concepto del 'paradoja del cumpleaños' para ilustrar esto: la probabilidad de una colisión es baja, pero controlable ajustando el tamaño del número aleatorio. Se calcula que UUIDs (Universally Unique Identifiers) utilizan 122 bits, lo que resulta en una probabilidad de colisión muy baja.
Escalando a Niveles Cósmicos: Para asegurar la unicidad a escala universal, se considera el límite teórico impuesto por la computación en todo el universo (computronium). Si el universo entero fuera una computadora maximizada, tendría un límite de $10^{120}$ operaciones. Para evitar colisiones hasta ese punto, se calcula que se necesitarían aproximadamente 798 bits por ID. Una alternativa más realista, basada en el número de átomos en el universo observable (aproximadamente $10^{80}$), sugiere 532 bits. Estas cifras demuestran que la necesidad de bits es enorme para garantizar la unicidad a escalas cósmicas.
Soluciones Deterministas: Eliminando la Aleatoriedad: El artículo también explora soluciones deterministas, donde la unicidad está garantizada, no basada en la probabilidad. Una opción es un servidor central que asigna IDs secuenciales. Sin embargo, esto presenta problemas de accesibilidad (¿qué pasa si un dispositivo está demasiado lejos del servidor central?). Para solucionar esto, se propone una red de satélites que asignan IDs, cada uno con su propio contador. Finalmente, se considera la posibilidad de que cualquier dispositivo con un ID pueda asignar nuevos IDs, creando una red distribuida de asignación.
Consideraciones Importantes: El artículo destaca la importancia de usar generadores de números aleatorios verdaderamente aleatorios (no pseudo-aleatorios) para evitar colisiones. También menciona la necesidad de evitar IDs 'comunes' generados por generadores pseudo-aleatorios. La elección del tamaño del ID depende del nivel de 'paranoia' o la escala de la aplicación, desde nanobots hasta la totalidad del universo.
