El artículo menciona 9 capas de archivos zip, por lo que no es un simple caso de comprimir un montón de ceros. ¿Por qué 9, por qué 10 archivos en cada uno?
En primer lugar, el artículo de Wikipedia dice actualmente 5 capas con 16 archivos cada una. No estoy seguro de dónde viene la discrepancia, pero no es tan relevante. La verdadera pregunta es por qué usar anidamiento en primer lugar.
DEFLATE, el único método de compresión comúnmente soportado para archivos zip *, tiene una relación de compresión máxima de 1032. Esto puede lograrse asintóticamente para cualquier secuencia repetitiva de 1-3 bytes. No importa lo que le haga a un archivo zip, siempre y cuando solo esté usando DEFLATE, el tamaño desempaquetado será como máximo 1032 veces el tamaño del archivo zip original.
Por lo tanto, es necesario usar archivos zip anidados para lograr relaciones de compresión realmente escandalosas. Si tiene 2 capas de compresión, la relación máxima se convierte en 1032 ^ 2 = 1065024. Para 3, es 1099104768, y así sucesivamente. Para las 5 capas utilizadas en 42.zip, la relación de compresión máxima teórica es 1170572956434432. Como puede ver, el 42.zip real está lejos de ese nivel. Parte de eso es la sobrecarga del formato zip, y parte de eso es que simplemente no les importaba.
Si tuviera que adivinar, diría que 42.zip se formó simplemente creando un archivo vacío grande y comprimiéndolo y comprimiéndolo repetidamente. No hay ningún intento de superar los límites del formato o maximizar la compresión ni nada, simplemente seleccionaron arbitrariamente 16 copias por capa. El punto era crear una gran carga útil sin mucho esfuerzo.
Nota: Otros formatos de compresión, como bzip2, ofrecen relaciones de compresión máxima mucho, mucho, mucho más grandes. Sin embargo, la mayoría de los analizadores zip no los aceptan.
PD: es posible crear un archivo zip que se descomprimirá en una copia de sí mismo (una quine). También puede hacer uno que descomprima en múltiples copias de sí mismo. Por lo tanto, si descomprime recursivamente un archivo para siempre, el tamaño máximo posible es infinito. La única limitación es que puede aumentar como máximo 1032 en cada iteración.
PPS La figura 1032 supone que los datos del archivo en el archivo zip son disjuntos. Una peculiaridad del formato de archivo zip es que tiene un directorio central que enumera los archivos en el archivo y se desplaza a los datos del archivo. Si crea múltiples entradas de archivo que apuntan a los mismos datos, puede lograr relaciones de compresión mucho más altas incluso sin anidar, pero es probable que los analizadores rechacen dicho archivo zip.