О проекте The Graph

The Graph Protocol - это протокол индексации запросов к сетям, таким как Ethereum и IPFS. Любой может создавать и публиковать открытые API, называемые подграфами (subgraphs), с помощью них можно запросить данные, которые трудно получить напрямую из блокчейна.

С момента запуска в январе 2019 года The Graph расширился и теперь поддерживает многие ведущие протоколы DeFi, включая Synthetix, Uniswap, Aave, Balancer, Aragon и другие. Все эти DeFi-протоколы запрашивают данные из подграфов, такие как торговые операции, ликвидность на DEX площадках и многое другое. Другими словами, The Graph действует как критически важный компонент промежуточного программного обеспечения для того, чтобы сделать данные более удобными для приложений DeFi. До появления The Graph командам приходилось разрабатывать и эксплуатировать проприетарные серверы индексирования. Это требовало значительных инженерных и аппаратных ресурсов и нарушало важные свойства безопасности, необходимые для децентрализации.

Почему The Graph так важен для Web3.0

Давайте рассмотрим, для чего нужен The Graph на конкретном примере. Например, к популярному приложению CryptoKitties относительно просто задать следующие вопросы:

Сколько CryptoKitties принадлежит конкретной учетной записи Ethereum?

Когда родился конкретный CryptoKitty?

Это связано с тем, что чтение этих данных напрямую поддерживается методами balanceOf и getKitty, предоставляемым контрактом.

Однако, на другие вопросы ответить сложнее:

Кто являются владельцами CryptoKitties, рожденных в период с января по февраль 2018 года?

Чтобы ответить на этот вопрос, вы должны обработать все Birthсобытия, а затем вызвать ownerOfметод для каждого созданного CryptoKitty.

Даже на этот относительно простой вопрос децентрализованному приложению (dApp), работающему в браузере, потребуются часы или даже дни, чтобы получить ответ. Индексировать данные блокчейна сложно. Свойства блокчейна, такие как finality, chain reorganizations или uncled blocks еще больше усложняют этот процесс и делают не только трудоемким, но и концептуально сложным получение правильных результатов запроса из блокчейна.

Сегодня Graph решает эту проблему с помощью сервиса, который индексирует данные блокчейна. Затем эти индексы («подграфы») можно запросить с помощью стандартного API GraphQL. В будущем размещенный сервис превратится в полностью децентрализованный протокол с теми же возможностями. Оба они поддерживаются реализацией Graph Node с открытым исходным кодом.

Если для вас это объяснение было непонятным, прочитайте небольшую статью "Простыми словами о The Graph".

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

Ссылки

Сайт: https://thegraph.com/

Github: https://github.com/graphprotocol

Discord: https://discord.gg/vtvv7FP

Telegram: http://t.me/graphprotocol

Twitter: https://twitter.com/graphprotocol