(EIP-1155) Transient Storage on Op-Geth

(EIP-1153) Implementation of Transient Storage in Optimism-Geth

(EIP-1155) Transient Storage on Op-Geth

Created At

ETHSanFrancisco 2022

Project Description

Implementation of Transient Storage in EVM using op-geth codebase (go-ethereum fork) for development. Transient Storage is defined within EIP-1153 as a temporary state storage mapping that only exists for the duration of a single EVM transaction. All contracts within a transaction call graph will have access to the same transient storage. Transient Storage supports constant gas costs (100 gas) for reads and writes; making it a more effective substitute than standard contract storage for transaction contextual data. The project produces a MVP example showcasing Transient Storage used to block a re-entrancy attempt from a malicious callee contract.

How it's Made

Go-ethereum or Ethereum node implementation is the only real technology used. Execution of Transient Storage was verified through a series of unit tests and manual tests that emulated re-entrancy guarding from one contract to another. Transient Storage is constructed at the beginning of a Ethereum state transition and propagated through the EVM during contract calls.

All test bytecode was written from scratch using public opcode references and EVM playground. Re-entrancy guard test case also bootstraps minimal world state with necessary contract bytecodes.

background image mobile

Join the mailing list

Get the latest news and updates