Skip to content

Latest commit

 

History

765 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ebso

An EVM Byte code Super Optimizer

The tool ebso automatically finds optimizations for loop-free Ethereum byte code. Therefore ebso employs a method called unbounded superoptimization (Jangda & Yorsh, 2017), which relies on a constraint solver to guarantee correctness of the transformation. Through superoptimization ebso automatically finds programs that need less gas, but are observationally equivalent. The search for these cheaper programs is encoded as an SMT problem, which ebso solves relying on Z3.

Installation and Running

The easiest way to install ebso is using opam. Simply run opam install . after cloning the repository. Afterwards one can run ebso -help for information on how to call ebso.

Example

$ ./ebso -translation-validation 256 -direct "600003600301"
Optimized PUSH 0 SUB PUSH 3 ADD to
PUSH 3 SUB
Saved 6 gas, translation validation successful,
this instruction sequence is optimal.

About

EVM Bytecode Super Optimizer

Resources

Stars

36 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages