BTCC / BTCC Square / BeincryptoRU /
NEAR незаметно заменила движок смарт-контрактов под нагрузкой сети — Пользователи даже не заметили

NEAR незаметно заменила движок смарт-контрактов под нагрузкой сети — Пользователи даже не заметили

Published:
2026-07-14 22:50:00

Разработчики NEAR успешно заменили основной движок для смарт-контрактов в условиях полной загрузки основной сети, — и большинство пользователей не заметили никаких изменений. Этот шаг, предпринятый в прямом эфире без остановки блокчейна, демонстрирует высокий уровень инженерной подготовки и масштабируемости платформы. Внедрение обновления произошло так гладко, что оно подтверждает способность NEAR адаптироваться к будущим нагрузкам, что особенно важно на фоне растущего спроса на высокопроизводительные блокчейн-решения.

Зачем NEAR менял движок

Долгие годы, как пояснил Вадим, NEAR исполнял контракты на собственной виртуальной машине NearVM — ответвлении движка Wasmer, которое использовал, тестировал и латал только сам проект. Такой частный компилятор он назвал своего рода «налогом».

Суть в том, что каждое обновление языка Rust, каждая новая функция и каждое исправление безопасности ложились на плечи одной команды. По словам эксперта, проекту однажды повезло: он перестал синхронизировать свою версию прямо перед тем, как в исходном Wasmer появилась критическая уязвимость, и случайно избежал ее.

Заменой стал Wasmtime — отраслевой стандарт, который поддерживает объединение Bytecode Alliance. Чтобы доказать безопасность перехода, узлы сети параллельно прогоняли реальный трафик основной сети через обе виртуальные машины и сверяли каждый результат.

Итоги проверки, по данным команды, оказались убедительными. Результаты совпали полностью, расхождение в комиссиях составило менее 0,002%, а само исполнение ускорилось примерно в четыре раза.

Главная сложность, впрочем, была не в исполнении. Как пояснил Вадим, в сети NEAR развертывание контракта компилируется прямо внутри блока длиной 600 миллисекунд, а у оптимизирующего компилятора нет верхнего предела времени работы.

Запретное решение и итог

Именно это открывало путь для атаки. По словам специалиста, команда создала контракт размером 128 КБ, компиляция которого занимала около 7 секунд, — этого хватало, чтобы «промахнуться» мимо блока и замедлить всю сеть.

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

Последствием, по его словам, стал бы раскол сети из-за одной лишь настройки компилятора. Он подчеркнул, что консенсус требует полной предсказуемости даже от времени сборки.

Команда нашла другой выход. По данным разработчиков, они внедрили Winch — однопроходный бэкенд Wasmtime — и добавили в него недостающие функции, после чего «худший случай компиляции» сократился с 7,6 секунды до 36 миллисекунд.

Как отметил Вадим, работа вне блокчейна дает «роскошь, недоступную протоколу»: компиляцию можно вынести на отдельный тип обработчиков, не связанный с исполняющими узлами. 

Поводом для разбора от Вадима стала публикация другого разработчика Антона, который анонсировал само обновление. По его словам, релиз Nearcore 2.12 перевел среду исполнения NEAR с NearVM на Wasmtime, но эта работа не из тех, что попадают в заголовки СМИ. Он подчеркнул, что для разработчиков и пользователей ничего не изменилось, и в этом весь смысл: «команда закрыла критический технический долг, ничего не сломав».

Хотите получить доступ к экспертным инсайдам? Подписывайтесь на наш новостной телеграм-канал, а также вступайте в сообщество BeInCrypto! Читайте последние новости и свежую аналитику криптовалют, ИИ и фондовых рынков. Будьте на шаг впереди толпы каждый день!