  Ethereum Smart Contracts based on Blockchain Technology (BT)enables monetary
transactions among peers on a blockchain network independent of a central
authorizing agency. Ethereum smart contracts are programs that are deployed as
decentralized applications, having the building blocks of the blockchain
consensus protocol. This enables consumers to make agreements in a transparent
and conflict-free environment. However, there exist some security
vulnerabilities within these smart contracts that are a potential threat to the
applications and their consumers and have shown in the past to cause huge
financial losses. In this study, we review the existing literature and broadly
classify the BT applications. As Ethereum smart contracts find their
application mostly in e-commerce applications, we believe these are more
commonly vulnerable to attacks. In these smart contracts, we mainly focus on
identifying vulnerabilities that programmers and users of smart contracts must
avoid. This paper aims at explaining eight vulnerabilities that are specific to
the application level of BT by analyzing the past exploitation case scenarios
of these security vulnerabilities. We also review some of the available tools
and applications that detect these vulnerabilities in terms of their approach
and effectiveness. We also investigated the availability of detection tools for
identifying these security vulnerabilities and lack thereof to identify some of
them

Cryptography and Security