Generated by GPT-5-mini| EIP-162 | |
|---|---|
| Title | EIP-162 |
| Status | Final |
| Author | Vitalik Buterin |
| Type | Standards Track |
| Category | Core |
| Created | 2016 |
EIP-162
EIP-162 is a standards-track proposal that altered gas metering and access list behavior in the Ethereum protocol, proposing changes that affected Geth, Parity Technologies, Ethereum Classic, Metamask, and Infura clients; it was authored during discussions involving Vitalik Buterin, Gavin Wood, Joseph Lubin, Jamie Burke, and contributors from the Ethereum Foundation and Consensys. The proposal addressed interaction issues between precompiled contracts, EVM opcode gas costs, and transaction validity rules as implemented by diverse clients such as Go-Ethereum, OpenEthereum, and Besu, and it influenced subsequent protocol revisions considered by the Ethereum Core Developers and reviewed by teams at Microsoft Research, Princeton University, Stanford University, and MIT Media Lab.
EIP-162 arose amid interoperability problems observed after deployments that involved clients like Geth, Parity Technologies, Nethermind, Pantheon, and testnets such as Ropsten, Kovan, Rinkeby, and Ropsten Classic; these issues were discussed at Devcon1, Devcon2, EthCC, and in communication channels involving the Ethereum Foundation and representatives from Consensys, Blockstream, Chainlink Labs, and Parity developers. The need for EIP-162 was animated by past incidents including the DAO fork, the Parity multi-sig bug, and discrepancies highlighted in academic examinations at Cornell University and the University of California, Berkeley that compared EVM behavior across implementations such as Geth and Parity OpenEthereum, creating calls for a standardized approach to gas accounting and precompile semantics discussed in forums like GitHub, Reddit, and Stack Exchange.
The specification defined deterministic gas accounting rules and access list semantics for opcodes and precompiled contracts, reconciling differences between implementations maintained by Ethereum Foundation engineers, Parity Technologies maintainers, and contributors from ConsenSys and PegaSys. It enumerated opcode gas costs, precompile invocation effects, and transaction validity conditions referenced by client codebases including go-ethereum, openethereum, nethermind, and hyperledger-besu. The document described expected behavior for calls to addresses associated with precompiles used by projects like Uniswap, MakerDAO, 0x Project, and Chainlink and outlined test vectors to be integrated into EthereumJS Test suites, Truffle migrations, and continuous integration workflows on GitHub Actions used by teams at Infura and Alchemy.
The rationale argued that harmonizing gas semantics would reduce consensus failures and client divergence observed during hard forks such as the Byzantium and Constantinople upgrades and would preempt subtle transaction malleability and denial-of-service vectors affecting services like MetaMask, Etherscan, and Blockchair. Authors cited analyses from Formal Verification groups at Parity Technologies Research, Runtime Verification, and academic labs at ETH Zurich and Imperial College London that documented inconsistencies between EVM implementations and recommended specification-level fixes to support projects like Augur, Gnosis, Synthetix, and Compound.
Implementations were merged into major client repositories including go-ethereum maintained by Ethereum Foundation contributors, openethereum maintained by Parity Technologies, nethermind maintained by Nethermind Ltd., and besu maintained by Hyperledger contributors. Deployment timelines were coordinated through core developer meetings attended by representatives from Consensys, Parity Technologies, PegaSys, Infura, and major exchanges such as Binance, Coinbase, and Kraken, with testnet activation and client releases staged before mainnet adoption during coordinated upgrade windows similar to those used for Istanbul and Muir Glacier upgrades.
Security analyses referenced mitigations against denial-of-service patterns previously exploited in incidents like the Parity wallet exploit and emphasized compatibility testing across toolchains including Truffle, Hardhat, web3.js, and ethers.js used by teams at BlockFi and Chainalysis. The specification included conservative fallbacks to avoid breaking smart contract behavior relied upon by protocols such as Compound, Aave, MakerDAO, and decentralized exchanges including Uniswap and SushiSwap; audits were performed by security firms like Trail of Bits, OpenZeppelin, and Least Authority and discussed at community review sessions with researchers from NYU and CMU.
Community reception involved broad discussion among protocol stakeholders including Ethereum Foundation, Parity Technologies, Consensys, major exchanges (Coinbase, Binance), infrastructure providers (Infura, Alchemy), and research groups at MIT, Stanford, and Princeton; follow-up proposals and clarifications were drafted in response to implementation feedback from Geth and OpenEthereum maintainers. The changes influenced subsequent EIPs and client test suites, informed best practices for projects like Uniswap, Compound, MakerDAO, and Aave, and contributed to the ongoing evolution of the Ethereum protocol as it continued through upgrades and community governance processes including hard forks and coordinated client releases.
Category:Ethereum improvement proposals