ГЛАВНАЯ / ИНСТРУКЦИИ / TIMELOCK СМАРТ-КОНТРАКТА: ЗАЧЕМ ЗАДЕРЖИВАЮТ ИСПОЛНЕНИЕ РЕШЕНИЯ
Timelock смарт-контракта: зачем задерживают исполнение решения
Timelock ставит минимальную задержку между планированием операции и её исполнением. Это даёт время проверить изменение и, если система позволяет, отреагировать до его применения. Задержка сама по себе не делает контракт безопасным: проверьте роли, содержимое вызова и возможность изменить правила ожидания.
Операцию сначала планируют, затем ждут, после чего исполняют
В модели TimelockController proposer планирует одиночный или пакетный вызов. Операция получает идентификатор, связанный с целями, значениями, данными, зависимостью и salt. После минимальной задержки она становится доступной к исполнению, а уполномоченный executor запускает вызов.
Конкретная реализация может иметь дополнительные статусы и правила. Проверьте актуальный timestamp, время готовности и predecessor, если операция зависит от другой. Состояние Ready означает, что минимальное ожидание прошло, но не обязательно что вызов уже состоялся.
- Scheduled означает запланированную операцию;
- Ready означает окончание ожидания;
- Done подтверждает исполнение;
- Cancelled означает отмену, после которой может потребоваться новое планирование.
Читайте каждую цель операции, а не только её описание
Сверьте адрес timelock и target каждого вызова с официальной документацией и обозревателем сети. Декодируйте calldata, проверьте функцию, аргументы, сумму и затрагиваемые роли. Пакет может содержать несколько действий, а описание proposal не заменяет проверку данных транзакции.
Если операция управляет treasury, ownership или access control, выясните, какие активы и функции окажутся под контролем после исполнения. Проверьте, может ли operation быть отменена и кто имеет canceller role. Отдельно проверьте predecessor и идентификатор операции, чтобы не перепутать похожие предложения.
| Поле | Что означает | На что обратить внимание |
|---|---|---|
| Target | Контракт назначения | Адрес и сеть |
| Data | Вызов и аргументы | Функция и декодированное содержание |
| Delay | Минимальное ожидание | Значение и возможность изменения |
| Roles | Кто планирует или исполняет | Фактические обладатели ролей |
Полномочия proposer, executor и admin различаются
Proposer может создавать операции в timelock, executor запускает готовые вызовы, а admin управляет ролями. В некоторых конфигурациях proposer может также отменять ожидающие операции или имеет соответствующее право отдельно. Проверьте назначение адресов и не предполагайте, что роль принадлежит DAO или multisig только по имени контракта.
Открытый executor может позволять любому адресу запускать уже одобренную операцию после задержки. Это не обязательно даёт право создавать новую. Важно проверить, не существует ли дополнительного администратора, способного предоставить роли другому адресу или обойти ожидаемую модель управления.
- список ролей сверяется onchain;
- открытый executor не смешивается с правом proposer;
- временные административные адреса проверены;
- отмена и выдача ролей рассмотрены отдельно.
Задержка помогает заметить риск, но не отменяет полномочия управления
Timelock создаёт окно времени для анализа и возможных действий пользователей, но не гарантирует, что они смогут выйти из системы или отменить изменение. Отмена может быть доступна только отдельной роли, а задержку для будущих операций иногда можно изменить другой операцией.
Проверьте, кто контролирует контракт timelock, можно ли изменить minDelay, какие контракты им управляются и существуют ли аварийные роли. Надёжность процесса определяется кодом и реальным распределением полномочий, а не только отображаемой длительностью ожидания.
Частые вопросы
Timelock автоматически исполняет операцию по окончании задержки?
Обычно после окончания минимального ожидания операция становится готовой, а отдельный вызов executor запускает её.
Любой executor может изменить предложение?
Роль executor обычно позволяет исполнять уже запланированное действие. Возможность создавать или изменять операцию определяется другими функциями и ролями.
Можно отменить ожидающий вызов?
Это зависит от наличия роли и правил реализации. Проверьте canceller и соответствующие права.
Timelock гарантирует, что пользователи успеют выйти?
Нет. Он только вводит задержку. Возможность выхода и неизменность периода зависят от протокола.
Чек-лист: timelock смарт-контракта: зачем задерживают исполнение решения
- адрес контракта и сеть сверены;
- идентификатор операции совпадает;
- все target и calldata проверены;
- минимальная задержка прочитана onchain;
- состояние операции определено;
- proposer и executor установлены;
- admin и canceller проверены;
- возможность менять delay оценена;
- после Ready проверена фактическая транзакция.
Материал подготовлен редакцией сайта и проверен 20 октября 2026 года. Условия бирж, кошельков и блокчейн-сетей могут меняться. Перед операцией сверяйте данные в интерфейсе выбранного сервиса.