Графы и сабграфы

Ivan Staker
3 min readNov 19, 2020

Знакомство с экосистемой The Graph

Что такое The Graph?

The Graph — это децентрализованный протокол, с помощью которого становится возможным запрашивать и индексировать различные данные из блокчейна Ethereum. Набор решений протокола позволяет ответить на такие вопросы, как: Какие биржи обладают наибольшей ликвидностью по конкретному токену? Какие гавернанс-предложения набирают больше всего очков? Каков объем предоставляемой ликвидности по отдельным парам на различных биржах? Иными словами, The Graph позволяет запрашивать данные, которые или невозможно добыть ручным способом, или это требует слишком больших трудозатрат. Запрашивая данные напрямую из контрактов и dApps на Ethereum, Graph делает значительный вклад в развитие DeFi и индустрии Web 3.0.

На основном портале проекта — вы можете увидеть Graph Explorer. На главной странице представлены приложения и сервисы, которые уже пользуются The Graph. Здесь можно найти такие известные в крипто-коммьюнити проекты, как Uniswap, Compound, Synthetics, MakerDAO, Curve и другие. В общей сложности, в эксплорере существует порядка полутора тысяч сабграфов.

Сабграфы

Сам глобальный Граф состоит из множества сабграфов, который непосредственно позволяет отдельным децентрализованным прииложениям запрашивать данных из других приложений и сервисов.

К примеру, сабграф Uniswap отслеживает любую пару токенов, торгующуюся на бирже. Протокол берет данные из контрактов Uniswap и на их основе формирует, к примеру, цены в USD или статическую информацию. Более конкретно — сабграф анализирует агрегированную дату по всем торговым парам и токенам, а также по каждому в отдельности, информацию о транзакциях, информацию о поставщиках ликвидности и ежедневно агрегированную информацию по торговле на Uniswap.

Граф и децентрализация

Инструкция для сабграфа, по которой впоследствии происходит запрос и индексация информации называется манифест сабграфа. Когда манифест развернут при помощи Graph CLI, начинается процесс взаимодействия сабграфа с данными блокчейна.

Децентрализованное приложение передает данные блокчейн Ethereum с помощью транзакции в смарт-контракте. Далее при обработке транзакции в смарт-контракте происходит одно или несколько событий. Нода Graph постоянно сканирует блокчейн на предмет этих событий и выбирает из них те, что “требует” предоставить сабграф. Децентрализованное приложение запрашивает у ноды проиндексированную информацию с помощью GraphQL, в ответ на что нода переводит запросы в необходимую для взаимодействия с проиндексированной информацией форму. В конечном итоге, приложение получает необходимую информацию в удобном пользовательском интерфейсе, что позволяет комфортно взаимодействовать с ней.

Роли в протоколе

Потребители. Потребители данных вознаграждают индексеров за запросы.

Индексеры. Индексеры является операторами нод и получают вознаграждение за обработку запросов. Для того, чтобы стать индексером, помимо технической части, необходимо застейкать определенное количество GRT-токенов, чтобы иметь право принимать участие в протоколе.

Кураторы. Кураторы используют GRT-токены для того, чтобы выбирать сабграфы для индексации.

Делегаторы. Делегаторы могут стейкать GRT-токены для индексеров, получая долю в их ознаграждении. При этом отсутствует необходимость в запуске ноды.

Фишермены. Фишермены обеспечивают корректность и актуальность запросов сабграфов.

Арбитры. Арбитры определяют, подлежит ли отдельный индексер наказанию в виде слэшинга за неисполнение своих обязанностей в рамках поддержания работоспособности сети.

Заключение

В данной статье в рассмотрели протокол The Graph, описали процесс его работы, а также изучили роли, без которой невозможно существование децентрализованной системы. The Graph в настоящий момент является важной составляющей экосистемы DeFi, однако время покажет, насколько широким может быть его использование в рамках экосистемы Web 3.0.

--

--

Ivan Staker

Professional validator, taking part in major testnets and running mainnets.