scispace - formally typeset
Search or ask a question
Book ChapterDOI

A Survey of Attacks on Ethereum Smart Contracts SoK

22 Apr 2017-Vol. 10204, pp 164-186
TL;DR: This work analyses the security vulnerabilities of Ethereum smart contracts, providing a taxonomy of common programming pitfalls which may lead to vulnerabilities, and shows a series of attacks which exploit these vulnerabilities, allowing an adversary to steal money or cause other damage.
Abstract: Smart contracts are computer programs that can be correctly executed by a network of mutually distrusting nodes, without the need of an external trusted authority. Since smart contracts handle and transfer assets of considerable value, besides their correct execution it is also crucial that their implementation is secure against attacks which aim at stealing or tampering the assets. We study this problem in Ethereum, the most well-known and used framework for smart contracts so far. We analyse the security vulnerabilities of Ethereum smart contracts, providing a taxonomy of common programming pitfalls which may lead to vulnerabilities. We show a series of attacks which exploit these vulnerabilities, allowing an adversary to steal money or cause other damage.
Citations
More filters
Book ChapterDOI
TL;DR: A clearer view of the Cardano programming model in particular is obtained by introducing a novel mathematical abstraction which is called Idealised EUTxO, and some simple but novel results about alpha-conversion and observational equivalence for Cardano are proved.
Abstract: We implement two versions of a simple but illustrative smart contract: one in Solidity on the Ethereum blockchain platform, and one in Plutus on the Cardano platform, with annotated code excerpts and with source code attached. We get a clearer view of the Cardano programming model in particular by introducing a novel mathematical abstraction which we call Idealised EUTxO. For each version of the contract, we trace how the architectures of the underlying platforms and their mathematics affects the natural programming styles and natural classes of errors. We prove some simple but novel results about alpha-conversion and observational equivalence for Cardano, and explain why Ethereum does not have them. We conclude with a wide-ranging and detailed discussion in the light of the examples, mathematical model, and mathematical results so far.

15 citations

01 Jan 2020
TL;DR: This work defines an anomaly detection system based on a encoder-decoder deep learning model, that is trained exploiting aggregate information extracted by monitoring blockchain activities, and is the first one that provides a comprehensive and feasible solution to monitor the security of blockchain transactions.
Abstract: In these last years, Blockchain technologies have been widely used in several application fields to improve data privacy and trustworthiness and security of systems. Although the blockchain is a powerful tool, it is not immune to cyber attacks: for instance, recently (January 2019) a successful 51% attack on Ethereum Classic has revealed security vulnerabilities of its platform. Under a statistical perspective, attacks can be seen as an anomalous observation, with a strong deviation from the regular behavior. Machine Learning is a science whose goal is to learn insights, patterns and outliers within large data repositories; hence, it can be exploit for blockchain attack detection. In this work, we define an anomaly detection system based on a encoder-decoder deep learning model, that is trained exploiting aggregate information extracted by monitoring blockchain activities. Experiments on complete historical logs of Ethereum Classic network prove the capability of the our model to effectively detect the publicly reported attacks. To the best of our knowledge, our approach is the first one that provides a comprehensive and feasible solution to monitor the security of blockchain transactions.

15 citations


Cites background from "A Survey of Attacks on Ethereum Sma..."

  • ...In particular, [1] reports an attack on 18 June 2016 (referred as DAO from now on), where a vulnerability of the transaction protocol was exploited....

    [...]

  • ...In particular, Ethereum Classic (ETC), a permissionless (public) blockchain-based decentralized platform for smart contracts [5], has recently experienced two significant attacks which compromised the functionality of the network [1]....

    [...]

Journal ArticleDOI
TL;DR: A systematic review on Ethereum smart contracts analysis tools developed for Ethereum blockchain smart contract are presented and some challenges and future recommendations in the field ofthereum smart contracts are highlighted.
Abstract: Blockchain technology and its applications are gaining popularity day by day. It is a ground-breaking technology that allows users to communicate without the need of a trusted middleman. A smart contract (self-executable code) is deployed on the blockchain and auto executes due to a triggering condition. In a no-trust contracting environment, smart contracts can establish trust among parties. Terms and conditions embedded in smart contracts will be imposed immediately when specified criteria have been fulfilled. Due to this, the malicious assailants have a special interest in smart contracts. Blockchains are immutable means if some transaction is deployed or recorded on the blockchain, it becomes unalterable. Thus, smart contracts must be analyzed to ensure zero security vulnerabilities or flaws before deploying the same on the blockchain because a single vulnerability can lead to the loss of millions. For analyzing the security vulnerabilities of smart contracts, various analysis tools have been developed to create safe and secure smart contracts. This paper presents a systematic review on Ethereum smart contracts analysis tools. Initially, these tools are categorized into static and dynamic analysis tools. Thereafter, different sources code analysis techniques are studied such as taint analysis, symbolic execution, and fuzzing techniques. In total, 86 security analysis tools developed for Ethereum blockchain smart contract are analyzed regardless of tool type and analysis approach. Finally, the paper highlights some challenges and future recommendations in the field of Ethereum smart contracts.

15 citations

Book ChapterDOI
05 Nov 2018
TL;DR: This invited paper reports the current progress on smart contract verification with the \(\mathbb {K}\) framework in a language-independent style.
Abstract: This invited paper reports the current progress on smart contract verification with the \(\mathbb {K}\) framework in a language-independent style.

15 citations


Cites background from "A Survey of Attacks on Ethereum Sma..."

  • ...Flaws of blockchain programming languages or virtual machines have led and continue to lead to cryptocurrency software bugs that directly translate into significant money loss [6,4,1,3,14]....

    [...]

Journal ArticleDOI
Arthur Carvalho1
01 May 2021
TL;DR: Zhang et al. as discussed by the authors used decision theory to explain the transparency and trust issues faced by loot boxes, and proposed a decision model to motivate the use of blockchain technology in this context.
Abstract: The ever-increasing reliance on loot boxes by the video game industry has attracted scrutiny from consumer groups and regulators. For example, this practice of selling random assortments of virtual items for a price has been criticized for its lack of transparency since, before purchasing a loot box, players do not necessarily know the possible items they can win and the associated probabilities. Even in the rare cases when the list of items and probabilities are available, there are no guarantees that a game is actually using that information when randomly drawing an item, which naturally results in a trust problem. We draw from decision theory to explain the transparency and trust issues faced by loot boxes, and from a recently proposed decision model by Pedersen et al. (2019) to motivate the use of blockchain technology in this context. Following the design science research framework (Peffers et al., 2007), we then explain how loot boxes can be coded as smart contracts running on a blockchain network, and why this solution effectively tackles the transparency and trust problems we mentioned above. We illustrate the use of the proposed smart contract by developing a decentralized application (DApp) that mimics the process of purchasing and opening a loot box. We carefully analyze our solution by considering its computational complexity, accuracy, security, and cost aspects. We further discuss topics related to governance and deployment so as to help the video game industry with a potential real-life implementation of our solution.

15 citations

References
More filters
Book
01 Jan 2002
TL;DR: This presentation discusses Functional Programming in HOL, which aims to provide students with an understanding of the programming language through the lens of Haskell.
Abstract: Elementary Techniques.- 1. The Basics.- 2. Functional Programming in HOL.- 3. More Functional Programming.- 4. Presenting Theories.- Logic and Sets.- 5. The Rules of the Game.- 6. Sets, Functions, and Relations.- 7. Inductively Defined Sets.- Advanced Material.- 8. More about Types.- 9. Advanced Simplification, Recursion, and Induction.- 10. Case Study: Verifying a Security Protocol.

2,964 citations

01 Jan 2013
TL;DR: Ethereum as mentioned in this paper is a transactional singleton machine with shared state, which can be seen as a simple application on a decentralised, but singleton, compute resource, and it provides a plurality of resources, each with a distinct state and operating code but able to interact through a message-passing framework with others.
Abstract: The blockchain paradigm when coupled with cryptographically-secured transactions has demonstrated its utility through a number of projects, not least Bitcoin. Each such project can be seen as a simple application on a decentralised, but singleton, compute resource. We can call this paradigm a transactional singleton machine with shared-state. Ethereum implements this paradigm in a generalised manner. Furthermore it provides a plurality of such resources, each with a distinct state and operating code but able to interact through a message-passing framework with others. We discuss its design, implementation issues, the opportunities it provides and the future hurdles we envisage.

2,755 citations

Journal ArticleDOI
TL;DR: Protocols with application in important contracting areas, including credit, content rights management, payment systems, and contracts with bearer are discussed.
Abstract: Smart contracts combine protocols with user interfaces to formalize and secure relationships over computer networks. Objectives and principles for the design of these systems are derived from legal principles, economic theory, and theories of reliable and secure protocols. Similarities and differences between smart contracts and traditional business procedures based on written contracts, controls, and static forms are discussed. By using cryptographic and other security mechanisms, we can secure many algorithmically specifiable relationships from breach by principals, and from eavesdropping or malicious interference by third parties, up to considerations of time, user interface, and completeness of the algorithmic specification. This article discusses protocols with application in important contracting areas, including credit, content rights management, payment systems, and contracts with bearer.

1,495 citations

Proceedings ArticleDOI
24 Oct 2016
TL;DR: This paper introduces a novel quantitative framework to analyse the security and performance implications of various consensus and network parameters of PoW blockchains and devise optimal adversarial strategies for double-spending and selfish mining while taking into account real world constraints.
Abstract: Proof of Work (PoW) powered blockchains currently account for more than 90% of the total market capitalization of existing digital cryptocurrencies. Although the security provisions of Bitcoin have been thoroughly analysed, the security guarantees of variant (forked) PoW blockchains (which were instantiated with different parameters) have not received much attention in the literature. This opens the question whether existing security analysis of Bitcoin's PoW applies to other implementations which have been instantiated with different consensus and/or network parameters. In this paper, we introduce a novel quantitative framework to analyse the security and performance implications of various consensus and network parameters of PoW blockchains. Based on our framework, we devise optimal adversarial strategies for double-spending and selfish mining while taking into account real world constraints such as network propagation, different block sizes, block generation intervals, information propagation mechanism, and the impact of eclipse attacks. Our framework therefore allows us to capture existing PoW-based deployments as well as PoW blockchain variants that are instantiated with different parameters, and to objectively compare the tradeoffs between their performance and security provisions.

1,258 citations

Proceedings ArticleDOI
24 Oct 2016
TL;DR: This paper investigates the security of running smart contracts based on Ethereum in an open distributed network like those of cryptocurrencies, and proposes ways to enhance the operational semantics of Ethereum to make contracts less vulnerable.
Abstract: Cryptocurrencies record transactions in a decentralized data structure called a blockchain. Two of the most popular cryptocurrencies, Bitcoin and Ethereum, support the feature to encode rules or scripts for processing transactions. This feature has evolved to give practical shape to the ideas of smart contracts, or full-fledged programs that are run on blockchains. Recently, Ethereum's smart contract system has seen steady adoption, supporting tens of thousands of contracts, holding millions dollars worth of virtual coins. In this paper, we investigate the security of running smart contracts based on Ethereum in an open distributed network like those of cryptocurrencies. We introduce several new security problems in which an adversary can manipulate smart contract execution to gain profit. These bugs suggest subtle gaps in the understanding of the distributed semantics of the underlying platform. As a refinement, we propose ways to enhance the operational semantics of Ethereum to make contracts less vulnerable. For developers writing contracts for the existing Ethereum system, we build a symbolic execution tool called Oyente to find potential security bugs. Among 19, 336 existing Ethereum contracts, Oyente flags 8, 833 of them as vulnerable, including the TheDAO bug which led to a 60 million US dollar loss in June 2016. We also discuss the severity of other attacks for several case studies which have source code available and confirm the attacks (which target only our accounts) in the main Ethereum network.

1,232 citations

Trending Questions (1)
Why ethereum is important?

The provided paper does not explicitly mention why Ethereum is important.