Создание Web3 и использование технологии блокчейн для децентрализации контроля над сетями, платформами и данными — это мощная идея, которая может помочь возродить открытый интернет. Но сторонники блокчейна считают, что смарт-контракты не съедят мир, пока децентрализованные приложения не смогут напрямую взаимодействовать с Web2, как это делают сегодня обычные потребительские веб-сервисы. Только тогда блокчейн переведет миллиарды пользователей Web2 на сервисы Web3.
Блокчейн, как правило, не может напрямую взаимодействовать с системами и данными, которые размещены за пределами их соответствующих сетей. Устаревшие веб-технологии в основном взаимодействуют через облачную инфраструктуру и серверы, используя стандартный веб-протокол HTTP, что вынуждает блокчейн полагаться на внешние «оракулы» для связи с источниками на основе HTTP. Оракулы в основном функционируют как мосты, соединяющие программное обеспечение на блокчейне с данными и сервисами вне блокчейна.
Поскольку такие блокчейны, как Ethereum (ETH) и Solana (SOL), не могут предложить собственных оракулов, разработчики dapp сталкиваются с дополнительной сложностью программирования, затратами, задержками и рисками безопасности, связанными с использованием доверенного промежуточного программного обеспечения для запроса внешних данных. Они обычно интегрируют централизованные оракулы и оракловые сети, такие как Chainlink (LINK), чтобы позволить своим смарт-контрактам обращаться к внецепочечной инфраструктуре, но им необходимо регулярно убеждаться, что эти оракловые сервисы надежно возвращают достоверные ответы, которые не скомпрометированы.
Умные контракты выигрывают от возможности получать внецепочечные данные из реального мира. Децентрализованные биржи, например, часто получают курсы обмена от централизованных бирж, таких как Coinbase. Именно поэтому финансовые смарт-контракты, автоматизированные маркет-мейкеры и торговые платформы обычно зависят от оракулов, но при этом учитывают связанные с ними уязвимости и эксплойты, такие как манипулирование ценовыми оракулами. Что если бы для dapps существовал прямой API для доступа к внешним данным? Что, если бы разработчикам больше не пришлось привлекать и оплачивать услуги сторонних посредников для отправки запросов на цепочке и передачи ответов вне цепочки?
В знак того, что технология блокчейн продолжает двигаться вперед, Интернет-компьютер (ICP) недавно внедрил API, который позволяет смарт-контрактам и dapps напрямую отправлять исходящие HTTP-запросы, включая защищенный трафик HTTPS. «Если вы разработаете канистровый смарт-контракт на блокчейне Internet Computer, он сможет напрямую совершать HTTPS-вызовы на серверы Web2 и без доверия получать прямой ответ», — объясняет Дитер Зоммер, менеджер технических программ в фонде DFINITY, который вносит вклад в НИОКР Internet Computer. «С точки зрения разработчика, опыт будет ближе к привычной парадигме программирования Web2 без оракулов».
HTTP API
Принцип работы таких оракулов, как Chainlink, UMA (UMA) и API3 (API3), обычно включает в себя внецепочечный орган, который считывает данные из определенного внешнего источника и записывает их в уникальный смарт-контракт для передачи этих данных в ответ на запросы на цепочке. Затем смарт-контракты, работающие на блокчейне, могут быть запрограммированы на использование оракула в качестве заменителя или переводчика данных вне цепочки.
К недостаткам можно отнести участие посредника, что усложняет работу разработчиков и повышает риск сбоя в работе сервиса. Третьи стороны могут вступить в сговор или заговор с целью манипулирования данными, кроме того, оракулы могут быть взломаны или скомпрометированы. Получение и отправка данных может занимать время, что вредит удобству пользователей, особенно в случае децентрализованных оракулов, которым необходимо агрегировать данные из избыточных источников и координировать консенсус. Chainlink особенно доминирует в сфере оракулов, будучи агностиком блокчейна, но использование сети оракулов также дорого для разработчиков.
Введение прямого HTTP API для смарт-контрактов открывает путь для Web3 к беспрепятственному взаимодействию с существующими сервисами и источниками данных на основе HTTP, создавая множество возможностей для приложений, которые могут эффективно использовать огромное количество данных Web2. Функция HTTPS outcalls недавно включена в стек протоколов Internet Computer, причем особое внимание уделяется уровню консенсуса. Интеллектуальные контракты Internet Computer развертываются на блокчейн подсети, при этом код и состояние каждого контейнера реплицируются на все узлы данной подсети.
Большинство блокчейнов полагаются на оракулы для промежуточных HTTP-запросов, поскольку репликация и консенсус делают непрактичным прямое взаимодействие с HTTP. Реплики будут делать идентичные вызовы к внешнему сервису, а возможные вариации временных меток или идентификаторов будут генерировать разные ответы, что сделает невозможным достижение согласия между ними.
«Стек протоколов IC концептуально можно рассматривать просто как коммуникационную трубу между канистрой и обычным HTTP-сервером, которая обеспечивает, чтобы HTTP-ответ проходил через консенсус и все честные реплики получали точно такой же ответ при выполнении», — поясняется в документации.
Каждый из узлов подсети, выполняющих данный смарт-контракт на интернет-компьютере, запрашивает URL, и если достаточное количество из них получает одинаковый ответ, он возвращается запрашивающей канистре. Если реплики ответов отличаются — например, из-за содержащихся временных меток, разного порядка значений ответов или разных перекрывающихся наборов значений ответов — разработчики могут просто закодировать функцию преобразования. Это стандартизирует ответы, удаляя ненужные части (например, временные метки или идентификаторы), сортируя значения или обрезая значения ответов — в общем, выполняя любое соответствующее преобразование, которое делает ответы всех реплик одинаковыми, чтобы в итоге прийти к консенсусу.
«Смарт-контракт canister сам по себе является HTTP-клиентом, поэтому мы предоставляем ему максимальную гибкость и мощность для обеспечения возможности интеграции Web3 с Web2», — говорит Соммер. «При меньших затратах и меньшем количестве доверительных допущений разработчики dapp могут расставить приоритеты для своего продукта и бизнес-логики, а пользователи получают более высокую безопасность и меньшую задержку».
После оракулов
Сокращение внешних зависимостей и посредников — это центральный принцип блокчейна, который является ключом к повышению устойчивости и безопасности децентрализованных систем. Устранение необходимости для смарт-контрактов полагаться на оракулов может помочь разработчикам легче создавать и внедрять широкий спектр децентрализованных приложений, связанных с финансами, страхованием, коммуникациями, спортом и логистикой. Можно представить себе запрос серверов для получения данных датчиков Интернета вещей (IoT), а также подключение к традиционным почтовым сервисам и отправку чат-сообщений через шлюзы сообщений.
Хотя достижение таких реальных сценариев использования имеет важное значение для развития Web3, сегодняшние усилия требуют от разработчиков и пользователей доверять оракулам, полагаясь на доверенных посредников, чтобы получить доступ к данным вне цепочки для обеспечения работы Web3 dapp или сервиса на основе блокчейна. Компрометация данных или использование оракула хакерами — или просто обычное, традиционное отключение техники — может дестабилизировать весь смарт-контракт и зависимые смарт-контракты, тем самым создавая единую точку отказа. Разработчики и пользователи будут ожидать лучшего опыта по мере развития Web3, и это подчеркивает необходимость лучшего подхода к интеграции.
Устранение сложности текущих решений oracle для внецепочечного доступа к данным может ускорить разработку Web3 и внедрение пользователей. HTTPS-выходы в интернет Компьютер показывает, как разработчики теперь могут создавать продукты и dapps, которые напрямую взаимодействуют с обычными серверами и корпоративной инфраструктурой, эффективно стирая грань между Web2 и Web3 и позиционируя смарт-контракты, чтобы действительно съесть мир.
Фрибиткоин самый доходный крипто-кран.