💬 Компания 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
SEC для хранения Crypto Croundtable, так как A16Z призывает к самостоятельному обращению для RIAS для RIAS
2025-04-30 просмотры: 216 -
Криптовалюта и NFT
Приток сети Solan
2025-04-30 просмотры: 176 -
Криптовалюта и NFT
Биткойн Хэшрат достигает рекордно высокого уровня среди распродаж шахтеров
2025-04-30 просмотры: 302 -
Криптовалюта и NFT
Spoonos запускается с экосистемным фондом за 2 млн долларов для власти AI Ag Agent Economy на Web3
2025-04-30 просмотры: 393 -
Криптовалюта и NFT
Аналитик говорит, что терпение наиболее важное ингредиент для кардано, нацеленного на 10 долларов США на фоне чашки N
2025-04-30 просмотры: 200 -
Криптовалюта и NFT
Большой приток попадает в Ethereum: снова ли снизится цена?
2025-04-30 просмотры: 347 -
Криптовалюта и NFT
Аурадин собирает 153 млн. Долларов серии C для майнинга биткойнов, сети с предоставленными искусственными данными.
2025-04-30 просмотры: 223 -
Криптовалюта и NFT
Биткойн и американские акции показывают ранние признаки исчезающей корреляции
2025-04-30 просмотры: 367 -
Криптовалюта и NFT
XRP проводит еженедельный Киджун-Сен, так как аналитик говорит, что он может похвастаться самой сильной диаграммой, нацеленной на 4,50 доллара США.
2025-04-30 просмотры: 206