Оракул связывает блокчейн-приложение с информацией или действиями за пределами его собственной среды исполнения. Ценовые отчёты — лишь один пример: результаты событий, погодные наблюдения и сведения о резервах также могут определять решения контракта. Оракулы могут передавать выходные данные блокчейна внешним системам.
Зачем контракту нужна связь
Узлы должны одинаково исполнять транзакцию. Если каждый узел самостоятельно запросит меняющийся сайт, получение одинакового ответа не гарантировано. Поэтому оракул передаёт информацию по согласованной процедуре, позволяя контрактам читать и использовать её детерминированно.
Подходы различаются. Один поставщик может подписывать отчёт, несколько участников — агрегировать наблюдения, а оптимистическая система — принимать предложенный ответ, если его не оспорят в установленный срок. Данные могут публиковаться регулярно или запрашиваться для конкретного события.
Доверие выходит за пределы цепочки
Запись ответа в блокчейне не доказывает ни точность исходного наблюдения, ни его актуальность. Надёжность зависит от источников, стимулов участников, правил проверки, времени обновлений и процедуры разрешения споров.
Поэтому приложениям нужны проверки актуальности и способы реагировать на недоступные или неправдоподобные данные. Децентрализованный оракул может уменьшить зависимость от одного участника, но общие источники данных, взаимосвязанные сбои и ошибки интеграции всё равно способны повлиять на результат исполнения контракта.