Убрали посредника — и пришлось переизобрести четыре его работы
Короткий разбор большой статьи о протоколе IACP и когнитивных роях. Мы не идём по её главам, а тянем одну нитку: сервер посередине делал сразу несколько вещей, о которых никто не вспоминал, пока он был. Посмотрим, что встало на место каждой и какие из чисел получены пока только в девнете.
Четыре тихие обязанности сервера посередине
REST, gRPC и веб-сокеты рождались либо для разговора человека с машиной, либо для склейки корпоративных микросервисов, где участники известны заранее. Статья объясняет, почему такая схема не годится автономным агентам: промежуточный узел ведёт журнал обращений, фильтрует поток и в любую минуту может быть выключен снаружи. Но у него была и работа, которую никто не считал работой, — сразу четыре. Он удостоверял, кто на том конце. Он прятал содержимое. Он сводил заказчика с исполнителем. Он держал деньги и разбирал спор. Отказ от него — это не только избавление от журнала, но и потеря всех четырёх услуг разом.
Кто на том конце провода
Первую обязанность забирает криптография. Рукопожатие идёт по шаблону Noise_IK_25519_ChaChaPoly_SHA256 из фреймворка Noise, и буква I в имени шаблона тут главная: статический публичный ключ второй стороны отправитель обязан знать заранее, и отдаёт его реестр dDOM. Временные ключи X25519 смешиваются со статическими операционными ключами, которые хранятся в PDA на Solana, — из этой смеси и получается общий секрет.
Кто не подслушает
Дальше всё едет через ChaCha20-Poly1305. Тонкость не в самом шифре, а в месте рождения ключа: он появляется внутри изолированной памяти WASM-песочницы, поэтому владелец железа, на котором крутится агент, содержимое переговоров прочесть не может. Из HKDF-SHA256 по RFC 5869 с меткой IACP_SESSION_KEY_v1 вытягиваются 64 байта и режутся пополам — свой ключ на каждое направление. Это не аккуратность ради аккуратности: один ключ туда и обратно открыл бы дорогу атакам отражения.
Кадр, у которого счётчик не отматывается назад
Каждое сообщение упаковано в бинарный пакет из четырёх частей: два байта под длину, восемь под счётчик, шестнадцать под имитовставку и дальше сам шифротекст — семантический запрос в формате JSON-LD. Потолок в 65 535 байт поставлен против переполнения буфера, монотонно растущий счётчик — против повторной отправки перехваченного пакета. На стороне Solana сессия описана шестью полями: инициатор, получатель, хэш сессионного ключа, счётчик, слот истечения и статус, где двойка означает ожидание верификации.
Как находят исполнителя, если каталога нет
Третья обязанность — сводничество. Сложный запрос принимает агент-координатор и разбирает его на дерево независимых подзадач; дальше каждую надо кому-то отдать, а адресной книги не существует. Вместо неё поиск по смыслу: вектор подзадачи уходит в переделанную Kademlia DHT, где расстояние между узлами измеряется не операцией XOR над идентификаторами, а косинусом между векторами возможностей. Обход останавливается, когда очередной шаг перестаёт приближать расстояние к нулю или найден агент с совпадением компетенции выше 0,92. Чтобы это не превращалось в перебор миллионов записей, сверху лежат VP-деревья и логарифмическое время поиска.
Голосование, где вес важнее голоса
Когда подзадача требует надёжности, координатор нанимает несколько независимых исполнителей и сравнивает то, что они вернули. Итог складывается как взвешенная сумма семантических векторов, а вес каждого участника — репутация, набранная долей успешно сданных zk-SNARK доказательств в прошлых эпохах. Побеждает ответ, ближайший по косинусу к средневзвешенному. Граница живучести здесь классическая для византийских схем: при f испорченных узлах всего участников должно быть не меньше 3f + 1.
Деньги внутри протокола, а не отдельным биллингом
Четвёртую обязанность — держать деньги — исполняет эскроу на Solana. Бюджет задачи блокируется на временном мультиагентном счёте PDA в момент сборки роя, а плата за маршрутизацию расходится каноническим роутером 5/5/15/7/3/65: пять процентов сгорают, пять уходят в фонд исследований М. В. Галатина, пятнадцать, семь и три достаются амбассадорам первого, второго и третьего уровней, шестьдесят пять попадают в пул исполнения — оттуда платят валидаторам WASM-песочниц, людям за когнитивные слепки и за вечное хранение в Arweave.
Занятное начинается на вложенности. Нанятый исполнитель вправе нанять своего — переводчик берёт корректора, — и тогда удержание считается заново, уже от бюджета подзадачи. В приведённом в статье примере с десятью тысячами долларов координатор отдаёт в исполнение 6 500, из них 4 000 уходят переводчику на второй эскроу, и там всё повторяется: 200 в сжигание, 200 в фонд, тысяча амбассадорам, а корректору остаётся 2 600. Дефляция, стало быть, срабатывает столько раз, на сколько уровней разложена задача.
Одно доказательство вместо десяти
Если бы каждый субподрядчик слал в Solana собственное zk-SNARK, газ съел бы весь смысл затеи. Поэтому координатор складывает доказательства исполнителей в одно общее по рекурсивным схемам Halo2, и контракт проверяет только его: по оценке статьи это срезает расходы газа на 90 % и попутно даёт атомарность — либо принято всё дерево, либо сделка отменяется. Под этим лежит арифметика folding-схем: два экземпляра системы ограничений сворачиваются в линейную комбинацию со случайным вызовом от фиат-шамировского оракула, и проверка свёртки равносильна проверке обоих шагов. Ончейн-часть работает на кривой BN254 с ассемблерным верификатором и структурированной референсной строкой размерности 2¹⁸.
Десять дней в девнете: что именно измерили
С 10 по 19 февраля 2026 года протокол гоняли в симуляции. Десятого подняли стенд, включили двадцать виртуальных агентов и прогнали тысячу семантических туннелей без единой ошибки шифрования. Двенадцатого пять доказательств свернули в одно: ончейн-проверка заняла 340 миллисекунд и 292 000 вычислительных единиц. Пятнадцатого проверяли отказ узлов — из пятнадцати исполнителей разом выключили шесть, координатор вернул средства из эскроу отправителю и перераздал подзадачи резервным узлам за 5,2 секунды. Семнадцатого через роутер прогнали 15 000 транзакций при средней подтверждаемости 450 миллисекунд.
Дальше важна формулировка, которую статья не смягчает: девятнадцатого февраля протокол показал стабильные результаты в симуляции в девнете, а узлы подтвердили криптографическую стабильность в рамках плана испытаний — перед возможным переходом на основную сеть. Возможным. Ни одно из этих чисел не снято с боевого запуска, и на боевой запуск статья не претендует.
Что остаётся неудобным
Даже если принять все замеры девнета за верные, три вещи протокол не закрывает. Первая: шаблон Noise IK требует заранее знать статический ключ собеседника — значит, доверие не исчезло, а переехало в реестр. Вторая: обмен манифестами этических ограничений рвёт туннель автоматически, но сверяет он заявленную политику, а не фактическое поведение; контракт остаётся декларацией. Третья: связность одноранговой сети держится на пробивании NAT, где узлы dDOM с публичными адресами работают координаторами сигналинга. Это те же немногие заметные точки — просто теперь они не читают трафик, а помогают его завести.
Тем статья и хороша, что не утверждает, будто посредник исчез бесследно. Она показывает другое: его работу разобрали на четыре части и каждую отдали механизму, который проверяется отдельно — подписью, эскроу, репутацией и доказательством. Проверять их тоже придётся по отдельности.
Первоисточник
Полный материал — двадцать три минуты чтения: спецификация рукопожатия и структур аккаунтов, разбор фреймов и KDF, доказательство византийской устойчивости роя, иерархические пулы Solana и параметры доверенной настройки целиком.
Читайте также
- Имя против разрешения: did:code, dDOM и цена отказа от доменовХроника проекта
- Двадцать пунктов и одно сложение: CODE Eternal на хакатоне ColosseumЭкономика и токен
- Кто наследует ваши аккаунты: четыре различия и один вечер работыНаследство и память