Оракулы (англ. oracles) — сторонние службы или сервисы, предоставляющие связь между внешним миром и смарт-контрактами, выступая мостом между блокчейном и данными за его пределами.
Блокчейн по умолчанию не имеет доступа к внешним данным, что ограничивает функциональность смарт-контрактов. Оракулы решают эту проблему, приводя в действие смарт-контракт и передавая необходимые данные из различных источников. Иными словами, оракулы не являются прямыми источниками данных, но играют ключевую роль в их проверке и передаче.
Классификация оракулов
Оракулы в блокчейне могут классифицироваться различными способами в зависимости от их функциональности, источников данных, степени доверия и многих других факторов. Вот некоторые из основных классификаций оракулов:
По направлению передачи данных:
- Входящие: Передают внешние данные в блокчейн (например, текущую цену акции или курс валюты).
- Исходящие: Позволяют смарт-контрактам воздействовать на внешний мир (например, отправить сигнал на отключение устройства).
По источнику данных:
- Программные: Подключаются к внешним электронным источникам, таким как веб-сайты, базы данных или API.
- Аппаратные: Получают данные от физических устройств или датчиков (например, показания датчика температуры).
По степени доверия:
- Децентрализованные: Основаны на множестве независимых источников данных или узлов, чтобы снизить риск манипуляции.
- Централизованные: Данные предоставляются одним или ограниченным числом источников, что может создать точку уязвимости.
По способу проверки данных:
- Консенсусные: Используют множественные источники для проверки и подтверждения данных перед передачей в блокчейн.
- Одиночные: Основываются на едином источнике данных без дополнительной проверки.
По частоте обновления:
- Постоянные: Предоставляют данные в реальном времени или с очень высокой частотой.
- Периодические: Обновляют данные через заданные промежутки времени.
По типу используемых данных:
- Оракулы на основе событий: Реагируют на определенные события или условия (например, закрытие биржи).
- Оракулы на основе запросов: Предоставляют данные по запросу от смарт-контракта.
Эти классификации могут комбинироваться, и один и тот же оракул может подходить под несколько категорий одновременно.
Недостатки оракулов
Оракулы интегрируют внешние данные с блокчейном, из-за чего существует ряд проблем:
Централизация: Использование централизованного оракула может создать уязвимости в децентрализованной системе.
Безопасность: Оракулы подверженны атакам, которые могут искажать передаваемые данные.
Ненадежность данных: Ошибочные данные от оракула могут привести к неправильному выполнению смарт-контракта.
Прозрачность: Не все оракулы являются прозрачными, что усложняет их контроль.
Сложность взаимодействия: Интеграция с оракулами может быть технически сложной.
Зависимость от сторонних сервисов: Если оракул использует недоступный источник, это может нарушить работу смарт-контракта.
Манипуляции: Некоторые агенты могут предоставлять оракулам искаженные данные ради выгоды.
Задержки: Пересылка данных между оракулами и блокчейнами может вызвать задержки.
Подпишись и получи доступ к бесплатным курсам и обучающим материалам от Solidity University! Изучай Solidity и Блокчейн Разработку вместе с нами!