Porosity A Decompiler For Blockchain Based Smart Contracts Bytecode
Porosity A Decompiler For Blockchain Based Smart Contracts Bytecode
Summary
### Decompiling the Ethereum Virtual Machine At 00:00, Matt Suiche introduces Porosity, the first open-source decompiler designed specifically for Ethereum Virtual Machine (EVM) smart contract bytecode. He explains that while the Ethereum ecosystem was experiencing exponential growth with decentralized applications (DApps) and initial coin offerings (ICOs), auditing deployed smart contracts remained severely hindered: source code on the blockchain is optional, leaving the majority of deployed contracts available only as raw, unverified bytecode.
### EVM Architecture and Bytecode Challenges At 06:15 and 11:30, Suiche breaks down the operational constraints of the EVM. As a 256-bit stack-based execution environment without traditional CPU registers, analyzing EVM bytecode presents unique reverse-engineering hurdles. Operands must be pushed and popped sequentially, and control flow transitions (via `JUMP` and `JUMPI` opcodes) rely on dynamically computed destination addresses on the stack. Porosity solves this by parsing raw opcodes, mapping jump destinations, and reconstructing complete Control Flow Graphs (CFGs).
### SSA Intermediate Representation and AST Generation At 18:13, the presentation details how Porosity lifts EVM stack instructions into an intermediate Static Single Assignment (SSA) representation. By tracking stack depth and variable propagation, the tool identifies basic blocks, recovers loop structures, and synthesizes an Abstract Syntax Tree (AST). Suiche explains how the decompiler reconstructs high-level Solidity constructs, including function selectors, function dispatch tables, fallback functions, and public storage variables.
### Automated Vulnerability Scanning and Bytecode Auditing At 24:45 and 30:10, Suiche showcases Porosity's integrated static analysis capabilities. Beyond generating human-readable Solidity-like code, Porosity performs automated vulnerability scanning directly on raw bytecode. The engine detects dangerous programming patterns—such as the infamous reentrancy vulnerability that drained The DAO, unhandled send exceptions, timestamp dependencies, and arbitrary `DELEGATECALL` operations that permit malicious storage overwrite.
### Integrating Decompilation into Blockchain Security Concluding at 34:58, Suiche demonstrates live decompilation of production smart contracts deployed on the Ethereum mainnet. He emphasizes that as billions of dollars flow into autonomous smart contracts, relying solely on voluntarily published source code is insufficient for enterprise security. By integrating automated bytecode decompilation into security auditing pipelines, researchers can independently analyze, monitor, and defend decentralized financial infrastructure.
(AI summary — Gemini 3.8 Flash)
Related talks
Cryptocurrency·19 min
Josh Datko · Chris Quartier
Breaking Bitcoin Hardware Wallets
Creator Stage·25 min
Michael Schloh MsvB · Chad Calease · Param D Pithadia
Introduces the DEF CON cryptocurrency track, covering emerging industry trends, upcoming workshops, the vendor area, and the Cryptocurrency Cyber Challenge.


