The Graph — децентрализованный протокол индексирования и запросов к блокчейн-данным. Он решает проблему «сырых» данных: блокчейны хранят транзакции и события в форме, неудобной для приложений, аналитики и интерфейсов. The Graph позволяет разработчикам описывать схемы извлечения и агрегирования, а сети независимых операторов — индексировать цепочки и обслуживать запросы GraphQL с предсказуемой задержкой. Экономика протокола строится на токене GRT, который используется для стейкинга индексерами, сигналов кураторов и делегирования.
Для AI/данных The Graph можно рассматривать как «канал доставки фактов» в продуктовые пайплайны: индексы субграфов превращают события блокчейна в удобные сущности (позиции, пулы, голосования, метрики), которые затем легко подмешивать в поисковые/аналитические контуры, включая ретривер из RAG и векторные индексы (см. эмбеддинги и обзор векторных БД). Это снижает затраты на собственные ETL и улучшает воспроизводимость данных.
Кому и зачем нужен The Graph (GRT)
- Разработчикам dApp и протоколов. Удобный слой данных поверх событий/логов, единый API (GraphQL), ускорение фронтенда и интеграций.
- Аналитикам/BI. Быстрые сводки по пулам, позициям, протоколам без ручного парсинга блоков; унификация схем.
- Поставщикам данных/операторам. Возможность монетизировать работу по индексированию и обслуживанию запросов.
- Исследователям/контент-командам. Реплицируемые цифры и источники: метрики берутся из конкретных субграфов.
Ключевая идея: описываем схему и логику извлечения как код (сабграф), публикуем её в реестр — и получаем сетевую «машину» для поддержания индекса в актуальном состоянии.
Базовые понятия: сабграфы и роли участников
Сабграф (subgraph) — это декларативное описание:
- какие события/сущности из блокчейна извлекать;
- как их трансформировать/агрегировать;
- какие типы данных и связи представлять через GraphQL.
Роли в протоколе:
- Индексеры (Indexers). Запускают узлы индексирования, стейкают GRT, обслуживают запросы; получают плату за запросы и инфляционные награды; рискуют слешингом при злонамеренной/некачественной работе.
- Кураторы (Curators). Сигнализируют, какие сабграфы ценны рынку (экономические «лайки») — размещают GRT на криваях бондинга субграфов и получают долю комиссий за запросы.
- Делегаторы (Delegators). Передают свой GRT индексерам (без запуска узлов) и получают долю доходов пропорционально делегированию с учётом комиссий индексера.
- Потребители (Consumers). Платят за запросы к субграфам (через шлюз/маршрутизатор) и получают ответы GraphQL с нужными SLA.
- Авторы сабграфов (Developers). Пишут схемы/мэппинги, публикуют их и поддерживают версионность.
Таким образом, протокол формирует рынок данных: сигнал — какие индексы нужны, капитал — кто готов обеспечить SLA, спрос — кто платит за доступ.
Архитектура и поток данных
- Публикация сабграфа. Разработчик описывает схему (GraphQL-типы) и мэппинги для событий/вызовов контрактов, регистрирует сабграф в каталоге.
- Курация. Кураторы вкладывают GRT на бондинговой кривой сабграфа — сигнализируя индексерам, что спрос вероятно будет.
- Выбор индексерами. Индексеры поднимают/обновляют индексы субграфов с максимальной ожидаемой доходностью (спрос × качество сигнала × комиссии).
- Обслуживание запросов. Потребители посылают GraphQL-запросы через шлюз; маршрут выбирается среди индексеров, выполняющих сабграф.
- Расчёты. Комиссии за запросы распределяются между участниками; инфляционные награды стимулируют индексирование «общественно полезных» сабграфов.
Почему это быстрее «ручного» парсинга блоков? Сабграф — это готовая предвычисленная витрина. В прикладных системах это похоже на материализованные представления и OLAP-кубы.
Сабграфы как интерфейсы данных
Сабграф описывает понятные сущности (например, «Пул», «Позиция», «Ордер», «Голосование», «Эпоха»), которые строятся из низкоуровневых логов. Это уменьшает площадь ошибок и повышает повторное использование. Для аналитики и смешанных пайплайнов (ETL → индексы → ретривер → генерация) сабграфы становятся источниками истины, которые легко объединять с векторными индексами (см. эмбеддинги и RAG).
*Практическая рекомендация:* проектируйте схему так, чтобы API возвращал минимально достаточные структуры для ваших экранов/отчётов. Длинные «жадные» запросы ухудшают задержки и цену эпизода.
Токен GRT: для чего он нужен
| Использование GRT | Кто использует | Назначение | Риск/замечания |
| Стейкинг индексеров | Индексеры | Безопасность/качество, право обслуживать запросы | Риск слешинга за злонамеренность/невыполнение |
| Сигнал кураторов | Кураторы | Выбор экономически ценных сабграфов | Риск неверного сигнала (просел спрос) |
| Делегирование | Держатели GRT | Доход без операционного участия | Риск выбора слабого индексера/комиссий |
| Оплата запросов | Потребители | Комиссии за выполнение запросов | Зависит от сложности и SLA |
Экономика строится на совпадении стимулов: кураторы ищут полезные сабграфы, индексеры — обслуживают их с нужными SLA, потребители — платят за ценность ответа, держатели — делегируют лучшим операторам.
Как формируется цена запроса
На стоимость влияют:
- Сложность GraphQL-запроса (глубина, связь, агрегации).
- Популярность сабграфа и конкуренция индексеров.
- SLA/приоритет (регионы, лимиты, квоты).
- Кэширование на стороне шлюза/клиента.
Надёжная практика — держать контракты запросов: фиксировать шаблоны и верхние лимиты (количество элементов, глубина вложенности). Это снижает «взрывы» цены.
Качество и верификация данных
В протокол заложены механизмы:
- Детерминированность мэппингов. Одна и та же версия сабграфа при корректной обработке даёт одинаковое состояние.
- Дискуссии/диспуты. В случае расхождения данных возможны разбирательства; злонамеренные индексеры рискуют стейком (слешинг).
- Версионирование. Миграции схем с привязкой к коммитам исходников/контрактов.
С точки зрения пользовательских пайплайнов это значит: можно строить проверяемые отчёты и таблицы, где каждая цифра восходит к версии сабграфа.
Примерный жизненный цикл запроса в продукте
- Формулировка задачи. Приложение/отчёт требует метрики: «ликвидность пула X за неделю», «топ N адресов по активности», «результаты голосования Y».
- Запрос GraphQL. Клиент шлёт запрос к конкретному сабграфу (или через шлюз), указывая поля/фильтры.
- Ответ и кэш. Индексер возвращает результат; на стороне клиента сохраняется кэш (по ключу запроса и версии сабграфа).
- Пост-обработка. Аггрегирование, визуализация, экспорт. Если ответ идёт в AI-сценарий, дальше включается ретривер RAG.
Практика внедрения: чек-лист разработчика сабграфа
- Схема. Опишите типы/связи под конкретные экраны/отчёты. Избегайте лишних полей и «жадных» связей.
- Мэппинги. Держите код детерминированным, используйте явные преобразования, фиксируйте версии контрактов.
- Индексация. Разбейте начальную синхронизацию на этапы; следите за ресурсами (CPU/IO).
- Кэш. Проектируйте страницы/виджеты так, чтобы повторно использовать ответы и не перегружать индексеров.
- Нагрузка. Напишите тесты на worst-case запросы, установите лимиты глубины/размеров.
- Версии. Пропишите стратегию миграций и обратной совместимости.
- Наблюдаемость. Логи запросов, частота ошибок, P50/P95 задержек, доля кэш-хитов.
- Документация. Примеры запросов/ответов, оговорки по точности/задержкам.
Практика эксплуатации: чек-лист потребителя данных
- Минимизируйте глубину GraphQL-запросов, используйте пагинацию и фильтры.
- Кэшируйте результаты, особенно для дашбордов/лендингов.
- Фиксируйте версию сабграфа; при изменениях запускайте регрессионные проверки.
- Отделяйте тяжёлые отчёты (офлайн/пакеты) от интерактивных экранов.
- Сверяйте критические цифры на независимом источнике при спорных кейсах.
- Держите аварийный режим: упрощённые запросы или заглушки при временной недоступности.
Риски и модель угроз
| Риск | Проявление | Как снижать |
| Централизация индексеров | Небольшое число «крупных» операторов | Мониторить доли, стимулировать конкуренцию сигналами |
| Неверный сигнал кураторов | Средства «заперты» в субграфах без спроса | Диверсифицировать сигналы, отслеживать метрики запросов |
| Ошибки мэппингов | Некорректные метрики/поля | Ревью, тесты, валидация, версионирование |
| Неоптимальные запросы | Высокая цена, большие задержки | Лимиты, пагинация, кэширование, контракт запросов |
| Слешинг индексеров | Потеря стейка при злонамеренности | Выбор надёжных операторов, наблюдаемость |
| Схемы-ловушки | Сабграфы ради комиссий, но с «пустым» смыслом | Ориентироваться на проверенные репозитории/сообщество |
Сценарии использования
DeFi-дашборды. Пулы ликвидности, объёмы, fee-APR, позиции пользователей. Сабграфы скрывают сложность контрактов и «переводят» события в бизнес-метрики.
Голосования/управление. Срезы по кворуму, делегатам, результатам. Важна детерминированность и привязка к блокам.
NFT/коллекции. История листингов/продаж, редкость, атрибуты. Экран каталогов может работать на кэшированных запросах.
Комбинированные AI-пайплайны. Сабграф → ретривер/векторный индекс → подсказка модели → генерация отчётов/сводок. Здесь полезны эмбеддинги и дисциплина RAG.
Таблица ролей и стимулов
| Роль | Вклад | Вознаграждение | Риски |
| Индексер | Вычисления, хранение, SLA | Комиссии за запросы, награды | Слешинг, операционные затраты |
| Куратор | Сигнал качества/спроса | Доля комиссий сабграфа | Неверный выбор/ликвидность |
| Делегатор | Капитал без операций | Доля доходов индексера | Комиссии и выбор оператора |
| Разработчик | Код сабграфа, версия | Признание/возможные гранты | Поддержка, техдолг |
| Потребитель | Оплата запросов | Доступ к данным | Цена, лимиты, зависимости |
Советы по экономии и производительности
- Контракты запросов: чётко определите разрешённые поля/пределы.
- Декомпозируйте экраны: несколько маленьких запросов могут обойтись дешевле одного гигантского.
- Учитывайте «холодный старт» индекса при миграциях; планируйте кэш-прогрев.
- Планируйте кэш-ключи по версии сабграфа и параметрам запросов.
- Рассматривайте «плоские» виды данных под часто используемые агрегаты.
Частые ошибки (анти-паттерны)
- Схема, «зеркалящая» контракт без бизнес-смыслов → трудные запросы, дорогие джоины.
- Отсутствие версий и миграций → ломаются дашборды при обновлениях.
- «Жадные» запросы без пагинации → рост задержек и цены запроса.
- Отсутствие кэша → повторяющиеся одинаковые запросы бьют по бюджету.
- Сигналы кураторов «ради доходности» без анализа спроса → замороженная ликвидность.
FAQ
Чем сабграф отличается от «самописного» ETL? Сабграф — открытый, воспроизводимый слой с единым API (GraphQL), поддерживаемый сетью индексеров. Собственный ETL даёт полный контроль, но требует постоянной поддержки и редко бывает так же легко повторим.
Как рассчитывается вознаграждение индексеров? Из комиссий за запросы и инфляционных наград, распределяемых по правилам протокола. Конкретные доли зависят от стейка, спроса и политики делегирования.
Что делает куратор и зачем его сигнал? Куратор вкладывает GRT в субграфы, тем самым «голосуя» рублём за их полезность. Сигнал помогает индексерам выбирать приоритеты и участвует в распределении комиссий.
Чем делегирование отличается от стейкинга индексера? Делегатор не запускает узлы: он передаёт свой GRT индексеру в обмен на долю дохода. Индексер рискует стейком и отвечает за операционную часть.
Почему мои запросы «дорогие»? Скорее всего, они слишком глубокие/широкие. Введите пагинацию, ограничьте поля, используйте кэш и пересмотрите схему.
Можно ли использовать данные сабграфов в AI-сценариях? Да. Сабграфы дают структурированные факты, которые удобно подмешивать в ретривер/векторные индексы (см. эмбеддинги и RAG), а затем использовать в генерации отчётов/ответов.
Словарь терминов
- Сабграф (subgraph) — схема и мэппинги для извлечения/агрегации on-chain данных с интерфейсом GraphQL.
- Индексер — оператор, который стейкает GRT и обслуживает запросы к сабграфам.
- Куратор — участник, сигнализирующий ценность сабграфов через вложение GRT.
- Делегатор — держатель GRT, делегирующий индексеру для доли дохода.
- Слешинг — штраф/сжигание стейка за злонамеренную работу индексера.
- GraphQL — язык запросов/схем для API; в The Graph — интерфейс к индексированным данным.
- OLAP-витрина — предвычисленный слой агрегатов под аналитические запросы.
