
Explore how blockchains store data as a linked list of blocks secured by cryptographic hashes, including genesis blocks, previous hash links, and sha-256 identifiers.
Compare centralized ledgers with decentralized blockchain networks where every node holds a copy. See how immutability, hash pointers, and sha256 maintain integrity, while mining and 51 percent attack shape security.
Explore how proof-of-work makes mining expensive to deter traitors while enabling fast verification. See how PoW prevents spam, uses leading-zero hashes and nonce, and incurs energy costs.
Compare centralized, decentralized, and distributed networks to explain the central node, multiple important nodes, and distributed decision making, noting blockchain is distributed and decentralized.
Explore how mining validates decentralized transactions through proof of work by hashing blocks with difficulty-based leading zeros, rewarding miners and appending blocks to the blockchain.
Discover how blockchain enables decentralized, trustless cryptocurrencies by removing centralized third parties; learn how bitcoin protocol and blockchain structure power peer-to-peer transactions.
Explore how mempools operate in a decentralized peer-to-peer blockchain network, how transactions propagate to neighboring nodes, how miners include them in blocks, and how fees drive block creation.
Implement merkle tree in Java by hashing transactions with SHA-256 to produce a merkle root that verifies all transactions in a block.
This lecture explains competing chains problem and how a 51% attack lets a party double spend by privately mining a longer chain, then broadcasting it to override the public ledger.
Explain how miners earn income from transaction fees and block rewards, and how all cryptocurrency holders jointly pay for mining as the money supply expands and purchasing power declines.
Create a Java cryptocurrency project with packages, classes, and constants, outline a blockchain with genesis and sha-256 hashing, and present the mining reward and elliptic curve cryptography concepts.
Learn to implement cryptocurrency security in Java by generating sha-256 hashes, signing transactions with a private key, and verifying with a public key using elliptic curve cryptography and Bouncy Castle.
Learn how layer-two rollups accelerate blockchain throughput by batching off-chain transactions into a single on-chain proof using zero-knowledge proofs, with zk rollups delivering fast, cheaper validation.
Litecoin, a 2011 hard fork of Bitcoin created by Charlie Lee, offers faster, cheaper transactions using the script hash function with 2.5 minute blocks, decentralization considerations and the 51% attack.
Explore why elliptic curve cryptography outperforms RSA by requiring smaller keys, addressing factorization risks, quantum threats, and its role in bitcoin and blockchain applications.
Explore elliptic curves in cryptography with the non-singular equation y^2 = x^3 + 8x + B, tunable A and B, symmetry about the x-axis, and three distinct routes.
Explore elliptic curve cryptography and diffie-hellman key exchange on a chosen lap curve using random values, generator points, and the double-and-add method to derive a shared secret.
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!