Новости ChainCatcher, команда охранной компании Dedaub обнаружила уязвимость в компиляторе Solidity языка программирования Ethereum, из-за которой байт-код развернутого контракта включал мертвый код, что значительно увеличивало стоимость газа при развертывании и эксплуатации смарт-контрактов. Дедауб сказал, что команда обнаружила ошибку при оценке Gigahorse, бинарного сплиттера с открытым исходным кодом. Уязвимость возникает, когда библиотечный метод вызывается только конструктором контракта.
С помощью анализа Gigahorse Дедауб обнаружил, что по крайней мере 35% контрактов содержали мертвый код, 33% из которых составляли большую часть байт-кода, который они выполняли. В этих результатах преобладают прокси-серверы NFT, но другие прокси-контракты страдают от той же проблемы. Для крупных контрактов эту проблему можно игнорировать, но большинство развернутых контрактов имеют небольшой размер. Команда Dedain обнаружила ошибку в ноябре прошлого года и предупредила команду Solidity, чтобы она подтвердила проблему. (ссылка на источник)
