Оракулы

Повышение безопасности за счет резервирования

Чтобы избежать единого отказа, Raft использует два оракула: основной и вторичный. Оба оракула являются упакованными контрактами, которые при необходимости можно обновлять с помощью протокола.

Подача цен оракулов будет для stETH, а затем контракт будет конвертировать цены stETH в цены wstETH с помощью индекса конвертации.

Если в основном оракуле обнаружено отклонение от нормы, вторичный оракул или "последняя выгодная цена" (Last Good Price) будет использована как запасной вариант.

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

Первичный оракул считается ненормальным, если возникают следующие условия:

  1. Заморозка: основная цена оракула не обновлялась более 3 часов.

  2. Сломано: ответ основного вызова оракула возвращается - возвращает недействительную цену или недействительную отметку времени.

  3. Значительное изменение цены: изменение цены между двумя последовательными первичными обновленными ценами превышает 25%.

Резервный механизм

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

  • если вторичный оракул работает, используйте цену вторичного оракула

  • в противном случае используйте последнюю хорошую цену

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

если вторичный оракул работает:

  • если разница в цене между первичным и вторичным оракулами не превышает 5% (переменная), используйте цену первичного оракула.

  • в противном случае, используйте более консервативную цену, то есть ту, которая имеет меньшее отклонение от последней выгодной цены.

  • в противном случае используйте последнюю лучшую цену.

Last updated