Как оценить безопасность различных проектов Oracle

Как оценить безопасность различных проектов Oracle

21 ноября 2022 г.

В представленной выше презентации Доминик Мухс, старший инженер по безопасности компании ConsenSys Diligence, подробно анализирует компоненты, из которых состоит система Oracle. Доминик представляет это выступление от имени Шаяна Эскандари, технического директора Ether Capital. Прежде чем погрузиться в эту презентацию, обратите внимание на некоторые важные понятия.

https://youtu.be/hSP9vZEdDZQ?embedable=true

Что такое оракул?

Оракул – это часть инфраструктуры блокчейна, которая связывает блокчейны с реальными данными. Оракулы помогают получать и проверять данные из нескольких внешних источников. Эти данные затем доставляются в смарт-контракты, что позволяет выполнять их на основе данных вне сети.

Проблема с оракулом

Блокчейны и смарт-контракты полезны и интересны, поскольку они децентрализованы, неизменны и устойчивы к цензуре. Однако блокчейны не могут передавать данные в какую-либо внешнюю систему и из нее. Внешние данные требуются практически для всех случаев использования смарт-контрактов. Некоторые из этих вариантов использования включают стейблкоины, рынки предсказаний, идентификацию, случайность, децентрализованные биржи (DEX), динамические невзаимозаменяемые токены (NFT) и, конечно же, ценовые потоки. Такие системы требуют уверенности в происхождении реальных данных.

В то же время изоляция блокчейна и, как следствие, невозможность подключения к данным реального мира — это именно то качество, которое также обеспечивает его безопасность. Таким образом, проблему оракула можно определить как конфликт, возникающий из-за ненадежного выполнения смарт-контрактов и чрезмерной зависимости блокчейна от сторонних оракулов для получения внешних данных. Если оракулы централизованы или подвержены коррупции, они становятся единой точкой отказа, что может свести на нет всю цель блокчейна и технологии смарт-контрактов.

Модульный рабочий процесс Oracle

Перед написанием исследовательской работы «SoK: Oracles from the Ground Truth to Market Manipulation», Шаян и его коллеги столкнулись с проблемой оракула, пытаясь построить децентрализованный рынок деривативов в качестве академического упражнения. Децентрализованные рынки деривативов — это одноранговые рынки, на которых торгуются деривативы. В традиционных финансах деривативы — это контракты (или ценные бумаги), стоимость которых зависит от эффективности выбранного актива. Некоторые распространенные типы деривативов включают фьючерсы, опционы и облигации. Деривативы DeFi отличаются от своих традиционных аналогов тем, что им не требуется брокер или третье лицо для обеспечения выполнения контракта. Вместо этого условия могут быть запрограммированы в смарт-контракты и автоматически рассчитаны по цепочке после выполнения условий. Некоторые примеры децентрализованных рынков деривативов включают Synthetix, dYdX и Вега-протокол.

Основная цель статьи — разделить системы оракулов смарт-контрактов на отдельные части или «модули». Изучение каждого модуля по отдельности значительно упрощает анализ принципов построения оракула, возможных атак и способов их смягчения. Модули следующие:

  • Основная правда
  • Источники данных
  • Фидеры данных
  • Выбор фидеров данных
  • Агрегация
  • Этап спора

Основная истина. Первая проблема проектирования оракула начинается с философского вопроса: что такое истина? Истина субъективна или объективна?

«Наземная истина» относится к точной части информации, которую оракулы помещают в цепочку. Примером может служить реальная цена Ethereum. Это может быть агрегированная цена из разных источников данных, таких как централизованная биржа (CEX), такая как Gemini, или децентрализованная биржа (DEX), такая как Uniswap.

В модуле наземной истины разработчики оракула пытаются найти наилучший способ сбора необработанных данных из различных источников данных и их агрегирования для достижения разумного уровня качества данных. Разработчики Oracle должны попытаться выделить данные таким образом, чтобы их можно было использовать для систем, и детерминированным способом, в котором не участвует случайность.

Источники данных. Источники данных – это пассивные объекты, которые хранят и измеряют представление вышеупомянутой основной истины. По словам Доминика, примеры распространенных типов источников данных включают:

  • Базы данных & API – Централизованная биржа цен.
  • Датчики: системы цепочки поставок на основе блокчейна
  • Люди: рынки предсказаний
  • Смарт-контракты: ончейн-рынки, такие как Uniswap в качестве источника данных оракула.
  • Также возможна комбинация вышеперечисленного.

Таким образом, источники данных являются количественными показателями истинности. Например, если исходной точкой является цена Ethereum, то источником данных являются централизованные биржевые цены.

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

Сами фидеры данных не проверяют достоверность данных. Вместо этого внешние данные проталкиваются через фидеры, которые выполняют проверки безопасности, такие как аутентификация источника. В зависимости от фидера существуют разные способы аутентификации источников. В своей презентации Доминик приводит пример подключения к REST API и аутентификации API (интерфейс прикладного программирования), который использует HTTPS с TLS Нотариус для подтверждения правильности собираемых данных HTTP. Кроме того, Intel SGX и можно использовать доверенные среды выполнения (TEE). TEE — это среда для выполнения кода, отделенная от основной операционной системы. Он обеспечивает сквозную безопасность и обеспечивает надежную среду, в которой данные хранятся, обрабатываются и защищаются. Однако в обоих случаях доверие предоставляется третьим сторонам, таким как нотариус TLS или производитель микросхем Intel.

Халявные атаки и другие угрозы

Еще одно условие безопасности, которому должны соответствовать фидеры данных, — это конфиденциальность для предотвращения распространенных атак, таких как «зеркальные атаки» и «атаки с бесплатной загрузкой» в системах оракула. Атаки с бесплатной загрузкой происходят, когда фидер данных копирует данные, предоставленные фидерами или общедоступным источником вне сети, без проверки точности данных. Таким образом, фидер данных может максимизировать прибыль и свести к минимуму работу, необходимую для получения результата.

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

По словам Доминика, схемы раскрытия коммитов можно использовать для предотвращения таких атак, поскольку они помогают гарантировать, что никто другой не сможет «заглянуть» в отправку других фидеров данных. В этой статье содержится дополнительная информация о схемах раскрытия коммитов в Ethereum. Неотказуемость также может гарантировать, что отправка фидера данных в систему не может быть изменена или отклонена. Этого можно добиться с помощью схем криптографической подписи, чтобы учесть возможность повреждения в процессе отправки данных.

Выбор фидеров данных. Объединение всех данных, предоставленных фидерами данных, будет очень дорогим, если фидеры данных должны вознаграждаться за каждый сделанный вклад. Однако, по словам Доминика, известно, что устойчивость системы оракула увеличивается с увеличением количества фидеров данных внутри сети. Чтобы сформировать сообщество источников данных, должен пройти процесс отбора. Существует несколько способов выбора фидеров данных для сети оракула. В своей презентации Доминик подробно описывает различные процессы отбора, используемые оракулами, такими как Chainlink, MakerDAO и Протокол BAND, а также Процесс подтверждения выполнения работы Tellor с 2019 года.

Важно отметить: с тех пор Tellor обновил протокол оракула. Обновление, названное Tellor X, заменило компонент майнинга с доказательством работы моделью ставок. Узнайте больше о последнем обновлении в этом сообщении на Medium. Доминик также объяснил некоторые недостатки этих процессов, в том числе пример протокола B, использующего экспресс-кредит, чтобы повлиять на голосование по управлению Maker V2, чтобы добавить свой собственный оракул в список разрешенных фидеров данных. Подробнее об этом читайте в этой статье нашего информационного партнера Beincrypto.

Агрегация. Агрегация — это процесс объединения выбранных каналов данных в один выходной файл. Конечные пользователи должны иметь возможность извлекать ценность из фидеров данных. Это можно сделать, применяя различные методы статистики, такие как вычисление среднего значения или медианы заданных данных. У каждого статистического вычисления есть свои преимущества и недостатки, и разработчики оракулов должны тщательно выбирать, какие из них использовать.

Этап оспаривания. Существует несколько способов оспорить неверные данные и наказать поставщиков неверных данных. Точкой отсчета для любого спора должны быть правильные данные. В проектах может использоваться экономическая игра со ставками, в которой участники ставят определенное количество токенов, чтобы оспорить поступающие данные. Результат может быть сначала предварительным и подтвержден только после того, как окно спора будет завершено. Если часть данных оспаривается, поставщик недостоверных данных может быть удален, у него могут быть конфискованы его токены или снижена его репутация. Augur, децентрализованная платформа рынка прогнозов, и Asteria, целью которой является создание опционной инфраструктуры для DeFi, являются примерами протоколов, которые оспаривают данные таким образом.

Еще один способ оспорить данные — это арбитражная игра. Например, когда на децентрализованном рынке имеются неверные данные о ценах, возникает возможность арбитража из-за разницы в сообщаемых ценах. В таких случаях майнер может разрешить арбитражную сделку. Майнеры заинтересованы в разрешении этих сделок из-за дополнительной прибыли, которая может быть получена, также известной как извлекаемая ценность майнера (MEV)< /а>. MEV — это термин, используемый, когда майнеры могут извлекать дополнительную прибыль, «перескакивая через очередь» или переупорядочивая транзакции в блоке для завершения сделок.

Проблема темного леса

В конце своей презентации Доминик обращается к проблеме «Темного леса». «Темный лес» — это термин, популяризированный Дэном Робинсоном и Георгиосом Константинопулосом из инвестиционной компании Paradigm в этот пост в блоге. Этот термин был вдохновлен научно-фантастической книгой «Темный лес», в которой темный лес — это среда, где обнаружение ведет к верной смерти от рук хищников. В посте Дэн сравнивает мемпулы Ethereum с «темным лесом». Мемпулы — это базы данных всех незавершенных транзакций. Как только транзакция подтверждена, она удаляется из мемпула. Согласно концепции «темного леса», любая незавершенная транзакция, обнаруженная в мемпуле Ethereum, будет уязвима для атак арбитражных ботов.

Куда нам двигаться дальше?

По словам Доминика, некоторые аспекты дизайна системы оракула, такие как стекинг, должны быть усилены. Оракулы используют свой токен управления для стейкинга — механизма, с помощью которого пользователи обещают свои токены для поддержки улучшенной работы сети в обмен на вознаграждение в виде токенов. Это обеспечивает дополнительный уровень безопасности для системы Oracle, предоставляя ей больше гарантий. Однако, чтобы это было эффективно, рыночная капитализация токена должна оставаться значительной. Если стоимость токена рухнет, вся система оракулов может оказаться под угрозой краха, а стейкинг окажется контрпродуктивным. Токены также должны быть справедливо и равномерно распределены, чтобы стоимость токена сохраняла свою целостность, что повысит эффективность стейкинга.

Двигаясь вперед, индустрия оракулов также должна тщательно изучить потенциальные атаки и разработать соответствующие стратегии, чтобы предотвратить каждую из них в будущем. Более подробную информацию о манипулировании оракулом можно найти в этой статье Github от ConsenSys. Усердие.

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

Узнайте больше об Ether Capital:

Веб-сайт Ether Capital n Твиттер Ether Capital n Шаян Эскандари в Твиттере и Доминик Мухс в Твиттере


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE