Skip to main content

Ethereum: State of Knowledge and Research Perspectives

  • Conference paper
  • First Online:
Foundations and Practice of Security (FPS 2017)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 10723))

Included in the following conference series:

Abstract

Ethereum is a major blockchain-based platform for smart contracts – Turing complete programs that are executed in a decentralized network and usually manipulate digital units of value. A peer-to-peer network of mutually distrusting nodes maintains a common view of the global state and executes code upon request. The stated is stored in a blockchain secured by a proof-of-work consensus mechanism similar to that in Bitcoin. The core value proposition of Ethereum is a full-featured programming language suitable for implementing complex business logic.

Decentralized applications without a trusted third party are appealing in areas like crowdfunding, financial services, identity management, and gambling. Smart contracts are a challenging research topic that spans over areas ranging from cryptography, consensus algorithms, and programming languages to governance, finance, and law.

This paper summarizes the state of knowledge in this field. We provide a technical overview of Ethereum, outline open challenges, and review proposed solutions. We also mention alternative smart contract blockchains.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Smallest denomination of ether: 1 ether = \(10^{18}\) wei.

  2. 2.

    Addresses are usually written in hex with a 0x prefix.

  3. 3.

    See [ato16] for a visual interpretation of the block structure in Ethereum.

  4. 4.

    In June 2016, an unknown hacker exploited a vulnerability in the DAO code and withdrew around $50 million, leading to a controversial [ETC16] hard fork.

  5. 5.

    See [May16] for a study of ECDSA security in Bitcoin and Ethereum.

  6. 6.

    Though Keccak256 is the winning proposal in the SHA3 competition, it differs from the officially standardized SHA3. SHA3 in the Ethereum documentation and source code refers to Keccak256.

  7. 7.

    Ethash is also referred to as Dagger-Hashimoto. Official documentation [Eth17a] states that Ethash “is the latest version of Dagger-Hashimoto, although it can no longer appropriately be called that since many of the original features of both algorithms have been drastically changed”.

  8. 8.

    A commonly used term “51% attack” is not precisely correct: “51%” here means “strictly greater than 50%”.

  9. 9.

    Interestingly, the reference Bitcoin implementation uses checkpoints to skip validation of very old blocks for efficiency, effectively providing finality for transactions older than the latest checkpoint [Bit16].

  10. 10.

    Except those using dedicated privacy-preserving cryptographic techniques, e.g., Dash, Monero, Zcash.

  11. 11.

    Decompiling bytecode to source code is hardly possible as the information about function and variable names is lost during compilation; nevertheless it is possible to display bytecode as a sequence of mnemonics or convert it into an intermediate higher-level representation suitable for analysis.

  12. 12.

    This bug led to the DAO hack of 2016.

  13. 13.

    A technical response to this issue could be updateable contracts: users communicate with a proxy contract, which redirects their transactions to the latest version of the main contract. Such scheme assumes that the developers are honest and competent so that the latest update does not run away with everyone’s money.

References

  1. Atzei, N., Bartoletti, M., Cimoli, T.: A survey of attacks on Ethereum smart contracts (SoK). In: Maffei, M., Ryan, M. (eds.) POST 2017. LNCS, vol. 10204, pp. 164–186. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54455-6_8

    Chapter  Google Scholar 

  2. EFF Action. Stop the BitLicense (2015). https://act.eff.org/action/stop-the-bitlicense

  3. Andreev, O.: Proof that proof-of-work is the only solution to the Byzantine generals’ problem (2014). http://nakamotoinstitute.org/mempool/proof-that-proof-of-work-is-the-only-solution-to-the-byzantine-generals-problem/

  4. atomh33ls. Ethereum block architecture (2016). https://ethereum.stackexchange.com/a/6413/5113

  5. Augur (2017). https://augur.net/

  6. Bhargavan, K., Delignat-Lavaud, A., Fournet, C., Gollamudi, A., Gonthier, G., Kobeissi, N., Kulatova, N., Rastogi, A., Sibut-Pinote, T., Swamy, N., Zanella-Béguelin, S.: Formal verification of smart contracts: short paper. In: Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security, PLAS 2016, pp. 91–96. ACM, New York (2016)

    Google Scholar 

  7. Bentov, I., Gabizon, A., Mizrahi, A.: Cryptocurrencies without proof of work. In: Clark, J., Meiklejohn, S., Ryan, P.Y.A., Wallach, D., Brenner, M., Rohloff, K. (eds.) FC 2016. LNCS, vol. 9604, pp. 142–157. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53357-4_10

    Chapter  Google Scholar 

  8. bitcoin/src/chainparams.cpp (2016). https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L146

  9. Block size limit controversy (2017). https://en.bitcoin.it/wiki/Block_size_limit_controversy

  10. Cryptocurrency statistics (2017). https://bitinfocharts.com/

  11. Bitnodes.21.co. Global Bitcoin nodes distrubution (2017). https://bitnodes.21.co/

  12. Biryukov, A., Khovratovich, D., Tikhomirov, S.: Findel: secure derivative contracts for Ethereum (2017). https://hdl.handle.net/10993/30975

  13. Bonneau, J., Miler, A., Clark, J., Narayanan, A., Kroll, J.A., Felten, E.W.: Research perspectives and challenges for Bitcoin and cryptocurrencies. Cryptology ePrint Archive, Report 2015/261 (2015). http://eprint.iacr.org/2015/261

  14. Bartoletti, M., Pompianu, L.: An empirical analysis of smart contracts: platforms, applications, and design patterns. CoRR, abs/1703.06322 (2017)

    Google Scholar 

  15. Buchman, E.: Understanding the Ethereum trie (2014). https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/

  16. Buterin, V.: Dagger: a memory-hard to compute, memory-easy to verify Scrypt alternative (2013). http://www.hashcash.org/papers/dagger.html

  17. Buterin, V.: Casper the friendly finality gadget (2016). https://github.com/ethereum/research/blob/master/casper4/papers/casper_paper.md

  18. Buterin, V.: Long-term gas cost changes for IO-heavy operations to mitigate transaction spam attacks (2016). https://github.com/ethereum/eips/issues/150

  19. Buterin, V.: Casper the friendly finality gadget (2017). http://vitalik.ca/files/casper_note.html

  20. Buterin, V.: Design rationale (2017). https://github.com/ethereum/wiki/wiki/Design-Rationale

  21. Buterin, V.: Minimal slashing conditions (2017). https://medium.com/@VitalikButerin/minimal-slashing-conditions-20f0b500fc6c

  22. Buterin, V.: New experimental programming language (2017). https://github.com/ethereum/viper

  23. Castor, A.: One of Ethereum’s earliest smart contract languages is headed for retirement (2017). https://www.coindesk.com/one-of-ethereums-earliest-smart-contract-languages-is-headed-for-retirement/

  24. Chain (2017). https://chain.com/

  25. Protecting the integrity of digital assets (2017). https://www.chainalysis.com/

  26. Church, A.: A note on the Entscheidungs problem. J. Symb. Logic 1(1), 40–41 (1936)

    Article  MATH  Google Scholar 

  27. Castro, M., Liskov, B.: Practical Byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst. 20(4), 398–461 (2002)

    Article  Google Scholar 

  28. Chen, T., Li, X., Luo, X., Zhang, X.: Under-optimized smart contracts devour your money. In: SANER, pp. 442–446. IEEE Computer Society (2017)

    Google Scholar 

  29. Cryptocurrency market capitalizations (2017). https://coinmarketcap.com/

  30. Coindesk. ICO tracker (2017). https://www.coindesk.com/ico-tracker/

  31. Ethereum contract security techniques and tips (2016). https://github.com/ConsenSys/smart-contract-best-practices

  32. Corda (2017). https://www.corda.net/

  33. Chen, L., Xu, L., Shah, N., Gao, Z., Lu, Y., Shi, W.: Decentralized execution of smart contracts: agent model perspective and its implications (2017). http://fc17.ifca.ai/wtsc/Decentralized%20Execution%20of%20Smart%20Contracts%20-%20Agent%20Model%20Perspective%20and%20Its%20Implications.pdf

  34. Dag file size calculator (2017). https://investoon.com/tools/dag_size

  35. Delmolino, K. Arnett, M., Kosba, A., Miller, A., Shi, E.: Step by step towards creating a safe smart contract: lessons and insights from a cryptocurrency lab. Cryptology ePrint Archive, Report 2015/460 (2015). http://eprint.iacr.org/2015/460

  36. Duong, T., Fan, L., Zhou, H.-S.: 2-hop blockchain: combining proof-of-work and proof-of-stake securely. Cryptology ePrint Archive, Report 2016/716 (2016). http://eprint.iacr.org/2016/716

  37. Digiconomist. Bitcoin energy consumption index (2017). http://digiconomist.net/bitcoin-energy-consumption

  38. Ethereum documentation. Mining (2017). http://ethdocs.org/en/latest/mining.html

  39. Domchi. What are the ethereum disk space needs? (2017). https://ethereum.stackexchange.com/q/143/5113

  40. Daian, P., Pass, R., Shi, E.: Snow white: provably secure proofs of stake. Cryptology ePrint Archive, Report 2016/919 (2016). http://eprint.iacr.org/2016/919

  41. Dryja, T.: Hashimoto: I/O bound proof of work (2014). https://pdfs.semanticscholar.org/3b23/7cc60c1b9650e260318d33bec471b8202d5e.pdf

  42. Ellison, D.: An introduction to LLL for Ethereum smart contract development (2017). https://media.consensys.net/an-introduction-to-lll-for-ethereum-smart-contract-development-e26e38ea6c23

  43. Egelund-Müller, B., Elsman, M., Henglein, F., Ross, O.: Automated execution of financial contracts on blockchains (2017). https://ssrn.com/abstract=2898670

  44. ENS (2017). https://ens.domains/

  45. Eyal, I., Gün Sirer, E.: Majority is not enough: Bitcoin mining is vulnerable. CoRR, abs/1311.0243 (2013)

    Google Scholar 

  46. The Ethereum Classic declaration of independence (2016). https://ethereumclassic.github.io/assets/ETC_Declaration_of_Independence.pdf

  47. eth. How is the address of an ethereum contract computed? (2016). https://ethereum.stackexchange.com/q/760/5113

  48. Ethash (2017). https://github.com/ethereum/wiki/wiki/Ethash

  49. Ethash design rationale (2017). https://github.com/ethereum/wiki/wiki/Ethash-Design-Rationale

  50. Ethereum Classic (2017). https://ethereumclassic.github.io/

  51. Etherchain.org. Mining statistics (last 24h) (2017). https://etherchain.org/statistics/miners

  52. Ethernodes.org (2017). https://www.ethernodes.org/network/1

  53. Filecoin (2017). https://filecoin.io/

  54. Gnosis (2017). https://gnosis.pm/

  55. Golem (2017). https://golem.network/

  56. Gencer, A.E., van Renesse, R., Sirer, E.G.: Service-oriented sharding with Aspen. arXiv preprint arXiv:1611.06816 (2016)

  57. Hertig, A.: Ethereum’s big switch: the new roadmap to proof-of-stake (2017). https://www.coindesk.com/ethereums-big-switch-the-new-roadmap-to-proof-of-stake/

  58. Hirai, Y.: Bamboo: a morphing smart contract language (2017). https://github.com/pirapira/bamboo

  59. Hirai, Y.: Formal verification of Ethereum contracts (2017). https://github.com/pirapira/ethereum-formal-verification-overview

  60. Hyperledger (2017). https://www.hyperledger.org/

  61. jnnk. What is gas limit in Ethereum? (2015). https://bitcoin.stackexchange.com/a/39197

  62. Johnson, N.: What is the exact “longest chain” rule implemented in the ethereum “homestead” protocol? (2017). https://ethereum.stackexchange.com/a/13750/5113

  63. Junge, H.: What is Geth’s “light” sync, and why is it so fast? (2017). https://ethereum.stackexchange.com/a/11300

  64. Kosba, A., Miller, A., Shi, E., Wen, Z., Papamanthou, C.: Hawk: the blockchain model of cryptography and privacy-preserving smart contracts. Cryptology ePrint Archive, Report 2015/675 (2015). http://eprint.iacr.org/2015/675

  65. Kiayias, A., Russell, A., David, B., Oliynykov, R.: Ouroboros: a provably secure proof-of-stake blockchain protocol. Cryptology ePrint Archive, Report 2016/889 (2016). http://eprint.iacr.org/2016/889

  66. Luu, L., Chu, D.-H., Olickel, H., Saxena, P., Hobor, A.: Making smart contracts smarter. Cryptology ePrint Archive, Report 2016/633 (2016). http://eprint.iacr.org/2016/633

  67. Lerner, S.D.: Ethereum “Dagger” PoW function is flawed (2014). https://bitslog.wordpress.com/2014/01/17/ethereum-dagger-pow-is-flawed/

  68. Lightning network (2016). https://lightning.network/

  69. Luu, L., Narayanan, V., Zheng, C., Baweja, K., Gilbert, S., Saxena, P.: A secure sharding protocol for open blockchains. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pp. 17–30. ACM (2016)

    Google Scholar 

  70. Luu, L., Teutsch, J., Kulkarni, R., Saxena, P.: Demystifying incentives in the consensus computer. Cryptology ePrint Archive, Report 2015/702 (2015). http://eprint.iacr.org/2015/702

  71. Luu, L., Velner, Y., Teutsch, J., Saxena, P.: SmartPool: practical decentralized pooled mining. Cryptology ePrint Archive, Report 2017/019 (2017). http://eprint.iacr.org/2017/019

  72. Mayer, H.: ECDSA security in Bitcoin and Ethereum: a research survey (2016)

    Google Scholar 

  73. Mazières, D.: The Stellar consensus protocol: a federated model for internet-level consensus (2014). https://www.stellar.org/papers/stellar-consensus-protocol.pdf

  74. McAdams, D.: An ontology for smart contracts (2017). https://iohk.io/research/papers/#QCNR6SCZ

  75. McCone, R.: Ethereum Lightning network and beyond (2015). http://www.arcturnus.com/ethereum-lightning-network-and-beyond/

  76. Milutinovic, M., He, W., Wu, H., Kanwal, M.: Proof of luck: an efficient blockchain consensus protocol. Cryptology ePrint Archive, Report 2017/249 (2017). http://eprint.iacr.org/2017/249

  77. Micali, S.: ALGORAND: the efficient and democratic ledger. CoRR, abs/1607.01341 (2016)

    Google Scholar 

  78. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). https://bitcoin.org/bitcoin.pdf

  79. Landon Curt Noll. FNV hash (2017). http://www.isthe.com/chongo/tech/comp/fnv/index.html

  80. Norvill, R., Pontiveros, B.B.F., State, R., Awan, I., Cullen, A.: Automated labeling of unknown contracts in Ethereum (2017). https://bradscholars.brad.ac.uk/handle/10454/12220

  81. Department of financial services. Bitlicense regulatory framework (2015). http://www.dfs.ny.gov/legal/regulations/bitlicense_reg_framework.htm

  82. O’Leary, R.R.: Ethereum’s Byzantium testnet just verified a private transaction (2017). https://www.coindesk.com/ethereums-byzantium-testnet-just-verified-private-transaction/

  83. Oraclize (2017). http://www.oraclize.it/

  84. Warp sync snapshot format (2017). https://github.com/paritytech/parity/wiki/Warp-Sync-Snapshot-Format

  85. Pettersson, J., Edström, R.: Safer smart contracts through type-driven development (2016). https://publications.lib.chalmers.se/records/fulltext/234939/234939.pdf

  86. Password hashing competition (2015). https://password-hashing.net/

  87. Proof of stake FAQ (2016). https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

  88. Porru, S., Pinna, A., Marchesi, M., Tonelli, R.: Blockchain-oriented software engineering: challenges and new directions. CoRR, abs/1702.05146 (2017)

    Google Scholar 

  89. Qtum (2017). https://qtum.org/en/

  90. Raiden network: high speed asset transfers for Ethereum (2017). http://raiden.network/

  91. Ruoti, S., Andersen, J., Zappala, D., Seamons, K.E.: Why Johnny still, still can’t encrypt: evaluating the usability of a modern PGP client. CoRR, abs/1510.08555 (2015)

    Google Scholar 

  92. Roberts, D.: Behind the “exodus” of Bitcoin startups from New York (2015). http://fortune.com/2015/08/14/bitcoin-startups-leave-new-york-bitlicense/

  93. Rootstock (2017). http://www.rsk.co/

  94. U.S. Securities and Exchange Commission. SEC issues investigative report concluding DAO tokens, a digital asset, were securities (2017). https://www.sec.gov/news/press-release/2017-131

  95. Schneier, B.: Debating full disclosure (2007). https://www.schneier.com/blog/archives/2007/01/debating_full_d.html

  96. Securify. Formal verification of Ethereum smart contracts (2017). http://securify.ch/

  97. Serpent (2017). https://github.com/ethereum/wiki/wiki/Serpent

  98. Sergey, I., Hobor, A.: A concurrent perspective on smart contracts. CoRR, abs/1702.05511 (2017)

    Google Scholar 

  99. Sharding FAQ (2016). https://github.com/ethereum/wiki/wiki/Sharding-FAQ

  100. SHA-3 competition (2007–2012) (2017). http://csrc.nist.gov/groups/ST/hash/sha-3/index.html

  101. Sia (2017). https://sia.tech/

  102. Siludin. Let’s talk about how poor this network is at handling any type of major transaction traffic (2016). https://redd.it/6ifl5f

  103. Gün Sirer, E.: Thoughts on The DAO hack (2016). http://hackingdistributed.com/2016/06/17/thoughts-on-the-dao-hack/

  104. Solidity official documentation (2017). https://solidity.readthedocs.io/

  105. Sonm (2017). https://sonm.io/

  106. Seijas, P.L., Thompson, S., McAdams, D.: Scripting smart contracts for distributed ledger technology. Cryptology ePrint Archive, Report 2016/1156 (2016). http://eprint.iacr.org/2016/1156

  107. Storj (2017). https://storj.io/

  108. Suiche, M.: Porosity. Decompiling Ethereum smart-contracts (2017). https://blog.comae.io/porosity-18790ee42827

  109. Sunnarborg, A.: ICO investments pass VC funding in blockchain market first (2017). https://www.coindesk.com/ico-investments-pass-vc-funding-in-blockchain-market-first/

  110. Schwartz, D., Youngs, N., Britto, A.: The Ripple protocol consensus algorithm. Ripple Labs Inc White Paper (2014). https://ripple.com/files/ripple_consensus_whitepaper.pdf

  111. Sompolinsky, Y., Zohar, A.: Accelerating Bitcoin’s transaction processing. Fast money grows on trees, not chains. Cryptology ePrint Archive, Report 2013/881 (2013). http://eprint.iacr.org/2013/881

  112. Szabo, N.: Money, blockchains, and social scalability (2017). https://unenumerated.blogspot.lu/2017/02/money-blockchains-and-social-scalability.html

  113. Sztorc, P.: Nothing is cheaper than proof of work (2015). http://www.truthcoin.info/blog/pow-cheapest/

  114. Tschorsch, F., Scheuermann, B.: Bitcoin and beyond: a technical survey on decentralized digital currencies. Cryptology ePrint Archive, Report 2015/464 (2015). http://eprint.iacr.org/2015/464

  115. Vogelsteller, F., Buterin, V., et al.: Ethereum whitepaper (2014). https://github.com/ethereum/wiki/wiki/White-Paper

  116. Vogelsteller, F., Buterin, V., Reitwiessner, C., Kotewicz, M., et al.: Merkle Patricia trie specification (2017). https://github.com/ethereum/wiki/wiki/Patricia-Tree

  117. Vogelsteller, F.: ERC: token standard (2017). https://github.com/ethereum/eips/issues/20

  118. Velner, Y., Teutsch, J., Luu, L.: Smart contracts make Bitcoin mining pools vulnerable. Cryptology ePrint Archive, Report 2017/230 (2017). http://eprint.iacr.org/2017/230

  119. Wood, G.: Ethereum: a secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper, 151 (2014). http://yellowpaper.io/

  120. Wuille, P.: What does the term “longest chain” mean? (2017). https://bitcoin.stackexchange.com/a/5542/31712

  121. ydtm. The bug which the DAO hacker exploited was not merely in the DAO itself (2016). https://redd.it/4opjov

  122. Zhang, F., Cecchetti, E., Croman, K., Juels, A., Shi, E.: Town Crier: an authenticated data feed for smart contracts. Cryptology ePrint Archive, Report 2016/168 (2016). http://eprint.iacr.org/2016/168

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sergei Tikhomirov .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Tikhomirov, S. (2018). Ethereum: State of Knowledge and Research Perspectives. In: Imine, A., Fernandez, J., Marion, JY., Logrippo, L., Garcia-Alfaro, J. (eds) Foundations and Practice of Security. FPS 2017. Lecture Notes in Computer Science(), vol 10723. Springer, Cham. https://doi.org/10.1007/978-3-319-75650-9_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-75650-9_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-75649-3

  • Online ISBN: 978-3-319-75650-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics