Overview
Syllabus
Intro
Trail of Bits Cyber security research company - High-end security research with a real- world attacker mentality to reduce risk and fortify code. Security Engineering
Prompt
Ethereum Implementation
Accounts and Transactions and Blocks
EVM: Ethereum Virtual Machine
ABI and Address Spaces
Sample Contract Creation
Sample Contract Death
Sample Contract Usage (3)
Solidity Behaviors and Issues
Uninitialized Variables
Not So Smart Contracts
Ethersplay Binary Ninja Plugin
IDA-EVM IDA Pro Module
Mythril
Manticore
Storage Requirements Check stackexchange first.
Geth and Parity
Geth Running Options
Client Operation Suggestions
Answering Questions
Tracing
Who? What? When?
Blockchain Data
The Block in Blockchain
web3.js and web3.py web3.js is official client library
Finding Contracts
Geth Experience Geth crashing with synemode fast-consistently - new install
Parity Experience
Hybrid Approach
Empty Code Results
First Contract Creation Block 46402 (2015-08-07)
First Contract "Creation" (With Enough Gas)
First Contract Creation (With Code)
Top Duplicates (3)
Massive selfdestruct (2)
Criteria
Creator != selfdestruct destination
10,000 ETH!
Creator != selfdestruct transaction originator
300ETH selfdestruct
Etherwow
Becoming Mortal
Conclusion
Taught by
Black Hat