• smart contract decompiler
  • Identifying smart contract vulnerabilities

What it does

  • Web application for exploratory analysis of the smart contracts
  • Machine learning algorithm surfaces similarities between smart contract functions

  • Finds known vulnerabilities in deployed smart contracts by matching patterns of code on per-function basis.

  • Builds the smart contract code reuse index in the scope of the ethereum network

How we built it

  • Decompiled EVM bytecode into abstract syntax tree using
  • Created indexed dataset of >800,000 functions ( reverse-engineered) deployed on mainnet
  • Managed database with Google BigQuery
  • Built specialized index of function implementations
  • Trained ML classifier to identify similar functions from other contracts
  • Built statistics dashboard
  • Built contract explorer web application

Challenges we ran into

  • Tried and failed to use highly complex neural network because of long training time
  • Building Features from Smart contract bytecode using abstract syntax trees

Accomplishments that we're proud of

  • UI/Dashboard is of immediate value to the Ethereum community
  • Discovered a bug in using ML
  • Built ML model that discovered some interesting insights in contract implementations
  • Statistical analysis of smart contract functionality

What's next for Contract Genius

  • What can users discover with this tool?
  • How can developers understand their own functions better?
  • How can this tool be used to identify smart contract vulnerabilities?

About the Authors

Share this project: