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