Close Menu
    Trending
    • Ethereum Set To Hit $10,000, Elliott Wave Analysis Predicts
    • Finland Joins The Bitcoin Conference Map With BTCHel
    • Binance Launches BNB Cryptoback Program with $150K Prize Pool
    • Proponent Suggests the XRP Price Can 6x From Here, But is it Realistic?
    • House Passes Major Bills During ‘Crypto Week,’ But Significant Changes May Take Time
    • US House Passes Bitcoin, Crypto Market Structure Bill The CLARITY Act
    • Block Inc. Joins S&P 500, Marking Bitcoin Fintech Milestone
    • Bitcoin Price Record Highlights US Dollar Weakness
    Simon Crypto
    • Home
    • Crypto Market Trends
    • Bitcoin News
    • Crypto Mining
    • Cryptocurrency
    • Blockchain
    • More
      • Altcoins
      • Ethereum
    Simon Crypto
    Home»Ethereum»Solidity optimizer bug | Ethereum Foundation Blog
    Ethereum

    Solidity optimizer bug | Ethereum Foundation Blog

    Team_SimonCryptoBy Team_SimonCryptoJanuary 31, 2025No Comments3 Mins Read
    Share
    Facebook Twitter LinkedIn Pinterest Email


    A bug within the Solidity optimizer was reported by means of the Ethereum Foundation Bounty program, by Christoph Jentzsch. This bug is patched as of 2017-05-03, with the discharge of Solidity 0.4.11.

    Background

    The bug in query involved how the optimizer optimizes on constants within the byte code. By “byte code constants”, we imply something which is PUSHed on the stack (to not be confused with Solidity constants). For instance, if the worth 0xfffffffffffffffffffffffffffffffffffffffffffffffe is PUSHed, then the optimizer can both do PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffe, or select to encode this as PUSH1 1; NOT;.

    An error within the optimizer made optimizations of byte code constants fail for sure instances by producing a routine that didn’t correctly recreate the unique fixed.

    The conduct described within the reported bug was present in a contract through which one technique ceased functioning when one other – completely unrelated – technique was added to the contract. After evaluation, it was decided that quite a few situations should exist without delay for the bug to set off. Any mixture of situations that might set off the bug would persistently have the next two situations:

    1. The fixed wants to start out with 0xFF… and finish with an extended collection of zeroes (or vice versa).
    2. The identical fixed must be utilized in a number of areas, for the optimizer to decide on to optimize this specific fixed. Alternatively, it must be used within the constructor, which optimises for dimension somewhat than gasoline.

    Along with the 2 situations above, there are additional, extra sophisticated situations which can be required.

    Evaluation

    This bug is current in all launched variations of Solidity from a minimum of way back to summer season 2015 to the current. Though the bug has been current since 2015, it appears very onerous to set off by “random” code:

    We carried out a static evaluation of all contract code deployed on the blockchain, and located no prevalence of such an invalidly generated routine. Observe, the truth that we’ve not discovered a bug in all of the contract code doesn’t assure the absence of such occurrences.

    Enhancements

    With a purpose to present higher transparency and elevated consciousness of bugs in Solidity, we’ve began exporting details about Solidity-related vulnerabilities as JSON-files within the Solidity code repository(1,2). We hope that block explorers will combine this data together with different contract-related data.

    Etherscan has already carried out this, which might be seen here and here.

    In regards to the bug itself, we added a mini-EVM to the optimizer which verifies the correctness of every generated routine at compile time.

    Moreover, work has already began on a fully-specified and extra high-level intermediate language. Future optimizer routines on this language can be a lot simpler to know and audit and it’ll exchange the present optimizer.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

    Related Posts

    Traders are bullish on ETH as price begins to catch up with the tech

    July 19, 2025

    Volume 50% Higher Than BTC’s

    July 19, 2025

    Massive Ethereum Accumulation: Bit Digital Crosses 120,000 ETH With Latest Buy

    July 19, 2025

    SharpLink Gaming To Buy $5 Billion In Ethereum: Supply Shock Incoming?

    July 19, 2025
    Add A Comment
    Leave A Reply Cancel Reply

    Categories
    • Altcoins
    • Bitcoin News
    • Blockchain
    • Crypto Market Trends
    • Crypto Mining
    • Cryptocurrency
    • Ethereum
    Archives
    • July 2025
    • June 2025
    • May 2025
    • April 2025
    • March 2025
    • February 2025
    • January 2025
    • December 2024
    • November 2024
    Archives
    • July 2025
    • June 2025
    • May 2025
    • April 2025
    • March 2025
    • February 2025
    • January 2025
    • December 2024
    • November 2024
    Top Posts

    Ethereum ETFs Hit Record $4.8B Inflows Amid 15-Day Streak

    June 7, 2025

    ad

    About us

    Welcome to SimonCrypto.in, your ultimate destination for everything crypto! Whether you’re a seasoned investor, a blockchain enthusiast, or just beginning your journey into the fascinating world of cryptocurrencies, we’re here to guide you every step of the way.

    At SimonCrypto.in, we are passionate about demystifying the complex world of digital currencies and blockchain technology. Our mission is to provide insightful, accurate, and up-to-date information to empower our readers to make informed decisions in the ever-evolving crypto space.

    Top Insights

    What Does SAFU Mean in Crypto?

    December 12, 2024

    The ethereum.org Translatathon is back

    December 5, 2024

    Binance Captures 94% Airdrop Market Share Driving User Engagement, Dominance

    July 2, 2025
    Categories
    • Altcoins
    • Bitcoin News
    • Blockchain
    • Crypto Market Trends
    • Crypto Mining
    • Cryptocurrency
    • Ethereum
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2024 SimonCrypto All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.