Sunday, May 31, 2026
The BLOCKCHAIN Page
No Result
View All Result
  • Home
  • Cryptocurrency
  • Blockchain
  • Bitcoin
  • Market & Analysis
  • Altcoins
  • DeFi
  • Ethereum
  • Dogecoin
  • XRP
  • Regulations
  • NFTs
The BLOCKCHAIN Page
No Result
View All Result
Home Ethereum

Solidity optimizer bug | Ethereum Foundation Blog

by admin
November 9, 2023
in Ethereum
0
Dodging a bullet: Ethereum State Problems
0
SHARES
5
VIEWS
Share on FacebookShare on Twitter


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 habits described within the reported bug was present in a contract through which one methodology ceased functioning when one other – completely unrelated – methodology was added to the contract. After evaluation, it was decided that various situations should exist without delay for the bug to set off. Any mixture of situations that may set off the bug would constantly have the next two situations:

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

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

Evaluation

This bug is current in all launched variations of Solidity from not less than way back to summer season 2015 to the current. Though the bug has been current since 2015, it appears very exhausting 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. Word, the truth that now we have not discovered a bug in all of the contract code doesn’t assure the absence of such occurrences.

Enhancements

To be able to present higher transparency and elevated consciousness of bugs in Solidity, now we have 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 info together with different contract-related info.

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

Regarding 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 shall be a lot simpler to grasp and audit and it’ll change the present optimizer.



Source link

Tags: BlogBugEthereumFoundationOptimizerSolidity
admin

admin

Recommended

Tron Founder Justin Sun Acquires Additional Ethereum amid Market Crash

Tron Founder Justin Sun Acquires Additional Ethereum amid Market Crash

2 years ago
Driving quality assurance through the IBM Ignite Quality Platform

Driving quality assurance through the IBM Ignite Quality Platform

2 years ago

Popular News

  • Protocol-Owned Liquidity: A Sustainable Path for DeFi

    Protocol-Owned Liquidity: A Sustainable Path for DeFi

    0 shares
    Share 0 Tweet 0
  • Cryptocurrency for College: Exploring DeFi Scholarship Models

    0 shares
    Share 0 Tweet 0
  • What are rebase tokens, and how do they work?

    0 shares
    Share 0 Tweet 0
  • What is Velodrome Finance (VELO): why it’s a next-gen AMM

    0 shares
    Share 0 Tweet 0
  • $10 XRP Price Envisioned By Fund Manager As Ripple Mounts Trillion-Dollar Payment Markets ⋆ ZyCrypto

    0 shares
    Share 0 Tweet 0

Latest

I tried Microsoft’s Windows 365 Cloud PC on MacOS, Android, and iOS – here’s what it’s like

I tried Microsoft’s Windows 365 Cloud PC on MacOS, Android, and iOS – here’s what it’s like

May 30, 2026
ReMarkable Paper Pure vs. Boox Go 10.3: I used both tablets at work, and it comes down to this

ReMarkable Paper Pure vs. Boox Go 10.3: I used both tablets at work, and it comes down to this

May 30, 2026

Categories

  • Altcoins
  • Bitcoin
  • Blockchain
  • Cryptocurrency
  • DeFi
  • Dogecoin
  • Ethereum
  • Market & Analysis
  • NFTs & Metaverse
  • Regulations
  • XRP

Follow us

Recommended

  • I tried Microsoft’s Windows 365 Cloud PC on MacOS, Android, and iOS – here’s what it’s like
  • ReMarkable Paper Pure vs. Boox Go 10.3: I used both tablets at work, and it comes down to this
  • Amazon is selling this 75-inch Hisense TV for over $500 off – and I highly recommend it
  • Ripple Makes New Demands From SEC, What Are They Asking For?
  • This Lenovo laptop I tested rivals the MacBook Air in ways Windows PCs once struggled in
  • About us
  • Privacy Policy
  • Terms & Conditions

© 2023 TheBlockchainPage | All Rights Reserved

No Result
View All Result
  • Home
  • Cryptocurrency
  • Blockchain
  • Bitcoin
  • Market & Analysis
  • Altcoins
  • DeFi
  • Ethereum
  • Dogecoin
  • XRP
  • Regulations
  • NFTs

© 2023 TheBlockchainPage | All Rights Reserved