Smart contracts are self-executable and self-enforcing programs; once deployed to a decentralized public blockchain, the smart contract becomes immutable and fully transparent. Everyone in the blockchain has access to it. A smart contract can be designed to transfer and manipulate funds in user accounts for payment purposes. For example, a token amount can be transferred from one account to another account in the ERC-20 token standard. Since it is public and decentralized in nature, it becomes much more sensitive from a security perspective. The potential cost of vulnerabilities and the bounty available is an incentive for hackers to spend time and resources to find and exploit security bugs and loopholes in smart contract codes.
The most notable attack is the Decentralized Autonomous Organization (DAO) attack. DAO is an organization that acts as a finance venture...