Decima-8: Нейроморфная архитектура, оперирующая уровнями энергииОткрытая спецификация, Level16, эстафетная активация без маршрутизаторов. v0.2Hello SWARMСовремеDecima-8: Нейроморфная архитектура, оперирующая уровнями энергииОткрытая спецификация, Level16, эстафетная активация без маршрутизаторов. v0.2Hello SWARMСовреме

Decima-8: Нейроморфная архитектура, оперирующая уровнями энергии

2026/03/03 14:17
21м. чтение
Для обратной связи или замечаний по поводу данного контента, свяжитесь с нами по адресу crypto.news@mexc.com

Decima-8: Нейроморфная архитектура, оперирующая уровнями энергии

Hello SWARM
Hello SWARM

Современные нейроморфные системы сталкиваются с двумя независимыми проблемами.

Проблема 1: Кодирование информации
Бинарные спайковые сети (SNN) передают градации сигнала через:

  • Частотное кодирование (множество тактов на одно значение)

  • Увеличение количества линий передачи

Проблема 2: Аппаратная реализация
Аналоговые мемристорные кроссбары обещают естественную нейроморфность, но содержат следующие проблемы:

  • Шум и дрейф параметров

  • Недетерминизм вычислений

  • Каждый чип требует индивидуальной калибровки

Традиционные Network-on-Chip (NoC) добавляют overhead:

  • ~40% площади кристалла уходит на маршрутизаторы

  • ~70% энергии тратится на пересылку данных, а не вычисления

Decima-8 предлагает:

  • Level16: кодирование уровня активации (0..15) в одном такте на одной линии. Это компромисс между бинарным представлением и аналоговой непрерывностью.

  • Цифровые кроссбары (эмуляция мемристорных матриц): детерминизм, воспроизводимость, отсутствие шума

  • Эстафетную активацию вместо пакетной маршрутизации: тайлы не передают данные друг другу, активация распространяется через граф зависимостей

  • Результат: фиксированная задержка, предсказуемое поведение, 0% площади на роутеры.


2. МАТЕМАТИЧЕСКИЕ ОСНОВЫ

Архитектура Decima-8 основана на детерминированной целочисленной арифметике. В этом разделе приведены спецификации вычислений: форматы данных, формулы активации и логика работы тайлов. Все значения имеют фиксированные диапазоны, что гарантирует воспроизводимость результатов на любом оборудовании.

2.1 Level16: Семантическая тетрада

Level16 в аккордеоне IDE
Level16 в аккордеоне IDE

В традиционных спайковых архитектурах интенсивность сигнала кодируется либо во времени (частота спайков), либо в пространстве (количество параллельных каналов). Оба подхода требуют компромисса: либо задержка, либо усложнение разводки.

Decima-8 использует Level16 — представление уровня активации как 4-битного значения (0..15) на одной линии за один такт:

thr\_cur16 \in \{0, 1, \dots, 15\} // 4 bits - tetrade

Это не попытка «эмулировать аналог цифрой», а осознанный выбор формата данных:

  • Достаточно градаций для выразительности нейроморфных паттернов

  • Укладывается в nibble — удобно для packed-форматов и битовых операций

  • Фиксированный размер — детерминированная арифметика, нет динамической нормализации

Физический смысл Level16:

  • 0 — отсутствие активации

  • 15 — насыщение

  • 1..14 — градации «силы намерения»

На шине VSB это просто уровень сигнала. Внутри тайла — операнд для арифметики с весами SignedWeight5.

2.2 SignedWeight5: Взвешенные связи с торможением

Внутренности тайла: 8 струн → кроссбар → аккумулятор
Структурная схема тайла: 8 струн - кроссбар - аккумулятор

Каждый тайл содержит цифровую эмуляцию мемристорного кроссбара размером 8×8. На вход приходят 8 значений in16[0..7] (Level16). Каждое значение умножается на свой вес и суммируется по строке.

Кодирование веса: SignedWeight5 (5 бит)

bits 0-2: magnitude (0..7) // модуль bit 3: sign (0=-, 1=+) // знак bit 4: reserved (0) // выравнивание

Диапазон веса: [-7..+7]. Отрицательные веса реализуют латеральное торможение на аппаратном уровне — это не эмуляция, а прямое следствие знаковой арифметики.

Формула для одной строки кроссбара:

{row\_raw\_signed}[r] = \sum_{i=0}^{7} ({in16}[i] \times {weight}[r][i])

Поскольку in16[i] ∈ [0..15], а weight ∈ [-7..+7], вклад одной ячейки лежит в диапазоне [-105..+105]. Сумма по 8 входам даёт [-840..+840] на строку.

Эти 8 строк (row_raw_signed[0..7]) далее расходятся по двум путям:

  1. В аккумулятор (без преобразований) — signed-значения для накопления и принятия решения о lock

  2. На шину VSB (через нормализацию и clamp15) — только неотрицательные значения 0..15

Почему 5 бит на вес?

  • 3 бита на модуль (0..7) — достаточно градаций для выразительности связей

  • 1 бит на знак — поддержка ингибирования

  • 1 бит резерв — выравнивание до байта, возможность расширения в v1.0

Это компромисс между точностью и плотностью упаковки: 64 веса × 5 бит = 40 байт на тайл, укладывается в кэш-линию.

Результат row_raw_signed[r] идёт в аккумулятор (всегда) и на шину (если взведен флаг BUS_R)

2.3 Функция активации: два пути одного сигнала

После вычисления row_raw_signed[r] сигнал идёт по двум путям. Путь в аккумулятор — основной, путь на шину — условный.

Пути сигнала в тайле
Пути сигнала в тайле

Путь 1: В аккумулятор (основной, всегда активен)

Формула:

thr\_cur16 \leftarrow thr\_cur16 + row\_raw\_signed[r] \quad \text{where} \in \mathbb{I}_{16}

Особенности:

  • row_raw_signed[r] ∈ [-840..+840] используется как есть, с сохранением знака

  • Сумма по всем 8 строкам: delta_raw ∈ [-6720..+6720]

  • Аккумулятор thr_cur16 ∈ [-32768..+32767] (signed i16)

Зачем:

  • Накопление активации для принятия решения о fuse (thr_cur16 ∈ [thr_lo16..thr_hi16])

  • Применение decay (затухание к нулю)

  • Поддержание внутреннего состояния тайла между тактами

Путь 2: На шину VSB (условный, только при BUS_R в WRITE phase)

Формула:

row16\_out[r] = \text{clamp}_{15} \left( \left\lfloor \frac{\max(row\_raw\_signed[r], 0) + 7}{8} \right\rfloor \right)

Разбор:

Шаг

Что делает

Зачем

max(..., 0)

Отсекает отрицательные суммы

Если торможение победило → на шине тишина (0)

+ 7

Сдвиг для округления

(x + 7) / 8 = округление вверх перед целочисленным делением

/ 8

Нормализация диапазона

[-840..+840] → [0..105] → clamp15 → [0..15]

clamp15

Жёсткое ограничение 0..15

Защита от переполнения, совместимость с Level16

Примеры:

row_raw_signed[r] = +500 → max(500, 0) = 500 → (500 + 7) / 8 = 63.375 → 63 (целочисленное) → clamp15(63) = 15 ← насыщение row_raw_signed[r] = +50 → max(50, 0) = 50 → (50 + 7) / 8 = 7.125 → 7 → clamp15(7) = 7 ← нормальное значение row_raw_signed[r] = -100 → max(-100, 0) = 0 → (0 + 7) / 8 = 0.875 → 0 → clamp15(0) = 0 ← полное подавление (торможение победило)

Почему /8, а не адаптивная нормализация?

Потому что входов всегда 8. Не 1, не 64, не «сколько активно».

Это гарантирует:

  • Детерминизм: одна и та же конфигурация — один и тот же результат

  • Аппаратную простоту: >> 3 вместо деления в runtime

  • Предсказуемость: нет «внезапного насыщения» при изменении плотности

Если нужен другой динамический диапазон — настройте параметры тайла:

  • weights (mag3+sign1) — сила связей

  • thr_lo/hi — диапазон значений аккумулятора для активации

  • decay16 — скорость затухания

2.4 Аккумулятор + Signed Decay: Память с инерцией

Состояние тайла хранится в аккумуляторе thr_cur16

thr\_cur16 \in \{-32768, \dots, 32767\}

Почему signed: Аккумулятор суммирует взвешенные вклады row_raw_signed[r] ∈ [-840..+840]. Отрицательные значения (торможение) должны уменьшать потенциал, не отсекаясь на нуле.

Механизм decay:

На каждом такте, если decay16 > 0, аккумулятор стремится к нулю:

if (decay16 > 0) { if (thr_tmp > 0) thr_tmp = max(thr_tmp - decay16, 0); else if (thr_tmp < 0) thr_tmp = min(thr_tmp + decay16, 0); // Zero-crossing protection: знак не меняется }

Ключевые свойства:

  1. Нет перескока через ноль. Если thr_cur16 = +20, а decay16 = 30, результат будет 0, а не -10. Знак потенциала инвариантен относительно decay.

  2. Применяется всегда. Decay работает даже для locked тайлов. Это позволяет активному пути «остыть» и разблокироваться при отсутствии подпитки.

  3. Конфигурируемый параметр. decay16 задаётся в TileParams для каждого тайла индивидуально.

Зачем это нужно:

  • Фильтрация шума: Слабые сигналы (|delta| < decay16) не накапливаются, а аннигилируются.

  • Ограничение окна интеграции: Сигналы суммируются только если приходят в пределах временного окна, заданного скоростью затухания.

  • Стабильность: Предотвращает насыщение аккумулятора при длительной активации.

2.5 Fuse-by-Range: Пороговая логика

Тайл принимает решение о блокировке (locked) на основе текущего значения аккумулятора thr_cur16 и конфигурируемого диапазона [thr_lo16..thr_hi16]

{locked} = 1 \Longleftrightarrow {thr}_{lo16} \le {thr}_{cur16} \le {thr}_{hi16}

Параметры:

  • thr_lo16, thr_hi16[-32768..+32767] (signed i16)

  • Валидация: если thr_lo16 > thr_hi16 → ошибка FuseRangeError при bake

  • Если thr_lo16 == thr_hi16 → фьюз отключён (тайл никогда не заблокируется)

Поведение при locked=1:

  1. Поддержание активации потомков: пока тайл locked, его потомки в графе остаются ACTIVE и могут вычисляться в следующем такте.

  2. Decay продолжает работать: аккумулятор затухает к нулю даже в locked-состоянии. Если thr_cur16 выходит за пределы [thr_lo16..thr_hi16], тайл разблокируется.

  3. Эстафета распространяется: locked-тайл формирует устойчивое звено в графе активации.

Ключевой принцип:
locked — это не передача данных, а разрешение на вычисление для потомков. Данные приходят от Conductor через VSB_INGRESS, а не от других тайлов. Тайлы только накапливают состояние в аккумуляторах и управляют графом активации через флаги locked.

🧩 Итого по математике

Компонент

Диапазон

Формула

Level16

[0..15]

thr_cur16 — уровень энергии

SignedWeight5

[-7..+7]

mag3 + sign1

row_raw_signed

[-840..+840]

Σ(in16 × weight) на строку

delta_raw

[-6720..+6720]

Σ row_raw_signed (8 строк)

Аккумулятор

[-32768..+32767]

thr_cur16 += delta_raw - decay

Fuse range

[-32768..+32767]

thr_lo16 .. thr_hi16


3. АРХИТЕКТУРА ЖЕЛЕЗА

Раздел 2 зафиксировал математические правила вычислений. Раздел 3 описывает их аппаратную реализацию: разделение Conductor/Island, детерминированный цикл READ→WRITE, эстафетную активацию без маршрутизаторов и механизмы энергоэффективности.

Все компоненты спроектированы так, чтобы гарантировать:

  • Фиксированную латентность (не зависит от нагрузки)

  • Масштабируемость (линейный рост времени с ростом ткани)

  • Детерминизм (одинаковый результат при одинаковых входах)

3.1 Conductor ↔ Island

Диаграмма Conductor ↔ Island
Диаграмма Conductor ↔ Island

Decima-8 разделена на две плоскости: Conductor (управление) и Island (вычисления).

Conductor — внешний контроллер (CPU/FPGA/ПК):

  • Вызывает события EV_FLASH, EV_BAKE, EV_RESET_DOMAIN

  • Выставляет VSB_INGRESS[0..7] в начале READ-фазы

  • Читает BUS16[0..7] и PATTERN_ID после WRITE-фазы

  • Загружает конфигурацию (веса, пороги) через SPI-like интерфейс (CFG)

Island — вычислительная ткань:

  • Массив тайлов (масштабируемый: 8×32 .. 32×128)

  • Параллельная обработка всех тайлов в каждом такте

  • VSB (Value Signal Bus): 8 входных линий Level16 от Conductor

  • BUS16: 8 выходных линий для суммирования вкладов тайлов

  • PATTERN_ID: выделенный канал для ID выигравшего паттерна

Интерфейсы конфигурации:

  • SPI/QSPI: загрузка BakeBlob — до 50 MB/s

  • Parallel CFG bus (FPGA): до 200 MB/s

  • PCIe/Ethernet (хост-контроллер): до 1 GB/s

  • UART: только отладка, не для runtime

3.2 Двухфазный цикл

Один такт EV_FLASH
Один такт EV_FLASH

Вся ткань работает в жёстком ритме. Один такт состоит из четырёх фаз:

┌─────────────┬──────────────┬─────────────┬─────────────┐ │ PHASE_READ │ TURNAROUND │ PHASE_WRITE │ READOUT │ └─────────────┴──────────────┴─────────────┴─────────────┘

PHASE_READ (0..8 мкс):

  1. Conductor выставляет VSB_INGRESS16[0..7] (Level16)

  2. Все ACTIVE-тайлы семплируют вход

  3. Вычисление row_raw_signed[r] для каждой строки

  4. Обновление thr_cur16 += delta_raw

  5. Применение decay (затухание к нулю)

  6. Проверка fuse: locked_after = (thr_cur16 ∈ [thr_lo16..thr_hi16])

  7. Формирование drive_vec[0..7]

TURNAROUND (10..12 мкс):

  • Conductor отпускает VSB (Hi-Z / no-drive)

  • Island включает драйв BUS16

  • Обязательный зазор — никаких гонок направлений

PHASE_WRITE (12..18 мкс):

  • Тайлы с BUS_W==1 и (locked self || locked_ancestor) выставляют drive_vec на BUS16

  • Честное суммирование: BUS16[i] = clamp15(Σ contrib[i])

  • Фиксация: locked := locked_after

READOUT (18..20 мкс):

  • Conductor читает BUS16[0..7] как результат такта

  • Опционально: AutoReset-by-Fire (сброс доменов по маске winner'а)

Детерминизм цикла:

Время выполнения каждого такта фиксировано и не зависит от:

  • Количества активных тайлов

  • Сложности паттерна

  • Состояния аккумуляторов

На эмуляторе (i5-3550) полный цикл занимает ~20-311 мкс в зависимости от размера ткани (см. раздел 4). На FPGA/ASIC время будет определяться тактовой частотой и глубиной конвейера.

3.3 Эстафетная активация (Router-less NoC)

Диаграмма передачи эстафеты
Диаграмма передачи эстафеты

В традиционных нейроморфных архитектурах тайлы обмениваются данными через сеть пакетной коммутации (Network-on-Chip). Это требует:

  • Маршрутизаторов между узлами

  • Буферов для очередей пакетов

  • Арбитража при коллизиях трафика

Decima-8 работает иначе:

Тайлы не передают данные друг другу. Вместо этого они формируют граф активации через флаги направлений (N/E/S/W/NE/SE/SW/NW).

Механизм:

{A}_{t} = 1 \Longleftrightarrow ({BUS\_R}_{t} = 1) \text{ OR } \left( \exists p \in {Parents}(t) : {A}_{p} = 1 \text{ AND } {L}_{p}^{prev} = 1 \right)

Вычисляется как least fixed point — детерминированно, за один проход.

Эстафета в действии:

  • Такт N: корневой тайл активируется и становится locked.

  • Такт N+1: потомок видит locked_before[p]==1 и становится ACTIVE

3.4 Схлопывание ветки (Branch Collapse)

Логика:

Если предок не заблокирован (locked=0), потомки становятся неактивными:

if (ACTIVE[t] == 0) { thr_cur16 := 0 locked := 0 drive_vec := {0..0} // Тайл не вычисляется, не драйвит шину }

Эффект:

  • Энергия не тратится на обработку заведомо неактивных путей

  • Мёртвые ветви ткани «отключаются» автоматически

  • Ресурсы направляются только на живые пути

Пример:

Такт N:

  • Корневой тайл не фьюзится (thr_cur16 не попал в [lo..hi])

  • locked_after = 0

Такт N+1:

  • Потомки: ACTIVE = false (нет locked-предка)

  • Принудительный сброс: thr_cur16=0, locked=0

Ветка схлопнута

3.5 Двойной пролив (Double Strait)

Назначение: Повышение селективности при распознавании паттернов с малым расстоянием Хэмминга (например, ASCII-символы, закодированные в 32 бита на 8 струн VSB).

Проблема: При прямом детектировании похожие символы (например, «3» и «8») могут активировать одни и те же тайлы из-за перекрытия битовых масок. Это приводит к ложным срабатываниям.

Механизм:

Если установлен флаг BAKE_FLAG_DOUBLE_STRAIT (bit 0 в header .d8p), ядро выполняет два внутренних пролива на один вызов EV_FLASH:

Первый пролив (Поиск):

  • Все тайлы вычисляют row_raw_signed, обновляют thr_cur16.

  • Тайлы-детекторы (первая линия) защёлкиваются (locked=1), если попадают в диапазон [thr_lo..thr_hi].

  • Решение не выдаётся. Выходная шина BUS16 не обновляется.

Второй пролив (Верификация):

  • Тот же входной аккорд обрабатывается повторно.

  • Защёлкнутые детекторы открывают путь тайлам-антагонистам (через граф активации).

  • Антагонисты верифицируют паттерн: только один антагонист (соответствующий входному символу) сохраняет аккумулятор около нуля. Остальные уходят в глубокий минус (ингибирование).

  • Выдача решения: только после завершения второго пролива.

Для Дирижёра:

  • Один вызов EV_FLASH.

  • Время выполнения удваивается (например, ~40 мкс вместо ~20 мкс на эмуляторе).

  • API не меняется: вход подаётся один раз, результат читается после завершения.

Когда использовать:

  • Да: Распознавание символов/цифр с малым расстоянием Хэмминга.

  • Да: Классификация с перекрытием классов, где важна точность.

  • Нет: Задачи с жёсткими требованиями к латентности (HFT, управление двигателем).

  • Нет: Паттерны с большим расстоянием Хэмминга (достаточно одного пролива).

В IDE: галочка «Double Strait» в настройках bake автоматически выставляет флаг в .d8p.

🧩 Итого по архитектуре

Компонент

Принцип

Выгода

Conductor ↔ Island

Разделение управления и вычислений

Чёткая дисциплина, масштабируемость

Двухфазный цикл

READ → TURNAROUND → WRITE

Детерминизм 20 мкс, no race conditions

Эстафетная активация

Граф, а не передача данных

0% площади на роутеры, нулевой джиттер

Схлопывание ветки

ACTIVE=false → сброс в 0

Энергоэффективность, автоматическая оптимизация

Двойной пролив

Два внутренних такта на один EV_FLASH

Селективность важнее латентности


4. БЕНЧМАРКИ: ДЕТЕРМИНИЗМ НА ПРАКТИКЕ

Тестовая платформа

IDE Decima-8 — нативное приложение на C++23 (libwui, статическая сборка). Тесты на Intel Core i5-3550 (2012, 4 ядра, 3.3 GHz), одно ядро.

Результаты замеров:

Тайлов

Время цикла

Частота

256

~22 мкс

45 kHz

512

~43 мкс

23 kHz

1024

~81 мкс

12 kHz

2048

~160 мкс

6 kHz

4096

~311 мкс

3 kHz

graph
Зависимость времени такта эмулятора от размера сварма

Масштабирование:

При удвоении количества тайлов время выполнения примерно удваивается (коэффициент 1.88–1.98). После 1024 тайлов рост ускоряется — сказываются кэш-промахи и давление на память. Это физическое ограничение CPU, а не алгоритмическое.

Память:

Эмулятор использует ~57 байт на тайл. Для 4096 тайлов требуется ~228 КБ — помещается в L2/L3 кэш современного CPU.

Детерминизм

Разброс времени цикла минимален (± jitter ОС). Это следствие архитектуры:

  • Нет динамических аллокаций в runtime

  • Нет ветвлений, зависящих от данных

  • Фиксированный цикл READ → WRITE

На FPGA/ASIC время будет определяться тактовой частотой и глубиной конвейера, а не загрузкой сети.

Применение:

Задача

Требования

Decima-8 (4096 тайлов)

Робототехника

1–10 ms цикл

0.3 ms (запас 3–30×)

HFT (аналитика)

< 1 ms

0.3 ms

Обработка аудио (block processing)

1-10 ms блок

0.3 ms (запас 3-30×)

🧩 Итого по бенчмаркам

Метрика

Значение

Минимальная латентность

22 мкс (256 тайлов)

Максимальный размер

4096 тайлов за 311 мкс

Масштабирование

Линейное (O(n))

Джиттер

Отсутствует (детерминизм)

Память

Компактная (L3-кэш)

Decima-8 — это не «быстро в среднем». Это «предсказуемо всегда».


5. ПРОГРАММНАЯ ЭКОСИСТЕМА

Decima-8 — это не только железо. Это набор инструментов для создания, тестирования и запуска нейроморфных личностей.

5.1 Формат D8P

Статус: Открытая спецификация (MIT)

Файл .d8p (Decima 8 Personality) — это контейнер для «личности» сварма. Внутри нет кода. Только данные.

Структура (TLV — Type-Length-Value):

graph
TLV структура bake файла

Почему TLV?

Файл .d8p (Decima 8 Personality) — это контейнер для конфигурации сварма. Внутри нет кода, только данные:

  • Веса тайлов (SignedWeight5)

  • Пороги активации (thr_lo/hi, decay16)

  • Направления активации (флаги N/E/S/W)

  • Маршрутизация (BUS_R/W, domain_id)

Структура: TLV (Type-Length-Value) с CRC32 контрольной суммой.

Почему TLV:

  • Новые типы блоков не ломают старые парсеры

  • Легко проверить целостность файла

  • Не нужно грузить весь файл в память для валидации

libd8p — открытая библиотека (C++, MIT) для работы с форматом: парсинг, валидация, генерация.

5.2 IDE

Статус: Закрытый бинарник, бесплатное использование

Характеристики:

  • Статическая сборка, без зависимостей

  • Windows (MSVC 2026) / Linux (Clang latest)

  • Работает offline, интернет не требуется

Общий вид IDE Decima-8
Общий вид IDE Decima-8

Основные компоненты:

Компонент

Описание

Панель сварма

Визуальное представление ткани личности (heatmap активации)

Параметры тайла

Веса, thr_lo/hi, decay, routing

16-аккордовый аккордеон

Визуализатор VSB (8 lanes × 16 аккордов истории)

Магнитофон и сеть

Загрузка/сохранение VBS лент, приём/отправка VSB по UDP

Панель управления

Flash: прогон такта машины, Reset: сброс доменов, Autobake

Панель выдачи решений

Показывает PATTERN_ID, BUS16, FLAGS

Визуальная пропечка: мышкой настраиваете пороги, веса и связи, наблюдая за реакцией сварма в реальном времени.

5.3 Эмулятор ядра

Статус: OPEN SOURCE (MIT)

Эмулятор — «источник правды» для верификации математики.

Назначение:

  • Тестирование личностей перед загрузкой в FPGA/ASIC

  • Интеграция в CI/CD, автотесты

  • Изучение архитектуры «изнутри»

Функционал:

  • Бит-в-бит совместимость с железом (эмулятор → FPGA → ASIC)

  • API: EV_FLASH, EV_BAKE, EV_RESET_DOMAIN

  • Чтение FLAGS, BUS16, статистики

  • C-API для интеграции с Python/Rust/C++

Пример использования (Python):

import d8p swarm = d8p.load("personality.d8p") for i in range(1000): swarm.ev_flash(vsb_ingress=[7,12,3,10,4,14,0,9]) readout = swarm.read_bus() print(f"Tick {i}: BUS16 = {readout}")

5.4 Store (маркетплейс личностей)

Статус: Курируемая платформа

Store — место для публикации и обмена готовыми личностями.

Принцип работы:

  1. Генерация .d8p — любым способом (IDE, скрипт, нейросеть)

  2. Подпись PKI-ключом — гарантия авторства и целостности

  3. Публикация в Store — валидация спецификации + проверка подписи

  4. Использование сообществом — скачивание, интеграция, отзывы, монетизация

Требования к публикации:

  • Валидный .d8p (соответствие спецификации)

  • PKI-подпись (получается при подписке Tile/Cluster/Council)

  • Минимальный фронтенд (код Дирижёра для запуска)

  • Документация (описание входов/выходов)

Почему PKI-подпись?

Это не paywall, а цепочка доверия:

  • Гарантия, что личность создана верифицированным автором

  • Защита от подмены файлов

  • Репутационная система (отзывы, рейтинг авторов)

Уже опубликованные личности не удаляются при истечении подписки.

🧩 Итого по экосистеме

Компонент

Статус

Назначение

Формат .d8p

✅ OPEN

Контейнер для личностей

libd8p

✅ OPEN

Парсинг, валидация, генерация

Эмулятор

✅ OPEN

Тестирование, верификация

IDE

🔒 CLOSED (Free)

Визуальная настройка

Store

🔒 CLOSED (Curated)

Публикация и обмен

Открытое ядро, закрытый кокпит. Вы можете создать .d8p любым способом, но для публикации в Store нужна валидная PKI-подпись.


6. БЕЗОПАСНОСТЬ

Decima-8 не делает систему «неуязвимой». Она делает риски предсказуемыми и локализованными.

Архитектурная модель рисков

Компонент

Риск

Защита

d8p

❌ Нет

Данные (TLV), нет кода, нет указателей

Эмулятор (ядро)

❌ Нет

Детерминизм, bounded arithmetic, saturate

Фронтенд личности

⚠️ Да

Sandbox, лимиты, репутация автора

Дирижёр (ваш код)

⚠️ Да

Классические практики безопасности

.d8p — это данные, не программа. Внутри нет исполняемого кода, нет eval, нет рекурсии. Файл не может выполнить RCE, переполнить стек или выделить память.

Эмулятор — детерминированная машина. Фиксированные такты, Level16, clamp-арифметика. «Плохих» данных не существует — есть только значения 0..15. Переполнение невозможно по конструкции.

Фронтенд и Дирижёр — ваша ответственность. Код, который преобразует внешние данные в Level16 и читает BUS16, работает с сетью, FS, JSON. Здесь применимы классические уязвимости (парсинг, буферы, сеть).

Валидация топологии

Помимо CRC32 и PKI-подписи, эмулятор выполняет статический анализ графа перед загрузкой:

  • Проверка на циклы с положительной обратной связью (positive feedback loop)

  • Ограничение на максимальную степень связности тайла

  • Лимит на суммарный коэффициент усиления в компоненте

Если граф не проходит валидацию — загрузка отклоняется с ошибкой TopologyValidationError.

Store: требования к публикации

При публикации личности в Store автор предоставляет:

Компонент

Статус

Проверка

.d8p файл

Обязательно

Валидация спецификации + PKI-подпись

Фронтенд (минимальный)

Обязательно

Не проверяется (код пользователя)

Документация

Обязательно

Описание 8 струн, интерпретация выходов

Пример запуска

Обязательно

Скрипт / инструкция

Почему не проверяем фронтенд:

  • Технически невозможно (код на Python/Rust/Go/C++)

  • Юридически сложно (не хотим нести ответственность)

  • Философски неверно (Decima-8 — открытый стандарт)

Вместо проверки:

  • Требование публикации (нет фронта = нет публикации)

  • Предупреждение пользователей («запускайте в sandbox»)

  • Рейтинговая система (отзывы, репутация авторов)

Рекомендации

При загрузке личности из Store:

  • Запускайте в sandbox (Docker, VM, seccomp, AppArmor)

  • Ограничьте доступ к сети (если не требуется)

  • Установите лимиты памяти и CPU (cgroups, ulimit)

  • Проверьте репутацию автора (рейтинг, отзывы)

При публикации:

  • Предоставьте минимальный рабочий фронтенд

  • Документируйте входы/выходы (8 струн, BUS16, PATTERN_ID)

  • Предупредите о рисках (сеть, FS, внешние API)

Что мы НЕ гарантируем

Не гарантируем

Почему

Бесбаговый фронтенд

Код автора, вы отвечаете

Стабильность Дирижёра

Ваш код, вы отвечаете

.d8p описывает «хорошую» личность

Проверяем физику, не семантику

PKI-ключ не скомпрометирован

Храните ключи безопасно

Итог: Decima-8 локализует уязвимости. Атаковать ядро невозможно (нет кода, детерминизм). Атаковать периметр возможно — но это классические векторы, против которых есть классические защиты.


7. МОДЕЛЬ РАСПРОСТРАНЕНИЯ

Decima-8 развивается как проект с открытой спецификацией и курируемым маркетплейсом личностей. Ниже — как устроено распространение и поддержка.

7.1 Открытые и закрытые компоненты

Компонент

Статус

Назначение

Спеки + Эмулятор

✅ OPEN

Верификация, интеграции, форки

Формат .d8p

✅ OPEN

Контейнер для личностей (TLV)

libd8p (парсер)

✅ OPEN

Валидация, генерация, подпись

IDE

🔒 CLOSED (Free)

Референсный инструмент для настройки

Store

🔒 CLOSED (Curated)

Публикация и обмен личностями

7.2 Публикация в Store

Для публикации личности в Store требуется PKI-подпись файла .d8p.

Зачем:

  • Гарантия авторства (ключ привязан к аккаунту)

  • Целостность файла (подпись проверяется при загрузке)

  • Репутационная система (отзывы к автору, не к анонимному файлу)

Как получить ключ:

  • Подписка на тарифы Tile/Cluster/Council (автоматическая выдача)

  • Или свой PKI-ключ от доверенного центра (Corporate CA, etc.)

Важно: уже опубликованные личности не удаляются при истечении подписки. Подписка нужна только для загрузки новых или обновления существующих.

Альтернативная подпись: свой PKI-ключ

Store принимает ключи от любых доверенных центров, не только наши.

Процесс:

  1. Получите ключ у вашего CA (корпоративный, государственный, etc.)

  2. Подпишите .d8p:

openssl dgst -sha256 -sign decima_key.pem \ -out personality.d8p.sig \ personality.d8p

  1. Загрузите в Store: система проверит цепочку доверия до Root CA

Нюансы:

  • Для публичного Store проще использовать наш PKI (Tile/Cluster/Council) — он доверен всем пользователям по умолчанию

  • Свой ключ требует, чтобы пользователи импортировали ваш Root CA

  • Корпоративное использование: внутренний Store + свой CA

7.3 Планы развития

Ближайшие 6 месяцев:

  • Дальнейшее развитие софта: libd8p, core, IDE

  • Запуск Store (первые личности)

  • Документация на русском и английском

6–24 месяца:

  • Конвертеры из распространённых форматов (ONNX → D8P)

  • Партнёрства с университетами (исследования, курсовые)

  • FPGA-прототип (верификация на железе)

2–4 года:

  • B2B-пилоты (робототехника, предиктивная аналитика)

  • Интеграции с фреймворками (ROS 2, Azure IoT)

  • Сертифицированные партнёры (FPGA/ASIC)

4+ лет:

  • Лицензирование IP для производителей чипов

  • Роялти с продаж (если используется стандарт Decima-8)

  • Поддержка открытого SDK и прошивок

🧩 Итого

Аспект

Реализация

Спецификация

Открыта, форки разрешены

Store

Курируемый, с PKI-подписями

Монетизация

Подписка на PKI-ключи (Tile/Cluster/Council), роялти с ASIC

Сообщество

Observer/Seed/Gardener — пользователи; Tile/Cluster/Council — авторы

Долгосрочность

Проект рассчитан на 10+ лет, не exit через 3 года


8. ЭВОЛЮЦИЯ АРХИТЕКТУРЫ

Decima-8 v0.2 — это минимальная жизнеспособная архитектура. Не догма, а стартовая точка, которая доказывает работоспособность принципов.

Что зафиксировано навсегда (принципы):

Принцип

Почему это фундамент

Двухфазный цикл READ → WRITE

Детерминизм, отсутствие race conditions

Эстафетная активация (граф, а не пакеты)

0% площади на роутеры, нулевой джиттер

LevelN (многобитная активация)

Кодирование «силы намерения» в одном такте

Signed Decay (затухание к нулю)

Стабильность, естественное «забывание»

Fuse-by-Range (пороговая логика)

Гибкие паттерны, резонансные пути

Что может масштабироваться (параметры):

Параметр

v0.2 (сейчас)

v1.0+ (будущее)

Зачем

Level

16 (0..15)

32 / 64

Тонкая градация активации, меньше квантования

Вес

SignedWeight5 [-7..+7]

SignedWeight7 [-31..+31]

Большая выразительность связей

Lanes

8

16 / 32

Пропускная способность, параллелизм

Ткань

8×32 .. 32×128

256×1024 / кластеры

Сложные иерархические паттерны

Домены

16

32 / 64

Тонкое управление сбросом и приоритетами

Cycle time

22-311 мкс (эмулятор)

<1 мкс (ASIC)

Hard real-time для экстремальных задач

Обратная совместимость:

Все изменения совместимы на уровне принципов:

  • Двухфазный цикл остаётся

  • Эстафетная активация — основа

  • Fuse-by-range, decay-to-zero — фундамент

Открытая спецификация позволяет:

  1. Экспериментировать: форкните эмулятор, поменяйте Level16Level32, посмотрите, что изменится в поведении роя.

  2. Предлагать расширения: если ваше расширение доказывает преимущество — оно может войти в v1.0 через Spec RFC.

  3. Строить специализированные варианты:
    Decima-8-Lite: для IoT (меньше тайлов, меньше весов, низкое энергопотребление)
    Decima-8-Pro: для HFT (больше lanes, меньше цикл, приоритет детерминизма)
    Decima-8-Research: для науки (расширенные метрики, отладка, логирование)


9. ЗАКЛЮЧЕНИЕ

Decima-8 — это архитектура, которая кодирует уровень активации (Level16) в одном такте, использует эстафетную активацию вместо пакетной маршрутизации и гарантирует детерминированное время выполнения.

Ключевые свойства:

  • Level16: 4 бита на активацию, один такт на значение

  • SignedWeight5: знаковые веса [-7..+7], латеральное торможение на аппаратном уровне

  • Эстафетная активация: граф зависимостей вместо роутеров, 0% площади на маршрутизацию

  • Двухфазный цикл: READ → WRITE, фиксированная латентность, нулевой джиттер

  • Открытая спецификация: спецификация, эмулятор, формат .d8p — под MIT/Apache 2.0

Мы не обещаем AGI.

Мы предоставляем детерминированную вычислительную ткань для задач, где важны предсказуемость, эффективность и выразительность паттернов.

Что делать дальше

Проверить:

  • Эмулятор: github.com/rulerom/decima8

  • Спецификация: decima.rulerom.com/ru/CONTRACT/

  • Запустить бенчмарки на своём железе

Экспериментировать:

  • Написать генератор .d8p на Python/Rust/Go

  • Модифицировать эмулятор (Level32, другие веса, новые режимы)

  • Предложить расширение через Spec RFC

Использовать:

  • IDE (1.3 МБ, offline) для визуальной настройки личностей

  • Store для публикации и обмена (с PKI-подписью)

  • Эмулятор для интеграции в CI/CD, автотесты, прототипы

Ресурсы

Ресурс

Описание

Контракт v0.2

decima.rulerom.com/ru/CONTRACT

Эмулятор (GitHub)

github.com/rulerom/decima8

Bakery (справочник)

bakery.rulerom.com

PKI-центр

pki.rulerom.com

libwui (UI-движок)

libwui.org

Decima-8 — это не «ещё один нейроморфный проект». Это попытка построить вычисления на уровнях энергии, резонансе и эстафетной активации.

FAQ

Q: Почему не float32/float16?
A: Level16 (0..15) — это не «неточный float», а семантическая единица: уровень энергии. Для нейроморфных паттернов 16 градаций достаточно, а фиксированный диапазон даёт детерминизм и аппаратную эффективность.

Q: Как обучать?
A: Вручную через IDE: настраиваете thr_lo/hi, decay, routing, наблюдая за реакцией сварма. Это не ML-обучение (градиентный спуск), а скульптура личности — вы задаёте поведение через параметры.
Bakery (bakery.rulerom.com) — справочник паттернов, не авто-тренер. В планах — API для ИИ-агентов, но финальная валидация остаётся за человеком.

Q: Можно ли использовать циклы в графе активации?
A: Да. Детерминизм сохраняется благодаря locked_before — снимку состояния в начале READ-фазы.

Q: Что если два тайла в одном домене фьюзятся одновременно?
A: Winner выбирается по priority8, при равенстве — по минимальному tile_id. Флаг COLLIDE сигнализирует о коллизии.

Q: Что такое «двойной пролив» и когда его использовать?
A: Режим, при котором ядро выполняет два внутренних такта на один EV_FLASH для повышения селективности. Используется при распознавании паттернов с малым расстоянием Хэмминга (например, ASCII-символы в VSB). В IDE включается галочкой «Double Strait», в .d8p выставляется BAKE_FLAG_DOUBLE_STRAIT. Цена: ~40 мкс вместо ~20 мкс.

Q: Почему открытая спецификация?
A: Чтобы любой мог верифицировать математику, написать свой генератор .d8p или форкнуть эмулятор. Decima-8 — это стандарт, а не закрытый продукт.

Q: А если я хочу использовать .d8p локально, без Store?
A: Пожалуйста. Подпись не требуется для локального использования. Эмулятор принимает любые .d8p после валидации CRC32. PKI — только для публикации в Store.

Q: Можно ли подписать .d8p своим PKI-ключом?
A: Да. Store принимает ключи от любых доверенных центров (Corporate CA, государственная УЦ). Для публичного Store проще использовать наш PKI (Tile/Cluster/Council) — он доверен пользователям по умолчанию.


P.S. Вопросы по Level16, decay-механике или графу активации? Спрашивайте в комментариях — разберём детально.

P.P.S. Хотите увидеть, как Decima-8 распознаёт цифры? В следующей части — OCR для Arial 0-9 за 15 минут. Точность 99%, без нейросетей и CUDA.

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу crypto.news@mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Предложение о строительстве медеплавильного завода в Британской Колумбии вызывает дебаты о экономической целесообразности и стратегической важности

Предложение о строительстве медеплавильного завода в Британской Колумбии вызывает дебаты о экономической целесообразности и стратегической важности

Споры вокруг предлагаемого медеплавильного завода в Британской Колумбии накаляются: критики ставят под сомнение его финансовую жизнеспособность, в то время как сторонники видят в нём ключ к критически важным для Канады
Поделиться
Citybuzz2026/04/09 22:05
Zcash криптовалюта стала лидером недельного роста с рекордным спотовым притоком в 2026 году

Zcash криптовалюта стала лидером недельного роста с рекордным спотовым притоком в 2026 году

Статья Zcash Crypto Becomes Top Weekly Gainer With Record 2026 Spot Inflows появилась на BitcoinEthereumNews.com. Ключевые моменты: Криптовалюта Zcash демонстрирует впечатляющий
Поделиться
BitcoinEthereumNews2026/04/09 22:01
Macrobond назначает Педро Родригеса главным директором по платформе и ИИ

Macrobond назначает Педро Родригеса главным директором по платформе и ИИ

Ветеран индустрии возглавит разработку нативной ИИ-платформы для макроэкономических исследований, созданной на основе более чем 20-летних проприетарных экономических данных и разработанной
Поделиться
Globalfintechseries2026/04/09 22:32

30 000$ в PRL + 15 000 USDT

30 000$ в PRL + 15 000 USDT30 000$ в PRL + 15 000 USDT

Вносите депозит и торгуйте PRL для роста наград!