{
  "id": 7709,
  "title": "EIP-7709: Read BLOCKHASH from storage and update cost",
  "status": "Stagnant",
  "type": "Standards Track",
  "category": "Core",
  "summary": "Reading recent block hashes via the BLOCKHASH opcode currently relies on a special protocol shortcut. This change makes it work like any other storage read, using the EIP-2935 history contract, with matching gas costs. It removes a special case and helps stateless and proving systems treat block hashes uniformly.",
  "impacts": [
    "Transactions calling BLOCKHASH for in-window ancestors will pay materially more gas than today, potentially raising fees in affected use-cases.",
    "Contracts and apps relying on cheap BLOCKHASH must be updated to account for SLOAD-style cold/warm gas costs; some may break or need redesign.",
    "Gas estimation for transactions touching BLOCKHASH must reflect the new cold/warm storage pricing.",
    "Gas estimators, simulators, debuggers, and static analyzers must update BLOCKHASH cost models to use SLOAD cold/warm semantics.",
    "Removes a protocol special case, simplifying execution witness construction and verification for stateless and proving-oriented L2 systems.",
    "No direct operational impact beyond running updated execution clients.",
    "No impact; this is an execution-layer change.",
    "Narrow change: route in-window BLOCKHASH through EIP-2935 storage with cold/warm SLOAD gas accounting and access tracking.",
    "Removes BLOCKHASH as a protocol special case",
    "Aligns gas cost with the actual storage resource accessed",
    "Simplifies witness construction for stateless execution",
    "Keeps recent block hashes consistent with state-access pricing"
  ],
  "discussion_url": "https://ethereum-magicians.org/t/eip-7709-read-blockhash-opcode-from-storage-and-adjust-gas-cost/20052",
  "source_markdown_url": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7709.md",
  "canonical_url": "/latest/eips/7709.json",
  "markdown_url": "/latest/eips/7709.md",
  "citations": [
    {
      "recordId": "eip-7709",
      "artifactPath": "normalized/7709.json",
      "url": "/records/proposal/eip-7709/normalized/7709.json",
      "label": "EIP-7709: Read BLOCKHASH from storage and update cost",
      "snippet": "Reading recent block hashes via the BLOCKHASH opcode currently relies on a special protocol shortcut. This change makes it work like any other storage read, using the EIP-2935 history contract, with matching gas costs. I"
    }
  ]
}
