In the previous chapter, Decentralized Apps and Smart Contracts, we introduced Distributed Applications (DApps) and smart contracts, highlighting the risks associated with using Turing-complete programming languages such as Solidity. In this chapter, we will deal in detail with the threats associated with the most common smart contract vulnerabilities. We will also see which tools can be used to analyze smart contracts, in search of possible vulnerabilities present in the source code. Some tools we'll see are useful in preventing the exploitation of these vulnerabilities by attackers.
The topics we will cover in this chapter are as follows:
- Hacking smart contracts
- Smart contract threats
- Smart contract attack examples
- Preventing smart contract attacks
- Analyzing smart contracts for security
We begin the chapter by analyzing...