MODULE 1: Introduction to the Blockchain
A fundamental understanding of blockchain technology is essential for understanding blockchain security. This module discusses some of the fundamental concepts of blockchain technology.
- Lesson 1: Blockchain Basics
- Lesson 2: Structure of the Blockchain
- Lesson 3: The Blockchain’s Blocks
- Lesson 4: The “Chains” of the Blockchain
MODULE 2: Threat Modeling for the Blockchain
Threat modeling is a useful tool for categorizing and discussing cybersecurity threats. This module walks through the construction of a threat model designed for blockchain security threats.
- Lesson 1: Benefits of Threat Modeling for Cybersecurity
- Lesson 2: The Multi-Layered Blockchain Ecosystem
- Lesson 3: Introduction to the STRIDE Threat Modeling Framework
- Lesson 4: Building a Blockchain Threat Model
MODULE 3: Fundamentals Blockchain Cryptography
Blockchain systems are designed to transfer trust from a centralized organization to cryptographic algorithms. Understanding how these algorithms work and their security assumptions is crucial to understanding the security of blockchain environments.
- Lesson 1: Fundamentals of Blockchain Cryptography
- Lesson 2: Introduction to Public Key Cryptography
- Lesson 3: Public Key Cryptography in the Blockchain
- Lesson 4: Security of Public Key Cryptography
- Lesson 5: Introduction to Hash Functions
- Lesson 6: Hash Functions in the Blockchain
- Lesson 7: Security of Hash Functions
MODULE 4: Consensus Algorithm Security
Consensus algorithms are essential to maintaining a shared, distributed, and decentralized digital ledger. This module looks at two of the most common consensus algorithms and how they can be targeted by an attacker.
- Lesson 1: Introduction to Blockchain Consensus Algorithms
- Lesson 2: Introduction to Proof of Work
- Lesson 3: Attacking Proof of Work
- Lesson 4: Introduction to Proof of Stake
- Lesson 5: Attacking Proof of Stake
MODULE 5: Blockchain Node and Network Security
This module highlights the differences between theoretical and real-world security of blockchain systems. When blockchain environments are implemented on computers and networks, new attack vectors and security issues are introduced.
- Lesson 1: Implementing the Blockchain
- Lesson 2: Attacking Blockchain Nodes
- Lesson 3: Attacking Blockchain Networks
MODULE 6: Smart Contract Securtiy
Smart contracts enable the development of programs that run on the blockchain. This module explores some of the most common vulnerabilities that have been discovered in smart contracts.
- Lesson 1: Introduction to Smart Contract Security
- Lesson 2: General Programming Vulnerabilities
- Lesson 3: Blockchain-Specific Vulnerabilities
- Lesson 4: Platform-Specific Vulnerabilities
MODULE 7: Testing Blockchain Systems
This module discusses some of the important considerations that should be kept in mind while evaluating blockchain systems. A real-world case study is provided as an example of how these different factors can lead to a hack of a blockchain platform.
- Lesson 1: Introduction to Blockchain Testing
- Lesson 2: Architectural Considerations
- Lesson 3: Design Considerations
- Lesson 4: Implementation Errors
MODULE 8: Enterprise Blockchain Security
This last module provides an introduction to some of the leading enterprise blockchain platforms, Corda and Hyperledger. It provides a description of how these projects are designed and some of their features that impact the security of the digital ledger.
- Lesson 1: Introduction to Enterprise Blockchain Platforms
- Lesson 2: Introduction to Corda
- Lesson 3: Corda Security Considerations
- Lesson 4: Introduction to Hyperledger
- Lesson 5: Hyperledger Security Considerations