В статье упоминается 9 слоев zip-файлов, так что это непростой случай заархивирования кучи нулей. Почему 9, почему по 10 файлов в каждом?
Во-первых, в статье Википедии сейчас говорится о 5 слоях по 16 файлов в каждом. Не уверен, откуда взялось несоответствие, но это не так уж важно. Настоящий вопрос в том, зачем вообще использовать вложение.
DEFLATE, единственный широко поддерживаемый метод сжатия для zip-файлов *, имеет максимальный коэффициент сжатия 1032. Этого можно достичь асимптотически для любой повторяющейся последовательности размером 1-3 байта. Независимо от того, что вы делаете с zip-файлом, если он использует только DEFLATE, распакованный размер будет не более чем в 1032 раз больше размера исходного zip-файла.
Следовательно, необходимо использовать вложенные zip-файлы для достижения действительно невероятных степеней сжатия. Если у вас 2 уровня сжатия, максимальное соотношение станет 1032 ^ 2 = 1065024. Для 3 это 1099104768 и так далее. Для 5 слоев, используемых в 42.zip, теоретическая максимальная степень сжатия составляет 1170572956434432. Как видите, фактический 42.zip далек от этого уровня. Частично это накладные расходы на формат zip, а частично - то, что им было все равно.
Если бы мне пришлось угадывать, я бы сказал, что 42.zip был сформирован путем простого создания большого пустого файла и его многократного архивирования и копирования. Нет никаких попыток раздвинуть границы формата или максимизировать сжатие или что-то еще - они просто произвольно выбрали 16 копий на слой. Суть заключалась в том, чтобы без особых усилий создать большую полезную нагрузку.
Примечание. Другие форматы сжатия, такие как bzip2, предлагают гораздо большие максимальные степени сжатия. Однако большинство парсеров zip их не принимают.
PS Можно создать zip-файл, который будет распаковываться в свою копию (квайн). Вы также можете сделать тот, который распаковывается на несколько своих копий. Следовательно, если вы рекурсивно разархивируете файл навсегда, максимально возможный размер будет бесконечным. Единственное ограничение - он может увеличиваться максимум на 1032 на каждой итерации.
PPS Рисунок 1032 предполагает, что данные файла в zip-архиве не пересекаются. Одна из особенностей формата zip-файла заключается в том, что он имеет центральный каталог, в котором перечислены файлы в архиве и смещены данные файла. Если вы создаете несколько файловых записей, указывающих на одни и те же данные, вы можете добиться гораздо более высоких степеней сжатия даже без вложенности, но такой zip-файл, вероятно, будет отклонен синтаксическими анализаторами.