Оракули

Підвищення безпеки за рахунок резервування

Щоб уникнути єдиної точки відмови, Raft використовує два Oracle: основний і вторинний Oracle.

Система Oracle складається з двох упакованих контрактів, які розроблені таким чином, щоб їх можна було адаптувати та підтримувати за допомогою мультипідписної конфігурації 3 із 5. Ця структура дозволяє учасникам мультипідпису вносити необхідні оновлення, наприклад, замінювати непродуктивні служби oracle або міняти ролі первинних і вторинних оракулів, забезпечуючи надійність і надійність системи.

Подачі цін Oracle відрізнятимуться для кожного LSD. Подробиці можна знайти тут.

Якщо в первинному оракулі виявлено відхилення від норми, вторинний оракул або остання добра ціна буде використана як запасний варіант.

Виявлення аномалій

Первинний оракул вважається ненормальним, якщо виникають такі умови:

  1. Замороження: основна ціна оракулу не оновлювалася більше X годин.

  2. Зламано: відповідь основного виклику оракулу повертається - повертає недійсну ціну або недійсну позначку часу.

  3. Значна зміна ціни: зміна ціни між двома послідовними первинними оновленими цінами перевищує X %.

Запасний механізм

Коли основний оракул зламаний або заморожений:

  • якщо вторинний оракул працює, використовуйте ціну вторинного оракула

  • в іншому випадку використовуйте останню хорошу ціну

Коли первинний оракул сильно змінив ціну:

якщо вторинний оракул працює:

  • якщо різниця в ціні між первинним і вторинним оракулами не перевищує 5% (змінна), використовуйте ціну первинного оракула.

  • в іншому випадку, використовуйте більш консервативну ціну, тобто ту, яка має менше відхилення від останньої вигідної ціни.

  • в іншому випадку використовуйте останню найкращу ціну.

Last updated