Популярные криптовалюты

BTC $64,633.6 +3.22%
ETH $1,875.98 +5.52%
SOL $77.43 +2.12%
ZEC $537.2 +5.52%
XRP $1.1047 +2.93%
BNB $583.09 +2.52%
NEAR $2.045 +5.47%

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

NEAR $2.045 +5.47%
THE $0.0577 +7.65%

Разработчики NEAR заменили движок, на котором работают все смарт-контракты, прямо под нагрузкой основной сети — и пользователи почти ничего не заметили. По словам бывшего разработчика ядра NEAR Вадима, в этом и заключалась цель обновления: пройти бесшумно. Как отметил специалист, за скупой новостью скрывается захватывающая инженерная история. По его словам, она включает и специально созданные контракты-«бомбы» The post NEAR незаметно заменила движок смарт-контрактов под нагрузкой сети appeared first on BeInCrypto.

Разработчики 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! Читайте последние новости и свежую аналитику криптовалют, ИИ и фондовых рынков. Будьте на шаг впереди толпы каждый день!

The post NEAR незаметно заменила движок смарт-контрактов под нагрузкой сети appeared first on BeInCrypto.

RSS 14.07.2026 1 137
Источник: https://ru.beincrypto.com/near-zamena-dvizhka-smart-kontraktov-wasmtime/