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:43:10Z · db:addressor_hypotheses

Гипотезы · 24

Страница 5 / 12

AH-09 GO W1 · 2026-07-13

MPH-каталог

Если индекс матрицы строить на minimal perfect hashing (~2-3 бита/ключ) + 8-16-бит отпечаток с криптоподтверждением при hit, то catalog_bytes/chunk позволит держать каталог миллиардного стора в единицах ГиБ, потому что MPH почти оптимален по памяти.

Класс данных (Z)
инфраструктура каталога (мета)
Адресная цель
н/п
Предсказанный рычаг
каталог 10^9 чанков ~ единицы ГиБ (предсказание)
Категория потолка
учёт стоимости инфраструктуры
Механизм
почти-оптимальная память MPH + дешёвый префильтр отпечатком
Тест фальсификации
кривая fp/bytes; если безопасный fp недостижим 16-бит отпечатком и каталог съедает амортизацию -> NO-GO конфигурации
Полная стоимость (total_cost)
инфра-статья: catalog_bytes/chunk ≈ 2–3 бита MPH + 8–16 бит отпечаток; при hit — подтверждение полным хэшем (сетевое) · amortized: делится на все обращения флота.
Вердикт пробы
GO — клейм компактности подтверждён РЕАЛЬНОЙ сериализованной структурой (даже без MPH): 2.0 Б/ключ при 16-битном отпечатке, измеренный fp 3.96% (совпадает с теорией 2664/65536=4.06% — структура честная), каждый positive подтверждается полным хэшем по сети. Экстраполяция измеренной плотности на 10^9 ключей = 1.86 ГиБ (арифметика на измеренном, помечена). Sensitivity: fp8 бесполезен (fp≈100%), fp12 промежуточен (47.8%), fp16 — рабочая точка. Falsification («каталог съедает амортизацию») не сработал: 2 Б/ключ ≪ 34.3 Б/ключ модели волны 1.
Измеренный результат
date
2026-07-15
probe
DR-catalog-bloom-v1
verdict
GO

structure

реальный bucketed sorted-fingerprint индекс (packfile-idx стиль) над 681 973 реальными чанк-хэшами devs∪prod

verdict_note

GO — клейм компактности подтверждён РЕАЛЬНОЙ сериализованной структурой (даже без MPH): 2.0 Б/ключ при 16-битном отпечатке, измеренный fp 3.96% (совпадает с теорией 2664/65536=4.06% — структура честная), каждый positive подтверждается полным хэшем по сети. Экстраполяция измеренной плотности на 10^9 ключей = 1.86 ГиБ (арифметика на измеренном, помечена). Sensitivity: fp8 бесполезен (fp≈100%), fp12 промежуточен (47.8%), fp16 — рабочая точка. Falsification («каталог съедает амортизацию») не сработал: 2 Б/ключ ≪ 34.3 Б/ключ модели волны 1.

sensitivity_fp_bits

bytes_per_keymeasured_fp_pct
fp8199.997%
fp12247.809%
fp1623.962%
extrapolated_1e9_keys_GiB_at_fp16
1.86
AH-10 GO W1 · 2026-07-13

Bloom-предфильтр отправителя

Если отправитель держит локальный Bloom-фильтр каталога (fp~1%), то сетевые lookup'ы на типичном user-миксе упадут до ~hit_rate*(1+fp) доли чанков, потому что заведомо-новое отсекается локально без RTT.

Класс данных (Z)
типичный user-микс
Адресная цель
н/п
Предсказанный рычаг
порядок(и) меньше сетевых запросов (предсказание)
Категория потолка
учёт стоимости инфраструктуры
Механизм
локальный отсев miss'ов
Тест фальсификации
модель churn матрицы vs трафик обновлений фильтра; обновления дороже экономии -> NO-GO
Полная стоимость (total_cost)
инфра-статья: клиентский фильтр ~1–2 байта на чанк каталога + ТРАФИК ОБНОВЛЕНИЙ при churn матрицы · экономия: сетевые lookup-RTT.
Вердикт пробы
GO — реальный фильтр на реальном потоке устройства: 70.16% сетевых lookup срезано (151 189 → 45 116; true hits 44 828, ложных проходов 288), измеренный fp 0.298% при цели 1%. Falsification («обновления фильтра дороже экономии») прогнан с ИЗМЕРЕННЫМ дрейфом (1.3%/мес): churn-трафик = 0.11% от экономии одного полного скана — не сработал с запасом ~3 порядка. Фильтр 1 МиБ на флотовый каталог — пренебрежим в total_cost.
Измеренный результат
date
2026-07-15
probe
DR-catalog-bloom-v1
verdict
GO

structure

реальный Bloom-фильтр над 681 973 ключами; реальный поток устройства arcana-www (151 189 уникальных чанков)

sensitivity

bits_per_keyfilter_bytesmeasured_fp_pctlookup_reduction_pctchurn_over_savings_pct
target_1pct101.00 MiB (1 048 576 B)0.298%70.16%0.11%
target_0.1pct152.00 MiB (2 097 152 B)0%70.35%0.16%
churn_source
ИЗМЕРЕННЫЙ дрейф KB 1.3%/мес (AH-12)

verdict_note

GO — реальный фильтр на реальном потоке устройства: 70.16% сетевых lookup срезано (151 189 → 45 116; true hits 44 828, ложных проходов 288), измеренный fp 0.298% при цели 1%. Falsification («обновления фильтра дороже экономии») прогнан с ИЗМЕРЕННЫМ дрейфом (1.3%/мес): churn-трафик = 0.11% от экономии одного полного скана — не сработал с запасом ~3 порядка. Фильтр 1 МиБ на флотовый каталог — пренебрежим в total_cost.

Страница 5 / 12

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

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