Оракулы
Повышение безопасности за счет резервирования
Чтобы избежать единого отказа, Raft использует два оракула: основной и вторичный. Оба оракула являются упакованными контрактами, которые при необходимости можно обновлять с помощью протокола.
Подача цен оракулов будет для stETH, а затем контракт будет конвертировать цены stETH в цены wstETH с помощью индекса конвертации.
Если в основном оракуле обнаружено отклонение от нормы, вторичный оракул или "последняя выгодная цена" (Last Good Price) будет использована как запасной вариант.
Виявление аномалий
Первичный оракул считается ненормальным, если возникают следующие условия:
Заморозка: основная цена оракула не обновлялась более 3 часов.
Сломано: ответ основного вызова оракула возвращается - возвращает недействительную цену или недействительную отметку времени.
Значительное изменение цены: изменение цены между двумя последовательными первичными обновленными ценами превышает 25%.
Резервный механизм
Когда основной оракул сломан или заморожен:
если вторичный оракул работает, используйте цену вторичного оракула
в противном случае используйте последнюю хорошую цену
Когда основной оракул сильно изменил цену:
если вторичный оракул работает:
если разница в цене между первичным и вторичным оракулами не превышает 5% (переменная), используйте цену первичного оракула.
в противном случае, используйте более консервативную цену, то есть ту, которая имеет меньшее отклонение от последней выгодной цены.
в противном случае используйте последнюю лучшую цену.
Last updated