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

Проблема возникает из-за изоляции блокчейна. Смарт-контракт может надежно обращаться к данным, записанным в самой сети, но он не может просто отправить HTTP-запрос на внешний сайт и считать его результат частью консенсуса. Для получения внешней информации нужен специальный механизм доставки и проверки данных.

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

В DeFi оракулы могут использоваться для определения стоимости залога, расчета порогов ликвидации, определения стоимости активов в кредитных протоколах и других финансовых операций.

Oracle является критически важным компонентом безопасности. Если протокол получает неправильную цену, злоумышленник потенциально может занять слишком большой объем средств, вывести недостаточно обеспеченные активы или вызвать нежелательную ликвидацию. Поэтому качество источников данных, частота обновления и устойчивость к манипуляциям имеют большое значение.

Оракулы бывают централизованными, децентрализованными, основанными на нескольких источниках или использующими специальные криптографические механизмы. Поэтому само наличие слова oracle в архитектуре не говорит о степени децентрализации или надежности системы.