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

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

Оракулы могут быть централизованными (управляются одной организацией) или децентрализованными (управляются DAO): первые считаются более уязвимыми из-за риска предоставления субъективной информации (т.е. информации, где существует риск подлога); вторые — более надежны, поскольку формируют так называемые trustless-результаты, анализируя информацию, полученную из множества источников.

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

Поскольку система DeFi построена на использовании самоисполняемых смарт-контрактов без посредников, то ее функционирование без оракулов практически невозможно. В начале формирования DeFi оракулы были подвержены высокому риску хакерских атак для манипулирования данными. По мере развития DeFi и роста числа оракулов находящихся под управлением DAO эти риски минимизируются.