Description
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 Theorythe fundamental basics of blockchain technologySHA-256 hashing techniquecentralized and decentralized ledgersthe concept of mining (and miners)consensus algorithmsproof of work (PoW) and proof of stake (PoS)the byzantine generals problemChapter 2 - Blockchain Implementationimplementing a simple blockchain from scratch in JavaChapter 3 - Cryptocurrency Theorymotivation behind cryptocurrenciesMerkle trees and transaction verification algorithmsmining in cryptocurrenciesmempoolsunspent transaction outputs (UTXOs)elliptic curve cryptography in cryptocurrencieswhat is a wallet?orpahned blocks and the block verification problemthe 51% attacksoft fork and hard forkChapter 4 - Cryptocurrency Implementationimplementing a simple cryptocurrency from scratch in JavaChapter 5 - Altcoins & Cryptocurrency EvolutionEthereum, Solidity and the Ether cryptocurrencywhat are ICOs?cardano and ADAaltcoinsLiteCoin (LTC)Dashlayer 1 and layer-2 scaling solutionssharding and rollups (zk-rollups and zk-snarks)coins and tokensYou should take this course, if you are interested in blockchains and cryptocurrency technology. Thanks for joining my course, let's get started!