Статьи

Отключение Solana вызывает вопросы о статусе бета-версии

6 февраля в 10:22 UTC в сети Solana произошел серьезный сбой, из-за которого производство блоков было остановлено более чем на пять часов, прежде чем валидаторы перезапустили сеть.

«Инженеры всей экосистемы расследуют сбой в бета-версии основной сети. Эта тема будет обновляться по мере поступления дополнительной информации». – SolanaStatus, 6 февраля 2024 г.

Это не первый раз, когда Солана падает. С января 2022 года в Solana произошло около полдюжины длительных и пятнадцати частичных отключений.

Инциденты варьировались по степени тяжести от частичных до полных сбоев сети и были вызваны уязвимостями программного обеспечения в сети, а также атаками типа «отказ в обслуживании» и истощением ресурсов.

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

Причина неудачи

9 февраля Солана опубликовала отчет о недавнем сбое с подробным описанием причины и того, как валидаторы перезапустили сеть. В отчете говорится, что в кэше компиляции Solana Just-in-Time (JIT), который компилирует все программы перед выполнением транзакции, была обнаружена ошибка.



Ранее JIT-кэш был реализован с использованием «ExecutorsCache», однако в версии 1.16 ExecutorsCache был заменен новой реализацией под названием «LoadedPrograms». Новая программа-загрузчик использовала учетные данные, хранящиеся в сетевой учетной записи программы, чтобы найти последний слот развертывания и использовать ее для расчета эффективной высоты слота.

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

Остин ФедераГлава стратегии Solana сообщил журналистам, что идет процесс замены старой системы загрузчика на новую.

«Похоже, что кто-то намеренно вызвал этот старый набор инструкций, который уже довольно давно не использовался, но все еще присутствовал в базе кода. У JIT-компилятора возникли проблемы: он не мог найти то, что искал. И это создало бесконечный цикл».

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

Некоторые критики утверждают, что существенным фактором, способствующим неудачам Solana, является отсутствие разнообразия клиентов, что приводит к потенциальным центральным точкам неудач. Кадан Стадельманн, технический директор децентрализованной платформы обмена с открытым исходным кодом Komodo, сказал, что разработчики и валидаторы Solana отдают приоритет быстрой доставке кода, а не поддержанию идеального времени безотказной работы сети, добавив:

«Основная причина — централизация и отсутствие возможностей клиент-валидатора. Акцент Solana на высокой пропускной способности и сокращении времени транзакций оказывает огромное давление на ее инфраструктуру, делая ее уязвимой для снижения производительности и сбоев».

Однако Федера предполагает, что Solana имеет гораздо более точную архитектуру, и объясняет, что только две сети смарт-контрактов в мире имеют независимых клиентов-валидаторов: Ethereum и Solana. В настоящее время у Solana есть один основной клиент-валидатор, построенный на единой функциональной базе кода.

«У Соланы никогда не было сбоев из-за ошибок консенсуса или чего-то подобного. Проблемы всегда были в деталях реализации. Всегда где-то на уровне реализации была ошибка, что не лучше и не хуже. Это просто важный тип точности», — объяснил Остин.

Бета или не бета?

Блокчейн Solana был запущен в марте 2020 года, и за следующие четыре года сеть добилась значительных успехов в экосистеме децентрализованных финансов (DeFi). Solana является пятой по величине сетью DeFi по общей заблокированной стоимости, с капиталом более 1,7 миллиарда долларов, выделенным на различные внутрисетевые протоколы. Собственный токен Соланы имеет рыночную оценку около 49 миллиардов долларов, что делает его пятой по величине криптовалютой.

Несмотря на свой превосходный послужной список, Solana официально так и не вышла из бета-фазы. Блокчейн по-прежнему считается бета-версией в основной сети. Бета — это термин, обозначающий почти готовое программное обеспечение, которое перед официальным запуском тестируется широкой группой пользователей.

Однако блокчейн Solana открыт для всех, и для запуска различных продуктов используются сотни децентрализованных приложений. Блокчейн Solana также может похвастаться динамичной экосистемой невзаимозаменяемых токенов (NFT).

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

Хотя код все еще меняется, Solana выходит далеко за рамки того, что можно считать бета-версией программного обеспечения. Сохраняющееся заблуждение возникает из-за путаницы между тестированием перед запуском и зрелостью программного обеспечения после запуска, а также из-за неправильных представлений относительно сообщений Соланы.

Статус бета-версии вызвал много критики в адрес блокчейна, особенно в свете его сбоев за последние два года. Пользователи криптовалюты в социальных сетях часто высмеивают Солану за то, что статус основного блокчейна часто меняется на бета-версию основной сети и обратно, в зависимости от того, работает ли блокчейн.

«Сколько отключений произошло в Солане за последние месяцы? «Это бета-версия» больше не является оправданием». – Дэвид Миллер (@CryptoDavid_) 1 мая 2022 г.

Федера заявил, что большинство блокчейн-систем сегодня находятся на стадии бета-тестирования и что только Биткойн и Эфириум, скорее всего, будут полноценными сетями, и пояснил:

«Программным системам требуется много времени, чтобы стабилизироваться и стать полностью функциональными, поскольку важные новые функции все еще поставляются в сеть Solana. Я думаю, что мы, вероятно, приближаемся к концу бета-фазы. С технологической точки зрения одной из важных вех станет запуск второго независимого клиента-валидатора».

Многие сторонники DeFi считают, что простота Solana является определенным препятствием на пути к ее цели стать конкурентом Ethereum. Однако разработчики поработали над тем, чтобы ошибки, вызывавшие простои в прошлом, не повлияли на работу сети в будущем. Несмотря на историю простоев, высокая скорость и низкая стоимость Solana продолжают играть ключевую роль в привлечении новых проектов на платформу.


Подборка статей по криптовалютам и технологии блокчейн. Подпишитесь на нас в социальных сетях.

Информация для Вас была полезна?
0
0
0
0
0
0
0

Похожие статьи

Проверьте также
Закрыть
Кнопка «Наверх»