Making Smart Contracts Smarter

Reference: Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor (2016). ACM CCS 2016. Source file: 2016-633.pdf. URL

Summary

Investigates security bugs in Ethereum smart contracts arising from a semantic gap between developers’ intuitions and the actual behaviour of the underlying platform. The authors document four classes of vulnerability — transaction-ordering dependence, timestamp dependence, mishandled exceptions, and reentrancy — and formalise a lightweight operational semantics (EtherLite) for EVM execution.

They propose protocol-level remediations (guarded transactions, deterministic timestamps, better exception propagation) and build OYENTE, a symbolic-execution tool that analyses EVM bytecode directly. Running OYENTE on 19,366 live contracts flagged 8,833 as potentially buggy, including TheDAO.

Key Ideas

  • Semantic gap between Solidity intent and EVM reality causes systemic bugs
  • Transaction-ordering dependence (TOD): miners reorder within a block
  • Reentrancy exploited in TheDAO ($60M loss)
  • Symbolic execution over EVM bytecode as audit tool
  • “Guarded transactions” proposal: require expected-state precondition

Connections

Conceptual Contribution

Tags

#smart-contracts #ethereum #security #symbolic-execution #formal-semantics

Backlinks