💬 Компания Dedaub обнаружила ошибку в компиляторе Solidity

Компания Dedaub обнаружила ошибку в компиляторе Solidity
Dedaub, ведущая компания по аудиту безопасности блокчейна, обнаружила ошибку компилятора Solidity, которая влияет на равенство функций и дает представление о ее механике и планируемом решении.
Команда Dedaub недавно объявила об обнаружении ошибки в компиляторе Solidity, влияющей на равенство функций. По словам команды, ошибка была подтверждена и, как ожидается, будет исправлена в следующем выпуске Solidity 0.9.
В подробной ветке Twitter Дедауб объяснил механизм ошибки, ее влияние на компиляцию функций и шаги, предпринимаемые для решения проблемы.
Команда Dedaub обнаружила ошибку компилятора Solidity, которая нарушает равенство функций. Ошибка была подтверждена и, как ожидается, будет исправлена в Solidity 0.9. Давайте углубимся в механику этой ошибки, компиляцию функций и способы ее исправления. ? pic.twitter.com/kkup7SBfSV — Дедауб (@dedaub) 4 апреля 2023 г.
Команда Dedaub обнаружила ошибку компилятора Solidity, которая нарушает равенство функций. Ошибка была подтверждена и, как ожидается, будет исправлена в Solidity 0.9. Давайте углубимся в механику этой ошибки, компиляцию функций и способы ее исправления. ? pic.twitter.com/kkup7SBfSV
Solidity, основной язык программирования для написания смарт-контрактов на блокчейне Ethereum, поддерживает функции более высокого порядка. Это означает, что функции могут сами воздействовать на другие функции. Реализация указателей функций в Solidity тесно связана с базовой реализацией функций, при этом смещения байт-кода первой инструкции используются в качестве идентификаторов функций.
Обнаруженная ошибка связана с оптимизатором компилятора Solidity, который выполняет преобразования с сохранением семантики для экономии газа. Одно из таких преобразований включает повторное использование общих последовательностей инструкций. Проблема возникает, когда первая часть функции содержит общую последовательность инструкций, из-за чего указатели функций потенциально указывают на запись другой функции и объединяются их идентификаторы.
Эта ошибка считается редким, единичным случаем, поскольку большинство смарт-контрактов не используют равенство указателей функций. Разработчики могут обойти эту проблему, временно отключив оптимизацию. Команда Solidity планирует отключить равенство указателей функций в предстоящем выпуске Solidity 0.9, эффективно устраняя ошибку.
Дедауб заявил, что им неизвестно ни о каких случаях равенства функций, используемых в известных протоколах. Обнаружение этой ошибки подчеркивает важность постоянных исследований и сотрудничества между аудиторами кода и разработчиками для поддержания безопасности и целостности экосистемы блокчейна.
Solidity, основной язык программирования для написания смарт-контрактов на блокчейне Ethereum, был первоначально предложен соучредителем Ethereum Гэвином Вудом в 2014 году. Solidity был разработан как высокоуровневый язык со статической типизацией, вдохновленный C++, Python и JavaScript. . Он был создан специально для облегчения разработки смарт-контрактов на платформе Ethereum.
Разработка и последующее внедрение Solidity были вызваны потребностью в языке программирования, который мог бы обеспечить безопасный и надежный способ создания, развертывания и взаимодействия со смарт-контрактами на блокчейне Ethereum. С тех пор язык претерпел многочисленные обновления и улучшения для решения проблем безопасности, улучшения функциональности и оптимизации использования газа. Непрерывная эволюция Solidity внесла значительный вклад в рост экосистемы децентрализованных приложений (dApp), позволяя разработчикам создавать инновационные решения в различных отраслях, таких как финансы, цепочки поставок и игры.
Как язык программирования Solidity столкнулся с проблемами безопасности, масштабируемости и удобства использования. Несколько громких инцидентов, таких как взлом DAO в 2016 году и уязвимость мультиподписного кошелька Parity в 2017 году, выявили потенциальные недостатки Solidity и смарт-контрактов, на которых он основан. Эти инциденты побудили команду Solidity, разработчиков и более широкое сообщество блокчейнов искать улучшения в языке, уделяя особое внимание безопасности и надежности.
В последние годы альтернативные языки смарт-контрактов, такие как Vyper и Rust, стали потенциальными конкурентами Solidity. Несмотря на это, Solidity остается доминирующим языком для разработки смарт-контрактов Ethereum, и активное сообщество постоянно работает над его усовершенствованием и оптимизацией.
Ранее в этом году Дедауб также обнаружил и надлежащим образом раскрыл крупномасштабную уязвимость маршрутизатора Uniswap.
Обнаружение ошибки компилятора Solidity, влияющей на равенство функций, является свидетельством постоянных усилий сообщества блокчейнов по улучшению языка и обеспечению его безопасности. Поскольку Solidity продолжает развиваться, для разработчиков, аудиторов и сообщества блокчейнов в целом крайне важно сотрудничать в устранении потенциальных уязвимостей и повышении надежности экосистемы.
Отказ от ответственности: эта статья предназначена только для информационных целей. Он не предлагается и не предназначен для использования в качестве юридического, налогового, инвестиционного, финансового или иного совета.
Ограничение / снятие ответственности (дисклеймер): Вся информация на этом сайте предоставляется исключительно в информационных целях и не является предложением или рекомендацией к покупке, продаже или удержанию каких-либо ценных бумаг, акций или других финансовых инструментов. Авторы контента не несут ответственности за действия пользователей, основанные на предоставленной информации. Пользователи обязаны самостоятельно оценивать риски и проконсультироваться со специалистами перед принятием каких-либо инвестиционных решений. Вся информация на сайте может быть изменена без предварительного уведомления.
Свежие новости по теме: Криптовалюта, NFT и криптобиржи
-
Криптовалюта и NFT
Эксперт прогнозирует рентгеновский ролики до 32 долларов США после 8 месяцев схемы консолидации
2025-07-28 просмотры: 517 -
Криптовалюта и NFT
Xrp, чтобы «запустить серьезный шаг», если этот уровень нарушится
2025-07-28 просмотры: 406 -
Криптовалюта и NFT
EVM Testnet от Injective добавляет стандартную поддержку Multivm Token
2025-07-28 просмотры: 539 -
Криптовалюта и NFT
105 900 000 Litecoin за 24 часа, LTC -киты установили новую веху
2025-07-28 просмотры: 552 -
Криптовалюта и NFT
Filecoin и Magmar Разблокируйте безопасное хранилище файлов для Web3
2025-07-28 просмотры: 564 -
Криптовалюта и NFT
Xrp eyes $ 2,35 как умные деньги питают бычий импульс
2025-07-28 просмотры: 237 -
Криптовалюта и NFT
Раскрытие критической правды: действительно ли стратегия казначейства биткойн действительно устойчива?
2025-07-28 просмотры: 516 -
Криптовалюта и NFT
WIF имеет ключевую поддержку, поскольку киты накапливают токены более 39 млн.
2025-07-28 просмотры: 406 -
Криптовалюта и NFT
Прогнозы в июле для пользователей крипто -пользователей находятся в том, что ожидать от биткойнов, эфириума, соланы и XRP?
2025-07-28 просмотры: 438