Chainlink выпустила CCIP 2.0 28 сентября — версию своего кросс-чейн протокола, которая позволяет эмитентам токенов или третьим сторонам запускать опциональные кросс-чейн верификаторы (CCV) и требовать их наличия для завершения перевода. Это изменение означает, что обязательный верификатор, ушедший в офлайн, может заморозить все сообщения, зависящие от его подтверждения. Перевод может зависнуть, когда токены в исходной сети уже заблокированы или сожжены, а соответствующего разблокирования или выпуска в сети назначения не происходит.
Где останавливается перевод
В CCIP 2.0 последовательность перевода разделяет верификацию и исполнение. OnRamp формирует требования к верификаторам для сообщения. Затем пул токенов блокирует или сжигает исходные токены. Офчейн-сервисы верификаторов публикуют аттестации, привязанные к идентификатору сообщения. OffRamp проверяет эти обязательные аттестации перед разблокировкой или выпуском в сети назначения. Chainlink заявляет, что все обязательные CCV должны вернуть действительные результаты до начала исполнения. Если обязательный верификатор не подтверждает, сообщение в сети назначения может остаться без изменений.
Этот порядок важен, потому что блокировка или сжигание на исходной стороне происходит до завершения верификации. Застрявший перевод — это не ожидающая транзакция в обычном смысле; это состояние, когда исходный пул переместил токены, но у сети назначения нет доказательства для действий. Chainlink возлагает на внешних операторов CCV ответственность за внедрение, обслуживание и бесперебойную работу, поэтому надёжность обязательного верификатора зависит от того, кто его запускает. Верификатор Committee по умолчанию состоит из 16 независимых операторов узлов, а любые дополнительные CCV работают alongside этой базовой конфигурации.
Эмитенты и третьи стороны как зависимости
Если эмитент запускает обязательный CCV для своего пула токенов, сервис этого эмитента становится одной из сторон, способных задержать завершение. Сторонний оператор создаст аналогичную зависимость. Chainlink предупредила, что неотвечающий верификатор может заморозить все сообщения, требующие его аттестации, — не только один перевод. В материалах запуска компании не указан конкретный production-актив или маршрут, использующий обязательный CCV, запущенный эмитентом, поэтому сам механизм не является доказательством того, что перевод конкретного держателя был заблокирован.
Исполнение в сети назначения является безразрешительным, как только все обязательные доказательства существуют и кворум любого опционального верификатора достигнут. Исполнитель по умолчанию обычно отправляет транзакцию, но любой может отправить её через путь ручного исполнения. Оплата газа в сети назначения или смена исполнителя не отменяет отсутствующую обязательную аттестацию CCV; OffRamp по-прежнему проверяет доказательства перед разблокировкой или выпуском токенов.
Обработка сбоев и повторные попытки
Когда попытка исполнения в сети назначения действительно терпит неудачу внутри защищённого пути OffRamp, она может быть помечена как FAILURE и повторена после устранения основной проблемы. Исполнитель по умолчанию Chainlink повторяет неудачные попытки в течение настроенного окна, которое в настоящее время составляет восемь часов. Опубликованный маршрут ручного исполнения не определяет общую автоматическую отмену, возврат средств или возврат токенов исходной сети, когда обязательный верификатор так и не подтверждает. Любое решение, специфичное для эмитента, будет зависеть от договорённостей по этому активу.
Два хука предлагают более раннее вмешательство. В сетях EVM настроенный хук Chainlink Automated Compliance Engine может отклонить исходящий перевод до того, как исходный пул заблокирует или сожжёт что-либо, что откатывает исходную транзакцию. Отдельно настроенный хук postflight в сети назначения может отклонить разблокировку или выпуск после начала перевода на исходной стороне, оставляя токены недоставленными до выполнения условия политики. Оба являются вариантами конфигурации, а не настройками по умолчанию.
Что могут проверить разработчики и держатели
Практический вопрос для любого, кто перемещает токен через CCIP 2.0, — какие верификаторы требует конкретный маршрут и кто ими управляет. Обязательный CCV, запущенный эмитентом, ставит этого эмитента на путь каждого перевода для данного пула. Сторонний CCV добавляет ещё одного оператора с собственной историей бесперебойной работы. Верификатор Committee по умолчанию с 16 операторами является базовым, но дополнительные CCV меняют набор зависимостей.
Chainlink не назвала production-актив или маршрут, который полагается на обязательный CCV, запущенный эмитентом. Пока такой не появится, сценарий застревания является документированным свойством дизайна, а не реальным инцидентом. Разработчикам, оценивающим обновление, будет важно знать, что произойдёт, если обязательный верификатор на их конкретном маршруте будет медленным или молчащим, — и опубликовал ли стоящий за ним эмитент решение для токенов, уже заблокированных в исходной сети.




