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-29T00:16:58Z · db:addressor_hypotheses

Гипотезы · 24

Страница 6 / 12

AH-11 GO W1 · 2026-07-13

Порог окупаемости N* (break-even)

Если формализовать B(N)=Σsavings−M_size−C_catalog_sync−C_residual_overhead, то существует измеримый порог N*, достижимый на enterprise-backup классе и N*→∞ на уникальном персональном контенте, потому что savings пропорциональны кросс-девайсной повторности.

Класс данных (Z)
enterprise-backup vs personal-unique
Адресная цель
н/п
Предсказанный рычаг
формула+таблица N* по классам — измеритель честности трека
Категория потолка
учёт стоимости инфраструктуры
Механизм
амортизация фиксированной стоимости матрицы повторностью
Тест фальсификации
посчитать N* на 2-3 реальных смесях; классы с N*>реалистичного флота — вне рынка
Полная стоимость (total_cost)
это агрегатор total_cost всего трека: B(N)=Σsavings(N) − M_size − C_catalog_sync(N) − C_residual_overhead(N); порог N* = корень B.
Вердикт пробы
GO — оба предсказания подтверждены на ИЗМЕРЕННЫХ параметрах: для office/infra-класса порог окупаемости существует и мал (N*=2: уже второе устройство делает баланс положительным, +0.613 ГиБ), для уникального персонального класса c~0 -> N*->бесконечность (чистый корпус личных файлов — за AH-16 follow-up). Формула и таблица N* — измеритель честности трека, дистрибуция матрицы = приобретение данных устройствами (первые передачи учтены в AH-19). MULTI-CLASS (2026-07-15): N*=2 УНИВЕРСАЛЕН по всем 7 измеренным классам (даже media с кросс-ставкой 6.9%); N*→∞ остаётся только у измеренно-уникального класса (AH-16).
Измеренный результат
date
2026-07-14

B_GiB

N1
-0.019
N2
0.613
N3
1.245
N10
5.669
N100
62.555
probe
W1-nstar-v1
formula
B(N) = c*d*(N-1) - 2*k_cat*u*N
verdict
GO

multiclass

date
2026-07-15

note

кросс-ставки классов 5.8–27.6% при k_cat=0.00419 дают N*=2 везде

probe
DR-multiclass-v1

nstar_by_class

web
2
code
2
docs
2
media
2
other
2
config
2
archives
2

verdict_note

GO — оба предсказания подтверждены на ИЗМЕРЕННЫХ параметрах: для office/infra-класса порог окупаемости существует и мал (N*=2: уже второе устройство делает баланс положительным, +0.613 ГиБ), для уникального персонального класса c~0 -> N*->бесконечность (чистый корпус личных файлов — за AH-16 follow-up). Формула и таблица N* — измеритель честности трека, дистрибуция матрицы = приобретение данных устройствами (первые передачи учтены в AH-19). MULTI-CLASS (2026-07-15): N*=2 УНИВЕРСАЛЕН по всем 7 измеренным классам (даже media с кросс-ставкой 6.9%); N*→∞ остаётся только у измеренно-уникального класса (AH-16).

inputs_measured

source
W1-crossdevice-v1 (3 реальных хоста) + AH-09 catalog-модель
c_cross_chunk_dup
0.1621
d_bytes_per_device
4 313 821 344
u_unique_per_device
2 458 446 783
k_cat_per_unique_byte
0.00419
N_star_office_infra
2
AH-12 GO W1 · 2026-07-13

Деградация замороженной матрицы (drift)

Если матрицу заморозить (immutable v1 по канону), то hit-rate на свежем контенте будет монотонно деградировать с измеримой скоростью d(hit)/dt, потому что распределение реальных данных нестационарно.

Класс данных (Z)
новости, обновляемый софт, новые форматы
Адресная цель
н/п
Предсказанный рычаг
полураспад словарных секций быстрее чанковых (предсказание, без чисел)
Категория потолка
учёт стоимости инфраструктуры
Механизм
нестационарность данных vs снимок прошлого
Тест фальсификации
hit-rate(t) на датированных снапшотах корпуса
Полная стоимость (total_cost)
стоимость каждой новой версии матрицы = distribution+sync на каждое устройство; выигрыш = восстановленный hit-rate; чистый эффект = разница.
Вердикт пробы
GO — монотонная деградация замороженной матрицы ИЗМЕРЕНА на реальных датированных снапшотах KB: 100 → 98.58 → 97.37 → 96.86% за 2.5 месяца, d(hit)/dt ≈ −1.3 пп/мес. Для KB-класса дрейф медленный → каденс обновления версий матрицы может быть низким (кварталы), стоимость каждой версии остаётся статьёй total_cost. Ограничения окна честно: 2.5 месяца, один класс (KB), только чанк-секции (git-история глубже недоступна — экосистемный reset 2026-05-11); сравнение словарных секций против чанковых — follow-up. MULTI-CLASS (2026-07-15): агрегат −1.3 пп/мес прятал разброс на порядок — media 100% стабильна, other 98.2%, config 82.4%, code 74.6%, docs 28.6% за 2.5 мес; каденс версий матрицы должен быть PER-CLASS (media — почти никогда, docs — недели). СЛОВАРНАЯ СЕКЦИЯ (2026-07-16): суб-предсказание «словарные секции дрейфуют быстрее чанковых» ОПРОВЕРГНУТО — выигрыш замороженного словаря не упал, а слегка вырос (5.02 → 6.03 пп за 2.5 мес): статистика boilerplate стабильна, тогда как точные чанки docs уходят до 28.6%. Статистические секции матрицы стареют МЕДЛЕННЕЕ точных.
Измеренный результат
date
2026-07-15
probe
W1-drift-v1
matrix
замороженный чанк-пул KB-снапшота 2026-05-01 (git 4101a640), 32317 чанков
method
git ls-tree/cat-file датированных коммитов (read-only, без checkout), blob-oid кэш
verdict
GO

hit_curve

#1

date
2026-05-01
hit_pct
100%

#2

date
2026-06-01
hit_pct
98.58%

#3

date
2026-07-01
hit_pct
97.37%

#4

date
2026-07-15
hit_pct
96.86%

dict_drift

date
2026-07-16
dict
110КиБ zstd-19, обучен на снапшоте 2026-05-01 (docs/code/config блобы)
probe
DR-dict-drift-v1

gain_pp_by_date

2026-05-01
5.02
2026-06-01
5.67
2026-07-01
5.95
2026-07-16
6.03

verdict_note

GO — монотонная деградация замороженной матрицы ИЗМЕРЕНА на реальных датированных снапшотах KB: 100 → 98.58 → 97.37 → 96.86% за 2.5 месяца, d(hit)/dt ≈ −1.3 пп/мес. Для KB-класса дрейф медленный → каденс обновления версий матрицы может быть низким (кварталы), стоимость каждой версии остаётся статьёй total_cost. Ограничения окна честно: 2.5 месяца, один класс (KB), только чанк-секции (git-история глубже недоступна — экосистемный reset 2026-05-11); сравнение словарных секций против чанковых — follow-up. MULTI-CLASS (2026-07-15): агрегат −1.3 пп/мес прятал разброс на порядок — media 100% стабильна, other 98.2%, config 82.4%, code 74.6%, docs 28.6% за 2.5 мес; каденс версий матрицы должен быть PER-CLASS (media — почти никогда, docs — недели). СЛОВАРНАЯ СЕКЦИЯ (2026-07-16): суб-предсказание «словарные секции дрейфуют быстрее чанковых» ОПРОВЕРГНУТО — выигрыш замороженного словаря не упал, а слегка вырос (5.02 → 6.03 пп за 2.5 мес): статистика boilerplate стабильна, тогда как точные чанки docs уходят до 28.6%. Статистические секции матрицы стареют МЕДЛЕННЕЕ точных.

multiclass_drift

date
2026-07-15
probe
DR-drift-class-v1 sha:72e42ecf

hit_pct_at_2026-07-15_vs_frozen_2026-05-01

code
74.55
docs
28.6
media
100
other
98.24
config
82.39
drift_pp_per_month
1.3

Страница 6 / 12

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

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