У этой статьи две разные отправные точки, и я хочу сразу их развести.
Первая — Cubrim-1, работающий архиватор с измеримым результатом. Вторая — Cubrim-2. Для меня это уже семейная история: рядом со мной моя жена Виктория, а само направление мы развиваем вместе с моей дочерью Екатериной — инженером аэрокосмической техники и соавтором идеи Глобального Адресатора.
Смешивать их было бы удобно, но нечестно. Результат архиватора уже можно проверить. Адресатор пока состоит из гипотез, ограничений и экспериментов, которые должны выдержать полную стоимость, а не только красивую формулу.
Сначала — что уже измерено
В актуальном мировом бенчмарке на корпусах Silesia, enwik8 и Canterbury Cubrim-1 занял первое место в общем взвешенном результате среди десяти архиваторов. Он обошёл PPMd, xz, 7z и Brotli. Ближайшим оказался PPMd: его взвешенный коэффициент выше результата Cubrim на 2,6%. Взвешенный размер Cubrim оказался на 10,6% меньше результата zstd, который запускался строго в конфигурации --ultra -22.
Это именно общий результат, а не утверждение, будто Cubrim побеждает на каждом отдельном файле. Его позиции меняются от файла к файлу. Для меня ценность первого места не в лозунге «лучший всегда», а в другом: старая идея стала работающей системой, которую можно поставить рядом с известными архиваторами и измерить по одной таблице.
Cubrim-2 не является новым названием этого результата. Он начинается там, где заканчивается локальная задача архиватора.
От архива — к общей памяти
Обычный архив должен принести получателю всё необходимое для восстановления файла. Он может хорошо использовать структуру внутри данных, но не вправе рассчитывать на большую общую библиотеку, уже лежащую у отправителя и получателя.
Адресатор задаёт другой вопрос. Что, если две стороны заранее получили одинаковые проверенные блоки? Тогда повторяющийся фрагмент можно не отправлять ещё раз. Сообщение могло бы назвать нужные блоки, задать порядок сборки и приложить только ту часть, которой в общей основе нет.
Мне нравится аналогия с двумя одинаковыми книгами. Вместо целой страницы можно передать номера строк и порядок чтения. Но аналогия честна только при одном условии: книги действительно одинаковы. Если нужного абзаца нет у получателя, ссылка не создаст его из воздуха.
Что мы называем матрицей
Рабочее название общей основы — Универсальные Матрицы Данных Валентовых. Это не бесконечный файл со всеми возможными данными и не тайный склад, где уже существует любой будущий объект.
Практическая матрица, если идея выдержит проверку, будет гораздо прозаичнее: версионированные неизменяемые блоки, каталог их идентичности и правила доставки на конкретные устройства. Одному аппарату могут понадобиться карты и модели, другому — программные компоненты, третьему — только небольшой тематический раздел.
Матрица полезна не потому, что она «универсальна» в магическом смысле. Она полезна лишь там, где однажды доставленные данные многократно используются снова.
Короткий адрес не отменяет цену
Самая соблазнительная версия идеи звучит так: огромный файл можно заменить коротким адресом. В таком виде обещание неверно. Фиксированный короткий код различает конечное число состояний и не может однозначно назвать любую произвольную длинную последовательность без дополнительной информации.
Если объект уже есть в общей структуре, адрес может быть коротким. Если совпала только часть, нужно передать остаток. Если данных нет совсем, их придётся доставить и оплатить их появление в системе.
Поэтому в экспериментах мы считаем не длину эффектной ссылки, а полную стоимость: address + metadata + residual + matrix/catalog/distribution. Адрес, метаданные, уникальный остаток, каталог, хранение матрицы и её доставка — одна задача. Исключить половину слагаемых значит не сжать данные, а спрятать их в другой строке отчёта.
Почему космос делает задачу практической
На Земле лишний гигабайт часто воспринимается как неудобство. Между Землёй и далёким аппаратом тот же гигабайт становится временем, энергией и риском. Канал ограничен, окна связи редки, а повторный запрос не возвращается мгновенно.
Если обе стороны заранее получили одну версию проверенной основы, по каналу можно было бы отправлять изменения, новые наблюдения и инструкции сборки. Но космический сценарий одновременно требует большей строгости: аппарат должен знать точную версию каждого блока, проверять целостность и уметь восстановить сообщение автономно. Отсутствующий блок делает адрес бесполезным.
Именно здесь наша совместная работа с Екатериной становится особенно важной для меня. Я могу долго смотреть на представление данных. Она возвращает разговор к реальному аппарату: что уже находится на борту, сколько стоит обновление, что произойдёт при разрыве связи и где проходит граница автономности.
Исследование, а не обещание
Для Глобального Адресатора мы ведём отдельный открытый трек из проверяемых гипотез. У каждой есть механизм, измеримый эффект, граница применимости и условие, при котором мы обязаны сказать «не работает».
Глубокая исследовательская фаза завершена: все двадцать четыре гипотезы получили измеримый вердикт, а итоговая рекомендация — строить ограниченный прототип с двумя дополняющими механизмами. Это не готовый универсальный продукт и не доказательство магического сжатия. Это переход от красивой идеи к инженерной программе с измеренными границами. Подробные результаты и текущий ход работы остаются в разделе «Глобальный Адресатор» на cubrim.com.
Отрицательные результаты в этом треке так же важны, как положительные. Они показывают, где короткий адрес проигрывает цене каталога, где общая матрица не окупает доставку и где приватность запрещает технически возможную схему.
Я всё ещё хочу увидеть общий язык данных между Землёй и далёким аппаратом. Но теперь мне важнее не красота этой мечты, а способ проверить её без скидок. Если такой язык появится, он будет не волшебным и не бесплатным. Он будет заранее доставленным, версионированным, проверяемым — и полезным только там, где повторное использование действительно оплачивает его цену.