
Aave Labs предложила обновление безопасности V3.8, цель которого – сохранить ликвидации с использованием мгновенных займов. 23 октября компания прояснила, как защита от повторного входа будет взаимодействовать с существующими интеграциями. Предложение, размещенное 21 октября, добавляет защиту к операциям пула. Такая защита ограничивает возможность внешнего обратного вызова повторно войти в защищенные функции контракта до завершения предыдущего вызова. При этом из-под ее действия исключены функции flashLoan() и flashLoanSimple(), чтобы их обратные вызовы могли продолжать вызывать действия пула, включая ликвидации.
Это важно, поскольку интеграции ликвидаций могут зависеть от возможности в рамках одной транзакции занять актив, погасить нездоровую позицию и завершить остальную часть операции до проверки расчетов. Блокировка любого последующего взаимодействия с пулом без разбора мешала бы этой последовательности. Ключевой вопрос дизайна – какие маршруты возврата в протокол являются намеренными: полезная граница безопасности должна учитывать модели транзакций, на которые опираются интеграции, включая вызовы после выхода активов из пула, но до проверки погашения.
Предлагаемая реализация использует временное хранилище, введенное через стандарт EIP-1153 в Ethereum. Такое хранилище доступно в течение транзакции и отбрасывается по ее завершении, поэтому может нести временное состояние блокировки и отслеживать, выполняется ли уже защищенная операция. Спецификация называет блокировки повторного входа одним из сценариев использования и объясняет, почему временное хранилище может стоить дешевле записи временного состояния в постоянное хранилище. Для активно используемого протокола децентрализованных финансов вопрос дизайна включает и стоимость для обычных транзакций, и защиту, которую добавляет механизм.
Материал подготовлен исключительно в ознакомительно-информационных целях и не является финансовым советом и рекомендацией.




