Открыть сервис

Infura

Infura — это набор инструментов и инфраструктурных решений, предоставляющий разработчикам доступ к блокчейн-сетям (преимущественно Ethereum и совместимым с ним) без необходимости самостоятельно разворачивать и поддерживать полные узлы (ноды). По сути, Infura является провайдером API (интерфейсов прикладного программирования), который выступает в роли посредника между децентрализованным приложением (dApp) и блокчейном, беря на себя задачи по синхронизации данных, обработке транзакций и обеспечению надёжности соединения.

История и развитие

Проект Infura был основан в 2016 году Майклом Уоллином и Юджином Ли. Изначально он создавался как внутренняя инфраструктура для компании ConsenSys (организация признана нежелательной в РФ), занимающейся разработкой решений на базе Ethereum. Однако уже в 2017 году Infura была запущена как публичный сервис, доступный для всех разработчиков.

Основной причиной появления Infura стала сложность и высокая стоимость поддержки собственных блокчейн-узлов. Для работы с Ethereum необходимо было синхронизировать полную копию блокчейна (на тот момент — несколько десятков гигабайт данных), что требовало значительных вычислительных ресурсов, времени и технической экспертизы. Infura решила эту проблему, предоставив облачный доступ к узлам.

В 2019 году Infura подверглась критике из-за инцидента, когда из-за ошибки в коде сервис временно перестал обрабатывать транзакции, что привело к сбоям в работе многих децентрализованных приложений (dApps), включая популярные кошельки и биржи. Этот случай подчеркнул уязвимость экосистемы, зависящей от централизованного провайдера.

В 2020 году Infura объявила о планах по децентрализации своей инфраструктуры, начав разработку протокола под названием Infura Decentralized Infrastructure Network (IDN). Целью проекта было создание сети, управляемой множеством независимых операторов узлов, что должно было снизить зависимость от одной компании.

Архитектура и принцип работы

Infura работает по модели «инфраструктура как услуга» (IaaS). Она развёртывает и поддерживает кластеры полных узлов Ethereum (и других блокчейнов) в собственных дата-центрах по всему миру. Разработчики получают доступ к этим узлам через стандартизированные API, в первую очередь — через JSON-RPC (протокол удалённого вызова процедур).

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

  • API-шлюз (Gateway): Точка входа для всех запросов от приложений. Шлюз маршрутизирует запросы к доступным узлам, балансирует нагрузку и обрабатывает ошибки.
  • Кластеры узлов: Набор полных узлов (Full Nodes) и архивных узлов (Archive Nodes), синхронизированных с блокчейном. Архивные узлы хранят всю историю состояний сети, что позволяет выполнять исторические запросы (например, баланс аккаунта на определённую дату).
  • Система кэширования: Для ускорения ответов на часто запрашиваемые данные (например, текущий баланс популярных токенов) используется кэширование.
  • Управление доступом: Каждый разработчик получает уникальный ключ (API key), который используется для аутентификации и тарификации запросов.

Протоколы и стандарты:

Infura поддерживает несколько ключевых интерфейсов:

  • JSON-RPC: Основной протокол для взаимодействия с Ethereum. Через него отправляются транзакции, запрашиваются данные блоков, балансы, события смарт-контрактов.
  • WebSocket: Позволяет подписываться на события в реальном времени (например, поступление новых транзакций).
  • GraphQL: Альтернативный интерфейс, предоставляющий более гибкие возможности для запросов (например, получение данных о нескольких аккаунтах в одном запросе).

Функциональные возможности

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

Основные сервисы:

  • Ethereum API: Полный доступ к сети Ethereum, включая отправку транзакций, вызовы смарт-контрактов, получение данных о блоках и транзакциях.
  • IPFS API: Доступ к распределённой файловой системе InterPlanetary File System (IPFS). Позволяет загружать и хранить файлы (например, метаданные NFT) в децентрализованной сети.
  • Filecoin API: Интеграция с децентрализованной сетью хранения данных Filecoin для долговременного хранения больших объёмов информации.
  • Поддержка других блокчейнов: Помимо Ethereum, Infura поддерживает ряд совместимых сетей, включая:
  • Polygon (MATIC)
  • Arbitrum
  • Optimism
  • Avalanche C-Chain
  • BNB Smart Chain
  • Celo
  • и другие.

Дополнительные инструменты:

  • Infura Dashboard: Веб-интерфейс для управления ключами, просмотра статистики использования (количество запросов, ошибки, задержки) и настройки проектов.
  • Infura SDK: Библиотеки для популярных языков программирования (JavaScript, Python, Go), упрощающие интеграцию с API.
  • Infura Transactions: Сервис для ускорения отправки транзакций, позволяющий разработчикам управлять приоритетом и стоимостью газа.

Применение

Infura является критически важной инфраструктурой для значительной части экосистемы Ethereum и других блокчейнов. По оценкам, через Infura проходит значительная доля всех транзакций в сети Ethereum (в некоторые периоды — до 70-80%).

Основные сферы использования:

  • Децентрализованные приложения (dApps): Почти все популярные dApps (кошельки, децентрализованные биржи, игры, NFT-маркетплейсы) используют Infura для взаимодействия с блокчейном. Например, кошелёк MetaMask (организация признана нежелательной в РФ) по умолчанию использует Infura для подключения к сети.
  • Криптовалютные биржи: Централизованные и децентрализованные биржи используют Infura для мониторинга депозитов, обработки выводов и получения данных о ценах.
  • Аналитические платформы: Сервисы, отслеживающие активность в блокчейне (например, Etherscan), используют Infura для получения исторических данных и данных в реальном времени.
  • Разработка и тестирование: Разработчики используют Infura для тестирования смарт-контрактов в тестовых сетях (Ropsten, Rinkeby, Goerli, Sepolia), не разворачивая собственные узлы.

Критика и ограничения

Несмотря на широкое распространение, Infura подвергается критике по нескольким причинам:

  • Централизация: Основной недостаток Infura — это централизация. Использование одного провайдера создаёт единую точку отказа. Если Infura выйдет из строя, множество dApps потеряют доступ к блокчейну. Это противоречит философии децентрализации, лежащей в основе блокчейна.
  • Цензура: Как централизованный сервис, Infura может блокировать запросы, поступающие из определённых регионов или IP-адресов. Теоретически это может быть использовано для цензуры транзакций или доступа к приложениям.
  • Зависимость от ConsenSys: Infura является дочерней компанией ConsenSys, что вызывает опасения по поводу контроля над инфраструктурой одной организацией.
  • Стоимость: Хотя существует бесплатный тариф, он имеет ограничения по количеству запросов. Для коммерческих проектов с высокой нагрузкой стоимость может быть значительной.

Альтернативы

В ответ на критику централизации появились альтернативные решения:

  • Alchemy: Крупный конкурент Infura, предоставляющий аналогичные услуги с дополнительными инструментами для разработки и мониторинга.
  • QuickNode: Ещё один популярный провайдер, предлагающий широкий выбор блокчейнов и гибкие тарифы.
  • GetBlock: Провайдер, предоставляющий доступ к узлам Ethereum и другим блокчейнам.
  • Децентрализованные решения: Проекты, такие как Pocket Network и Infura IDN, стремятся создать децентрализованные сети узлов, управляемые сообществом, что должно снизить зависимость от одного центра.

Интересные факты

  • В 2020 году Infura обработала более 1 триллиона запросов за год.
  • Infura поддерживает не только основную сеть Ethereum, но и множество тестовых сетей, что делает её незаменимым инструментом для разработчиков.
  • Проект Infura является одним из ключевых элементов инфраструктуры, позволившей Ethereum стать платформой для массового использования dApps.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →