Недавно при работе с интеграцией оракулов я заметил интересное явление: многие DeFi-протоколы игнорируют проблему «задержки» в потоке данных, и зачастую это не связано с сбоем системы, а с тем, что данные не срабатывают в ожидаемое время.
Например, теоретически позиция должна была закрыться в момент A, но она всё-таки переключилась только в момент B — с задержкой в несколько минут. В результате операции ликвидации выглядят особенно неуместными, пользователь видит, что рыночные данные кажутся задержанными, а в бэкэнде всё отображается нормально. Вот тут и возникает неловкая ситуация.
Как разбирать такие проблемы? Нужно начать с того, как протокол использует данные оракулов. Моя привычка — не торопиться с построением логической схемы, а отталкиваться от блока — что именно «увидел» протокол в этом временном окне? Какие вызовы были активированы? Что такое «свежие» данные, а что — «едва хватает»? Если не разобраться в деталях этого процесса, то это уже не диагностика проблемы, а просто удача или случайность. Именно поэтому многие при интеграции оракулов легко наступают на эти грабли.
Честно говоря, все думают, что подключение оракула — это дело на выходных, просто и грубо. Но все сложности начинаются позже — через несколько месяцев поведение протокола начинает меняться. Кто-то специально ослабляет параметры ради снижения затрат, кто-то добавляет резервный источник данных, кто-то меняет частоту обновлений. Эти казалось бы безобидные настройки на самом деле тихо меняют понимание всей системы о «доступности» данных.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
8 Лайков
Награда
8
4
Репост
Поделиться
комментарий
0/400
gas_fee_therapy
· 4ч назад
Ай-яй, именно поэтому ликвидации всегда происходят в самый отчаянный момент, это действительно немного противно
Посмотреть ОригиналОтветить0
LayerZeroHero
· 4ч назад
Задержка данных действительно удивительна, многие проекты вообще не воспринимают это всерьез
Посмотреть ОригиналОтветить0
alpha_leaker
· 4ч назад
Опять такие скрытые мины, это действительно потрясающе
Посмотреть ОригиналОтветить0
StableNomad
· 4ч назад
честно говоря, это снова UST, только никто не хочет признавать это
Недавно при работе с интеграцией оракулов я заметил интересное явление: многие DeFi-протоколы игнорируют проблему «задержки» в потоке данных, и зачастую это не связано с сбоем системы, а с тем, что данные не срабатывают в ожидаемое время.
Например, теоретически позиция должна была закрыться в момент A, но она всё-таки переключилась только в момент B — с задержкой в несколько минут. В результате операции ликвидации выглядят особенно неуместными, пользователь видит, что рыночные данные кажутся задержанными, а в бэкэнде всё отображается нормально. Вот тут и возникает неловкая ситуация.
Как разбирать такие проблемы? Нужно начать с того, как протокол использует данные оракулов. Моя привычка — не торопиться с построением логической схемы, а отталкиваться от блока — что именно «увидел» протокол в этом временном окне? Какие вызовы были активированы? Что такое «свежие» данные, а что — «едва хватает»? Если не разобраться в деталях этого процесса, то это уже не диагностика проблемы, а просто удача или случайность. Именно поэтому многие при интеграции оракулов легко наступают на эти грабли.
Честно говоря, все думают, что подключение оракула — это дело на выходных, просто и грубо. Но все сложности начинаются позже — через несколько месяцев поведение протокола начинает меняться. Кто-то специально ослабляет параметры ради снижения затрат, кто-то добавляет резервный источник данных, кто-то меняет частоту обновлений. Эти казалось бы безобидные настройки на самом деле тихо меняют понимание всей системы о «доступности» данных.