Blockchain is a revolutionary technology that allows for decentralized and distributed storage of information. Maybe the hottest topic at the moment in the field of software engineering - besides artificial intelligence and machine learning - is blockchain technology. Many experts in the industry predict that the blockchain will disrupt the ways we interact with technology.
In this course you will learn about the basics of blockchain technology as well as about cryptocurrencies. You can learn about the concrete implementation of these technologies in Java - although you can skip the implementation parts if you wish.
Chapter 1 - Blockchain Theory
the fundamental basics of blockchain technology
SHA-256 hashing technique
centralized and decentralized ledgers
the concept of mining (and miners)
consensus algorithms
proof of work (PoW) and proof of stake (PoS)
the byzantine generals problem
Chapter 2 - Blockchain Implementation
implementing a simple blockchain from scratch in Java
Chapter 3 - Cryptocurrency Theory
motivation behind cryptocurrencies
Merkle trees and transaction verification algorithms
mining in cryptocurrencies
mempools
unspent transaction outputs (UTXOs)
elliptic curve cryptography in cryptocurrencies
what is a wallet?
orpahned blocks and the block verification problem
the 51% attack
soft fork and hard fork
Chapter 4 - Cryptocurrency Implementation
implementing a simple cryptocurrency from scratch in Java
Chapter 5 - Altcoins & Cryptocurrency Evolution
Ethereum, Solidity and the Ether cryptocurrency
what are ICOs?
cardano and ADA
altcoins
LiteCoin (LTC)
Dash
layer 1 and layer-2 scaling solutions
sharding and rollups (zk-rollups and zk-snarks)
coins and tokens
You should take this course, if you are interested in blockchains and cryptocurrency technology. Thanks for joining my course, let's get started!