Подробный взгляд на новую структуру граничных узлов – ключевой результат проекта Solenoid
- Почтальон Интернет-компьютера
- Новая граничная архитектура
-
- Граничные узлы API — публичная граница IC
- HTTP-шлюзы — включение прямого доступа через браузер
- Библиотека Discovery — облегчение подключения к IC
- Переход
- Текущая ситуация
Граничные узлы являются точкой входа в Интернет-компьютер. Каждый запрос пользователя проходит через один из них, прежде чем попасть в целевой контейнер. Проект Solenoid создает новую структуру граничных узлов, стоит уделить внимание этой новой технологии, а также возможностям, которые она открывает.
Почтальон Интернет-компьютера
На высоком уровне граничные узлы можно представить как почтальона Интернет-компьютера. Они получают запросы от клиентов и обеспечивают их доставку по назначению. Чтобы лучше понять их роль, важно сначала разобраться в структуре ядра ICP.
Ядро разделено на несколько подсетей, каждая из которых состоит из нескольких копий. В этих подсетях размещаются контейнеры — смарт-контракты Интернет-компьютера. Чтобы клиент мог взаимодействовать с контейнером — например, инициировать перевод средств в бухгалтерской книге ICP, — запрос должен быть направлен в одну из реплик в соответствующей подсети.
Именно здесь на помощь приходят граничные узлы. Клиенты просто отправляют свои запросы на любой граничный узел, который затем обеспечивает доставку запроса по назначению — реплике в соответствующей подсети. Такая конструкция освобождает клиентов от необходимости разбираться в сложных внутренних механизмах работы Интернет-компьютера. Без граничных узлов клиенты столкнулись бы с серьезными проблемами: им нужно было бы знать, в какой подсети находится контейнер, определять реплики в этой подсети и проверять, какие из реплик работают и готовы обработать запрос.
Однако граничные узлы делают гораздо больше, чем просто маршрутизируют запросы. Они повышают производительность за счет кэширования, обеспечивают соблюдение ограничений и правил безопасности для защиты ядра Интернет-компьютера, а также выполняют функции трансляторов, преобразуя HTTP-запросы в вызовы IC API. Это обеспечивает прямой доступ браузера к модулю, что является одной из уникальных возможностей протокола Internet Computer.
До сих пор граничные узлы обслуживались фондом DFINITY. Однако с завершением этапа дорожной карты проекта Solenoid ситуация меняется: граничная инфраструктура Интернет-компьютера теперь полностью децентрализована.
Новая граничная архитектура
Граничный узел, который был единым целым в старой граничной архитектуре, теперь разделен на два отдельных компонента — граничный узел API и HTTP-шлюз — каждый из которых выполняет свои задачи:
-
Граничные узлы API, которые служат публичной границей Интернет-компьютера и открывают конечные точки API IC.
-
HTTP-шлюзы, которые выступают в качестве уровня трансляции HTTP-запросов, располагаясь поверх граничных узлов API и обеспечивая доступ браузера к контейнеру ICP.
Кроме того, библиотека Discovery Library помогает клиентам IC, таким как HTTP-шлюзы, обнаруживать и подключаться к граничным узлам API.
Граничные узлы API — публичная граница IC
Граничные узлы API действуют как почтальоны, описанные ранее, направляя запросы по назначению.
Поскольку граничные узлы API работают на машинах поставщиков узлов — как и реплики — и полностью контролируются через NNS (с добавлением, удалением и обновлением через предложения), публичная граница Интернет-компьютера теперь полностью децентрализована.
Технические детали
Ядром граничных узлов API является служба ic-boundary. Она выполняет все ключевые задачи, от завершения TLS и разбора запросов до их пересылки соответствующей реплике. Кроме того, она включает в себя кэширование ответов на запросы и несколько защитных механизмов для защиты как себя, так и ядра IC.
Интернет-компьютер использует единый унифицированный образ виртуальной машины для узлов реплики и узлов границы API. В зависимости от роли узла оркестровщик просто запускает ic-replica для узла реплики или ic-boundary для узла границы API.
HTTP-шлюзы — включение прямого доступа через браузер
HTTP-шлюзы добавляют дополнительный уровень к Интернет-компьютеру, переводя HTTP-запросы в вызовы IC API и перенаправляя их на узлы API-границ. Благодаря этим шлюзам браузеры и другие HTTP-говорящие клиенты могут напрямую взаимодействовать с контейнерами на Интернет-компьютере. Именно поэтому, например, вы можете получить доступ к сайту Internet Computer, internetcomputer.org, через браузер без использования дополнительного программного обеспечения, несмотря на то, что сайт полностью размещен на сети.
Поскольку HTTP-шлюзы действуют как уровень трансляции, они не являются частью ядра IC и могут быть развернуты кем угодно.
Технические детали
Ядром HTTP-шлюзов является служба ic-gateway. Она выполняет такие задачи, как завершение TLS, кэширование HTTP, преобразование HTTP-запросов в вызовы IC API и преобразование ответов обратно в формат HTTP.
HTTP-шлюзы доступны в различных форматах упаковки и могут запускаться как единичные экземпляры или масштабироваться как флот, как это делает фонд DFINITY.
Библиотека Discovery — облегчение подключения к IC
Библиотека обнаружения помогает IC-совместимым клиентам, таким как HTTP-шлюзы, находить и подключаться к доступным узлам границы API, направляя запросы в соответствующие пункты назначения. Она предлагает различные стратегии для этого, начиная от простых подходов, таких как случайный выбор узла границы API, до более продвинутых методов, которые постоянно отслеживают состояние узла и задержку, гарантируя, что запросы направляются на наиболее оптимальные узлы.
Технические детали
Библиотека обнаружения упакована в agent-rs. Документацию можно найти на официальном сайте проекта.
Переход
Целью перехода от старой архитектуры к новой является обеспечение беспрепятственного взаимодействия с конечными пользователями, а также предоставление разработчикам возможности создавать новые услуги и внедрять инновации.
DFINITY продолжит эксплуатацию парка HTTP-шлюзов, обслуживающих домены ic0.app, icp0.io и icp-api.io.
Разработчики могут начать использовать библиотеку обнаружения для прямого подключения к граничным узлам API, обходя HTTP-шлюзы и используя все преимущества новой архитектуры.
Текущая ситуация
Все компоненты — ic-boundary, ic-gateway и библиотека discovery — были тщательно протестированы и работают в производстве уже некоторое время.
С принятием предложения #134902 в настоящее время существует 20 узлов API boundary, образующих публичную границу Интернет-компьютера. Кроме того, фонд DFINITY запустил несколько HTTP-шлюзов для тестирования и проверки и в настоящее время один за другим заменяет оставшиеся граничные узлы HTTP-шлюзами.
0 комментариев Комментарии
Мы выбираем 🔥
Bybit - Удобная биржа. Простая верификация. Отличный выбор начинающих. Скидки на комиссии по ссылке + бонусы до 5000$ перейти Mexc - Проводят много акций. Часто прилетают бонусы. Кешбэк! Низкие торговые комиссии. перейти Okx - Шикарный выбор трейдинговых ботов для автоматизации. Присоединяйся, получи Mystery Box и выиграй до 10 000$ перейти Сегодня в трендеБлижайшие мероприятия →