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:41:47Z · db:addressor_hypotheses

Гипотезы · 24

Страница 9 / 12

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

Инверсия на мелких уникальных файлах

Если применить чанк-адресацию к мелким уникальным файлам (<4 KiB), то total_cost станет хуже локального сжатия, потому что фиксированные издержки (манифест, адрес, каталог, sync) превышают экономию.

Класс данных (Z)
small unique files (<4 KiB)
Адресная цель
н/п
Предсказанный рычаг
измеренная точка инверсии X — правило маршрутизации для AH-18
Категория потолка
структурно не может выиграть (граница)
Механизм
константные издержки не амортизируются малым размером
Тест фальсификации
net bytes vs zstd по бинам размера; отсутствие инверсии опровергло бы (не ожидается)
Полная стоимость (total_cost)
константные статьи (манифест + ≥1 адрес + запись каталога + sync) при size→0 дают cost/size→∞; экономия ограничена размером файла.
Вердикт пробы
NO-GO — предсказанная точка инверсии X ОТСУТСТВУЕТ на реальном миксе: заряженный адресатор выигрывает во ВСЕХ бинах размера, включая <=1 КиБ (0.5225 против 0.5937), потому что мелкие файлы в реальных данных дублируются сильнее всех. Для строго-уникального файла проигрыш адресатора — арифметика (те же сжатые байты + refs + манифест), порог не нужен; правило маршрутизации router'а (AH-18) — по измеренной дубликатности, а не по размеру.
Измеренный результат

bins

#1

bin
1-1024
addr
0.5225
files
76 360
local
0.5937
addr_wins
true

#2

bin
1025-4096
addr
0.2764
local
0.3986
addr_wins
true

#3

bin
4097-16384
addr
0.2313
local
0.3311
addr_wins
true

#4

bin
16385-65536
addr
0.197
local
0.2922
addr_wins
true

#5

bin
65537-262144
addr
0.1955
local
0.3037
addr_wins
true

#6

bin
262145-1048576
addr
0.7053
local
0.7621
addr_wins
true

#7

bin
1M-4M
addr
0.6237
local
0.705
addr_wins
true

#8

bin
>4M
addr
0.2538
local
0.3942
addr_wins
true
date
2026-07-14
probe
W1-inversion-v1
corpus
real 3-tree mix, 8.5 GiB, per-file transmission model, charged refs+manifest
verdict
NO-GO

verdict_note

NO-GO — предсказанная точка инверсии X ОТСУТСТВУЕТ на реальном миксе: заряженный адресатор выигрывает во ВСЕХ бинах размера, включая <=1 КиБ (0.5225 против 0.5937), потому что мелкие файлы в реальных данных дублируются сильнее всех. Для строго-уникального файла проигрыш адресатора — арифметика (те же сжатые байты + refs + манифест), порог не нужен; правило маршрутизации router'а (AH-18) — по измеренной дубликатности, а не по размеру.

AH-18 GO W1 · 2026-07-13

Router: адресатор + Cubrim-1 (competitive selection)

Если построить двухфазный кодек (фаза 1: whole-file/CDC exact-dedup по матрице; фаза 2: residual в локальный кодек Cubrim-1), то total_cost на реальных смесях будет <= min(каждого поодиночке)+ε и строго лучше на смесях с dup-массой >0, потому что рычаги ортогональны.

Класс данных (Z)
реальные смешанные user-миксы
Адресная цель
н/п
Предсказанный рычаг
строгое не-ухудшение + аддитивный выигрыш на dup-массе
Категория потолка
identity-дедупликация — ссылка ≪ payload при точном совпадении
Механизм
глобальная повторность и локальная статистика не конкурируют за одни байты; regression-proof по Gotcha #4 паттерну
Тест фальсификации
порог dup-массы, ниже которого интеграционный оверхед съедает выигрыш
Полная стоимость (total_cost)
сумма фаз: dedup-статьи (AH-02/05) на покрытой массе + полный Cubrim-1 total_cost на residual + scheme-байты и границы фаз (интеграционный оверхед).
Вердикт пробы
GO — углублён РЕАЛЬНЫМ Cubrim-1-бэкендом (zstd-заглушка заменена, директива исполнена): router 0.7435 против cubrim-only 0.9879 (−24.4 пп) на device-external матрице; 55% файлов — whole-file hits. Операционная находка: per-file CLI-архивы Cubrim дороги на мелких файлах (0.988; сила Cubrim-1 в world-bench — на крупных корпусных файлах) — router должен выбирать локальный бэкенд по размеру (zstd-22 reference на этом сэмпле 0.7484). Порог включения фазы 1 (~10% dup-fraction) из W1 остаётся в силе.
Измеренный результат
date
2026-07-14
probe
W1-router-v1

ratios

router
0.4504
local_only
0.5535
addresser_only
0.4528
router_with_catalog
0.4533

routing

files_to_local
107 567
whole_file_hits
95 557
files_to_addresser
96 278
verdict
GO
corpus_bytes
8.19 GiB (8 788 989 359 B)
deciles_note
0-9% покрытия -> addr выбран у 1.0% файлов; >=10% -> 96.6-100%

real_backend

date
2026-07-15
probe
DR-router-cubrim-v1 sha:4c480631606a
matrix
prod∪www (device-external, без само-надувания)

ratios

cubrim_local_only
0.9879
router_cubrim_charged
0.7435
zstd_ultra22_reference
0.7484

sample

bytes
41.42 MiB (43 430 770 B)
files
900
backend
РЕАЛЬНЫЙ Cubrim-1 CLI v0.2.2 (commit 3528bd1), round-trip верифицирован

routing

to_addresser
508
whole_file_hits
493

verdict_note

GO — углублён РЕАЛЬНЫМ Cubrim-1-бэкендом (zstd-заглушка заменена, директива исполнена): router 0.7435 против cubrim-only 0.9879 (−24.4 пп) на device-external матрице; 55% файлов — whole-file hits. Операционная находка: per-file CLI-архивы Cubrim дороги на мелких файлах (0.988; сила Cubrim-1 в world-bench — на крупных корпусных файлах) — router должен выбирать локальный бэкенд по размеру (zstd-22 reference на этом сэмпле 0.7484). Порог включения фазы 1 (~10% dup-fraction) из W1 остаётся в силе.

catalog_bytes
24.04 MiB (25 204 723 B)
router_beats_both
true
epsilon_scheme_bytes_pct
0.0023%
dup_fraction_enable_threshold_pct
10%

Страница 9 / 12

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

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