Cubrim-2 · исследовательский трек

Глобальный Адресатор

Cubrim-2 задаёт другой вопрос, чем архиватор Cubrim-1: не «как сжать байты локально», а можно ли передавать данные короткими ссылками (стремимся к разумному минимуму — порядка десятков–сотен байт) в общие, заранее распространённые структуры — Универсальные Матрицы Данных Валентовых? Если отправитель и получатель располагают одинаковой большой структурой данных, передавать можно не весь объект, а инструкцию по выбору и сборке нужных фрагментов. Эта страница — живой журнал трека: список гипотез и каждый статус ниже приходят напрямую из исследовательской базы данных — здесь ничего не захардкожено и не приукрашено.

Честное ограничение — прежде всего

Фиксированный короткий код различает лишь конечное число состояний, а пространство возможных файлов растёт экспоненциально с длиной — поэтому один короткий адрес сам по себе не может однозначно обозначать каждую длинную последовательность. Адрес имеет смысл только вместе с каталогом, где объект уже находится. И любой честный результат обязан учитывать полную стоимость: адреса, метаданные, остаток — и саму общую матрицу, которая окупается только при амортизации по многим файлам и устройствам. Поэтому Cubrim-2 не обещает «сжать любой файл в 16 байт». Трек картирует, где глобальная адресация действительно выигрывает у локального сжатия, — и так же открыто фиксирует, где она структурно выиграть не может.

Сколько заняли бы ВСЕ возможные матрицы

Считаем в битах. N-мерный куб — это визуальное представление последовательности бит: куб 4×4×4 — это 64 бита, разложенные в трёх измерениях. Размерность (1D/2D/3D/4D) — способ разложить те же биты, а не другое их количество. Поэтому число всех возможных матриц длины B бит равно 2^B и зависит только от B: у 1D-строки в 64 бита и куба 4×4×4 одинаковые 2^64 ≈ 1.8×10^19 состояний.

B, бит куб-пример всех возможных = 2^B хранить все (байт) влезает в 20 000×1 ТБ?
8 2×2×2 2.56×10² 2.56×10² B да
27 3×3×3 1.34×10⁸ 4.53×10⁸ B да
51 —(порог/threshold) 2.25×10¹⁵ 1.44×10¹⁶ B да
64 4×4×4 1.84×10¹⁹ 1.48×10²⁰ B нет
125 5×5×5 4.25×10³⁷ 6.65×10³⁸ B нет
256 4×4×4×4 (4D) 1.16×10⁷⁷ 3.71×10⁷⁸ B нет
1000 10×10×10 1.07×10³⁰¹ 1.34×10³⁰³ B нет
4096 8×8×8×8 (4D) 1.04×10¹²³³ 5.35×10¹²³⁵ B нет

Ориентир ёмкости: 20 000 дисков по 1 ТБ = 2×10^16 байт = 1.6×10^17 бит. Порог полного перечисления — B = 51 бит: это последняя длина, при которой все 2^B матриц (вместе с содержимым, 2^B×B бит = 1.44×10^16 байт) ещё помещаются; при B = 52 — уже нет (2.93×10^16 байт). Куб 4×4×4 (64 бита): одни только 64-битные адреса всех 2^64 матриц заняли бы 1.48×10^20 байт ≈ 147.6 ЭБ — на четыре порядка больше нашего ориентира. При B = 256 матриц 1.16×10^77 — ещё чуть меньше числа атомов видимой Вселенной (~10^80); граница «больше, чем атомов» проходит на B ≈ 266. Дальше — сверхэкспоненциальный рост без каких-либо шансов на физическое хранение.

Честный вывод: «все возможные матрицы» перечислить нельзя — 2^B расходится сверхэкспоненциально уже на длинах меньше одного машинного слова. Поэтому Адресатор хранит не все возможные, а только РЕАЛЬНО ВСТРЕЧЕННЫЕ уникальные блоки (CAS/дедупликация): их число ограничено объёмом реальных данных и подчиняется измеренным законам трека — 89.9% блоков в некурируемой матрице встречаются ровно один раз (AH-19), а честные 16–64 байта на объект возможны только при точном совпадении с каталогом (AH-05). Это то же фундаментальное ограничение, что и в блоке выше: адрес имеет смысл только вместе с каталогом, где объект уже находится.

Про размерность: 2^B от неё не зависит, но размерность меняет то, какие биты попадают в один куб при нарезке РЕАЛЬНЫХ данных — а значит, сколько уникальных кубов встретится на практике. Это измеряется сканом (часть B эксперимента), а не формулой.

Формулы: число матриц = 2^B; хранить содержимое = 2^B × B бит; ординальный адрес одной матрицы = B бит (2^B состояний). Все числа посчитаны точной целочисленной арифметикой (python), не оценками.

Сколько места нужно под РЕАЛЬНО встреченные матрицы (скан-эксперимент)

Реальный КРОСС-ДЕВАЙС корпус 13.48 ГБ (union трёх хостов: arcana-devs 9.06 + arcana-www 3.38 + arcana-prod 1.04 ГБ; хосты обменивались только хэшами кубов) нарезан на кубы по B = 4096 бит (512 байт) в четырёх раскладках одной и той же длины: 1D-строка 4096, 2D 64×64, 3D 16×16×16, 4D 8×8×8×8. Раскладка группирует РАЗНЫЕ биты файла в один куб (страйдовое тайлинг при ширине строки 4096 байт), поэтому число уникальных кубов на реальных данных различается — хотя число возможных (2^4096) одинаково.

раскладка кубов в скане уникальных % уникальных кросс-хостовое перекрытие (кубов) хранить уникальные
1D 4096 25 890 520 14 965 607 57.80% 1 847 617 7.14 GiB
2D 64×64 19 368 448 12 077 059 62.35% 1 260 924 5.76 GiB
3D 16×16×16 13 959 168 8 020 728 57.46% 943 354 3.82 GiB
4D 8×8×8×8 10 518 528 5 578 363 53.03% 768 085 2.66 GiB

Насыщения НЕТ: число уникальных кубов растёт почти линейно до самого конца скана (кривая на devs-срезе: 1D 10.9 млн уникальных на 7.3 ГБ → 12.3 млн на 8.3 ГБ) — реальные данные на этой длине куба почти не «заканчиваются». На devs-срезе 72–82% уникальных кубов встретились ровно один раз — то же измеренное правило, что и AH-19 (89.9% на CDC-чанках): некурируемая матрица — в основном мёртвый вес. Кросс-хостовое перекрытие реально (0.77–1.85 млн кубов делятся между хостами), и именно оно снижает долю уникальных union-корпуса до 53–62%.

Диски под сам скан: 2.7–7.1 ГиБ уникальных матриц на 13.48 ГБ кросс-девайс данных — доли одного 1 ТБ-диска. Экстраполяция на мировой объём хранимых данных (порядка 10 ЗБ = 10^22 байт; оценка порядка величины по отчётам IDC Global DataSphere): при измеренной доле уникальных 53–62% на кросс-девайс корпусе и ОТСУТСТВИИ насыщения матрицы займут ~5.3–6.2 ЗБ — миллиарды 1 ТБ-дисков, то есть тот же порядок, что и сами данные. ЭКСТРАПОЛЯЦИЯ ЛИНЕЙНАЯ И ПОМЕЧЕНА КАК ДОПУЩЕНИЕ: состав мирового корпуса иной, насыщение на больших объёмах не исключено, но в скане не наблюдалось.

Выводы: (1) хранить даже только ВСТРЕЧЕННЫЕ матрицы в мировом масштабе — порядок самих данных: выигрыш Адресатора живёт не в «складе всех кубов», а в дедупликации повторной части (38–47% на union-корпусе) и курировании r≥2 (AH-19); (2) оптимальная раскладка по критерию «меньше уникальных» — 4D (53.0% уникальных против 62.4% у 2D на union-корпусе) — многомерная группировка действительно собирает повторяющиеся биты чаще, разница умеренная (~6–9 пп); (3) сравнение честное с оговоркой: раскладки требуют разного выравнивания (2D — блоки 256 КБ, 4D — 2 МБ), поэтому покрытие корпуса различается — числа даны по покрытой каждой раскладкой части.

Скрипты: probe_matrix_scan.py + matrix_scan_dump.py (страйды в шапке; кросс-девайс union через обмен только хэшами, MTX-scan-crossdevice-v1); хэш кубов blake2b-96; кривая насыщения — чекпоинты каждые 500 МБ; все числа измерены, экстраполяция помечена.

Волна 1 — исследование завершено

Deep-research волны 1 завершён: каждая из 24 гипотез несёт реальный измеренный вердикт (charged-учёт полной стоимости, falsification-тест прогнан, скрипт+SHA в карточке). GO означает «механизм работает и измерен», NO-GO — «закрыто измерением или строгой арифметикой». Предсказанные рычаги остаются предсказаниями и помечены; измеренные числа — в каждой карточке ниже.

NO-GO · 9 GO · 15
общий контекст (словарь / фрагменты) · 4 identity-дедупликация — ссылка ≪ payload при точном совпадении · 3 структурно не может выиграть (граница) · 4 учёт стоимости инфраструктуры · 10 ближайшее совпадение + дельта · 3

Сформировано: 2026-08-28T23:14:51Z · db:addressor_hypotheses

Гипотезы · 24

Страница 4 / 12

AH-07 NO-GO W1 · 2026-07-13

Двухуровневый адрес фрагмента матрицы

Если адрес фрагмента = (version,section,offset,len,flags) ~16-24B на фрагмент в матрице, то net-байты на структурированных повторах снизятся на covered_fraction*(1-address/fragment_len), потому что типовые фрагменты длинны и частотны.

Класс данных (Z)
boilerplate, лицензии, шаблоны, обёртки форматов, копипаст-код
Адресная цель
24 Б
Предсказанный рычаг
покрытие фрагментами >=256B на office/code/web 20-60% (предсказание)
Категория потолка
общий контекст (словарь / фрагменты)
Механизм
ссылка дешевле длинного частотного фрагмента
Тест фальсификации
скан корпуса: покрытие <15% ИЛИ экономия <= zstd-со-словарём -> NO-GO (AH-01 subsumes)
Полная стоимость (total_cost)
address: 16–24 B × число фрагментов · metadata: разметка границ/точек вставки (отдельная ветка декодера — платится по Gotcha #6) · residual: непокрытые байты через локальный кодек · amortized: секции матрицы с фрагментным пулом.
Вердикт пробы
NO-GO — оба пре-регистрированных условия сработали: покрытие фрагментами >=256 Б всего 10.69% (<15%) И экономия <= zstd-словаря (per-file: фрагменты 0.2781 без каталога / 0.3017 с каталогом против словаря 0.2664). Первая версия пробы показывала мнимый выигрыш — стенд AH-22 поймал конфаунд (residual жался солидным потоком против пофайловых базлайнов); после выравнивания плеч выигрыш исчез: solid-сценарий с заряженным каталогом 0.228 против солидного локального 0.2153. Фрагментная адресация на этом классе вырождается в то, что словарь даёт дешевле.
Измеренный результат
date
2026-07-14
probe
W1-fragments-v1b-fair

solid

L0_solid
0.2153
A_no_catalog
0.2044
A_with_catalog
0.228

class_z

small structured files (<128 KiB, text-ish), real KB

verdict
NO-GO

per_file

L1_dict
0.2664
A_no_catalog
0.2781
A_with_catalog
0.3017
coverage_pct
10.69%

verdict_note

NO-GO — оба пре-регистрированных условия сработали: покрытие фрагментами >=256 Б всего 10.69% (<15%) И экономия <= zstd-словаря (per-file: фрагменты 0.2781 без каталога / 0.3017 с каталогом против словаря 0.2664). Первая версия пробы показывала мнимый выигрыш — стенд AH-22 поймал конфаунд (residual жался солидным потоком против пофайловых базлайнов); после выравнивания плеч выигрыш исчез: solid-сценарий с заряженным каталогом 0.228 против солидного локального 0.2153. Фрагментная адресация на этом классе вырождается в то, что словарь даёт дешевле.

pool_fragments
221 086
AH-08 GO W1 · 2026-07-13

Энтропийное кодирование потока адресов

Если поток ссылок в матрицу кодировать rANS, то средняя стоимость ссылки на Zipf-классах упадёт с номинальных 16-32B до эффективных единиц байт, потому что обращения к матрице сильно скошены к топ-фрагментам.

Класс данных (Z)
любой с Zipf-обращениями (web/code)
Адресная цель
н/п
Предсказанный рычаг
топ-1% фрагментов >=50% обращений (предсказание)
Категория потолка
общий контекст (словарь / фрагменты)
Механизм
skewed reference distribution -> короткие коды частым
Тест фальсификации
распределение обращений на корпусе; ~uniform -> рычага нет; заряжать сквозь настоящий бэкенд (Gotcha #11)
Полная стоимость (total_cost)
address: сжимается rANS-ом к энтропии распределения обращений · metadata: таблица частот/контекст кодера · residual: не меняется · amortized: не меняется.
Вердикт пробы
GO с коррекцией механизма: метрика ПОДТВЕРЖДЕНА (2.15 Б/ссылку против 32 Б номинала, −93.28% на реальном потоке из 325 048 ссылок), но предсказанный механизм ОПРОВЕРГНУТ — Zipf-скоса нет (top-1% каталожных записей несёт лишь 8.83% обращений, а не >=50%). Реальный источник выигрыша — ординал в общий каталог (~log2(633603)=19.3 бита на первую ссылку) + адаптивные коды повторов, без каких-либо side-таблиц (обе стороны учатся из общего потока — дисциплина Gotcha #9/#11). Инженерный вывод: кодируй ссылки ординалами+адаптивно, на скос не рассчитывай. MULTI-CLASS (2026-07-15): эффективная стоимость ссылки стабильна по всем 7 классам — 1.32–2.17 Б (механизм ординал+адаптивность класс-независим).
Измеренный результат
date
2026-07-15
probe
W1-zipf-v1
stream
реальный поток chunk-hit ссылок (тот же обход, что W1-router-v1)
verdict
GO

multiclass

date
2026-07-15
probe
DR-multiclass-v1

eff_bytes_per_ref_by_class

web
1.32
code
2.02
docs
1.81
media
2.17
other
2.09
config
1.65
archives
1.51
refs_total
325 048

verdict_note

GO с коррекцией механизма: метрика ПОДТВЕРЖДЕНА (2.15 Б/ссылку против 32 Б номинала, −93.28% на реальном потоке из 325 048 ссылок), но предсказанный механизм ОПРОВЕРГНУТ — Zipf-скоса нет (top-1% каталожных записей несёт лишь 8.83% обращений, а не >=50%). Реальный источник выигрыша — ординал в общий каталог (~log2(633603)=19.3 бита на первую ссылку) + адаптивные коды повторов, без каких-либо side-таблиц (обе стороны учатся из общего потока — дисциплина Gotcha #9/#11). Инженерный вывод: кодируй ссылки ординалами+адаптивно, на скос не рассчитывай. MULTI-CLASS (2026-07-15): эффективная стоимость ссылки стабильна по всем 7 классам — 1.32–2.17 Б (механизм ординал+адаптивность класс-независим).

catalog_entries
633 603
nominal_ref_bytes
9.92 MiB (10 401 536 B)
top1pct_share_pct
8.83%
adaptive_ref_bytes
683.01 KiB (699 398 B)
distinct_over_refs
0.4618
referenced_entries
150 098
saving_vs_nominal_pct
93.28%
effective_bytes_per_ref
2.15

Страница 4 / 12

Где Адресатор не может выиграть у локального сжатия

Волна 1 фиксирует шесть границ — явными анти-гипотезами и no-win-зонами: уникальные высокоэнтропийные данные (личные медиа, шифрованные потоки — глобально ничего не повторяется); мелкие уникальные файлы ниже точки инверсии (постоянные издержки каталога превышают любую экономию); математически генерируемые матрицы (адрес в исчерпывающий или случайный пул стоит не меньше самого содержимого); байтовая гистограмма или хэш как носитель данных (порядок теряется, а его восстановление стоит энтропию файла); long-tail-контент, запрашиваемый примерно один раз (первая передача не окупается); и фрагментные схемы, чей выигрыш вырождается в то, что уже даёт общий словарь. Крошечная ссылка фиксированного размера (десятки байт) на объект честно достижима только при точном совпадении с каталогом, где объект уже хранится; во всех остальных случаях критерий выигрыша один — ссылка со всеми учтёнными издержками должна оставаться много меньше заменяемых данных: размер ссылки — метрика для минимизации, а не жёсткий порог.