We gathered all the reading materials from the course “Attack and Defence in Blockchain Technologies” and prepared a stand alone ebook. While reading this workshop you will understand and gain knowledge on how attacks are being done and how to defend the blockchain technologies. You will take a closer look at Smart Contracts development, vulnerabilities and exploitation of blockchain.
Note: Some of the original course materials, like videos or exercises, are not presented in this issue. If you would like to gain access to all the materials, you have to enroll in the course.
The main aim of this e-book is to present our publication to a wider range of readers. We want to share the material we worked on and we hope we can meet your expectations.
Enjoy your reading,
This e-book contains text materials from the course.
Table of Contents
Introduction to Blockchain, Cryptocurrencies and Smart Contracts.
In this module, the basic concepts of blockchain technologies and their most important aspects will be examined. Also, some of the most used cryptocurrencies will be presented with use cases and differences between them. This module is really important, because it includes all the building blocks that are needed in order to understand and start using blockchains.
- Blockchain Technology
- Bitcoin – The Blockchain Introduction
- Smart Contracts
Blockchain and Smart Contract Development
In this module, basic development concepts will be examined in order to understand the underlying concepts of code used in the blockchain. Also, smart contract development will be examined in Solidity and the Ethereum network, and a small currency will be created in order to further examine the coding concepts in the smart contract aspect of a blockchain.
- Development concepts in the Blockchain
- Solidity programming
- Smart Contract Development
- Developing our cryptocurrency
Vulnerabilities in the blockchain
In this module, common vulnerabilities that have previously been discovered in blockchain applications and smart contracts will be examined. Also, ways to audit these vulnerabilities, and exploit them, will be presented in order for the student to be able to test the security of his code.
- Blockchain common vulnerabilities
- Smart Contract Vulnerabilities
- Interacting with smart contracts and vulnerability exploitation
Blockchain exploitation and how to secure your code
In this section, blockchain and smart contract exploitation will continue, and ways to secure our applications will be examined. These ways will include general secure coding principles in smart contracts and ways to be secure from the vulnerabilities that we examined in the previous modules.
- Blockchain exploitation
- Secure coding principles in the blockchain
- Securing the blockchain vulnerabilities