Advertisement

EthIR: A Framework for High-Level Analysis of Ethereum Bytecode

  • Elvira Albert
  • Pablo GordilloEmail author
  • Benjamin Livshits
  • Albert Rubio
  • Ilya Sergey
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11138)

Abstract

Analyzing Ethereum bytecode, rather than the source code from which it was generated, is a necessity when: (1) the source code is not available (e.g., the blockchain only stores the bytecode), (2) the information to be gathered in the analysis is only visible at the level of bytecode (e.g., gas consumption is specified at the level of EVM instructions), (3) the analysis results may be affected by optimizations performed by the compiler (thus the analysis should be done ideally after compilation). This paper presents EthIR, a framework for analyzing Ethereum bytecode, which relies on (an extension of) Oyente, a tool that generates CFGs; EthIR produces from the CFGs, a rule-based representation (RBR) of the bytecode that enables the application of (existing) high-level analyses to infer properties of EVM code.

References

  1. 1.
    Oyente: An Analysis Tool for Smart Contracts (2018). https://github.com/melonproject/oyente
  2. 2.
    Albert, E., et al.: Object-sensitive cost analysis for concurrent objects. STVR 25(3), 218–271 (2015)CrossRefGoogle Scholar
  3. 3.
    Albert, E., et al.: SACO: static analyzer for concurrent objects. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 562–567. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-642-54862-8_46CrossRefGoogle Scholar
  4. 4.
    Chow, J.: Ethereum, Gas, Fuel & Fees, 2016. Published online on June 23, 2016. https://media.consensys.net/ethereum-gas-fuel-and-fees-3333e17fe1dc
  5. 5.
    Grishchenko, I., Maffei, M., Schneidewind, C.: A semantic framework for the security analysis of ethereum smart contracts. In: Bauer, L., Küsters, R. (eds.) POST 2018. LNCS, vol. 10804, pp. 243–269. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-89722-6_10CrossRefGoogle Scholar
  6. 6.
    Hirai, Y.: Defining the ethereum virtual machine for interactive theorem provers. In: Brenner, M., Rohloff, K., Bonneau, J., Miller, A., Ryan, P.Y.A., Teague, V., Bracciali, A., Sala, M., Pintore, F., Jakobsson, M. (eds.) FC 2017. LNCS, vol. 10323, pp. 520–535. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-70278-0_33CrossRefGoogle Scholar
  7. 7.
    Kalra, S., Goel, S., Dhawan, M., Sharma, S.: Zeus: Analyzing safety of smart contracts. In: NDSS (2018, to appear)Google Scholar
  8. 8.
    Luu, L., Chu, D., Olickel, H., Saxena, P., Hobor, A.: Making smart contracts smarter. In: CCS, pp. 254–269. ACM (2016)Google Scholar
  9. 9.
    Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008)Google Scholar
  10. 10.
    Nikolic, I., Kolluri, A., Sergey, I., Saxena, P., Hobor, A.: Finding the Greedy, Prodigal, and Suicidal Contracts at Scale. CoRR, abs/ arXiv:1802.06038 (2018)
  11. 11.
    Vallée-Rai, R., Co, P., Gagnon, E., Hendren, L.J., Lam, P., Sundaresan, V.: Soot - a java bytecode optimization framework. In: CASCON (1999)Google Scholar
  12. 12.
    Wood, G.: Ethereum: a secure decentralised generalised transaction ledger (2014)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Elvira Albert
    • 1
  • Pablo Gordillo
    • 1
    Email author
  • Benjamin Livshits
    • 2
  • Albert Rubio
    • 3
  • Ilya Sergey
    • 4
  1. 1.Universidad Complutense de MadridMadridSpain
  2. 2.Imperial College LondonLondonUK
  3. 3.Universitat Politècnica de CatalunyaBarcelonaSpain
  4. 4.University College LondonLondonUK

Personalised recommendations