This course covers in detail the technical principles & concepts behind blockchain. In addition, it seeks to provide you with the insights and deep understanding of the various components of blockchain technology, and enables you to determine for yourself how to best leverage and exploit blockchain for your project, organisation or start-up. The following types of people would benefit from this course:
a) Anyone who is interested in blockchain but has failed to get a firm grasp on this topic, inspite of reading up numerous write-ups and blogs.
b) Project Managers, architects and developers who want to get a firm grip of the concepts before diving into blockchain projects.
c) Executives, senior/business managers and founders hard- pressed for time , looking to explore this potential of thei technology and are looking for a focused in-depth coverage of this topic
d) Crypto-enthusiasts and investors who want to understand for themselves the hype behind the technology and assess for themselves if it is really worth investing in it.
e) Software professionals and students looking to get a competitive edge over peers
What am I going to get from this course?
- Explain what is disruptive about blockchain technology & the kind of use cases it uniquely enables.
- Articulate differences between blockchain and conventional IT systems
- Be able to explain where and how blockchain technology can be deployed and the benefits it can bring.
- Explain confidently the finer details of the technical principles underlying blockchain including distributed ledgers, P2P networking, cryptography, merkle trees, distributed consensus mechanism, and mining
- Describe how blockchain can enable a secure, immutable store of value, and also how secure transfers of value can be accomplished.
- Understand how blockchain inherently secures the ledger from various types of security attacks and tampering of data.
- Envision the various architectural layers of blockchains
- Explain the differences between the public permissionless and permissioned blockchains.
- Explain the limitations of public blockchains and how alternative architectures seek to address these.
Prerequisites and Target Audience
What will students need to know or do before starting this course?
- It may be helpful for the prospective student to have a general idea or familiarity about blockchain. This is not absolutely necessary, but will let the student determine whether the technology interests him/her sufficiently enough to go into the deep-dive .
Who should take this course? Who should not?
- Any one with a strong desire to understand the technical details of blockchains at a conceptual level with the goal of applying it to their work, project, organisation or business.
- Anyone who is hard-pressed for time and wants to gain a strong theoretical foundation of this technology in a structured way in a short intensive session.
- those who already have some familiarity with blockchain, but don't think they understand it sufficiently enough to confidently explain it to others , or to determine how best blockchain can be applied in their work or business.
- software professionals looking for lateral move into blockchain domain, and need to understand the technology principles better before starting to learn to code.
This course is suitable for software developers & architects, business analysts and functional SMEs from any industry, project managers, executives and students. It is also suitable for those class of investors who want to understand this technology in detail before deciding to invest in it.
Who should not take this course?
This course is not suitable for :
- Those who do not have the inclination, curiosity or comfort in understanding deep technical details.
- Those looking to develop/code/deploy a blockchain system or smart contract after this course, as programming or deployment is not covered in this course.
- Those who already have an understanding of how bitcoin and blockchains work.
- Those only looking for a cursory overview of this technology
- People looking for advise on cryptocurrency/tokens to invest in
Module 1: Course Structure and overview
Course structure and overview
Covers the structure of the course & focus of individual lectures & modules.
Module 2: Blockchain Overview
Blockchain Overview- Part 1
Covers the following: Evolution of the Internet. Blockchain history.
Blockchain Overview - Part 2
Covers the following:
1) Generations of blockchains,
2) Blockchain components,
3) Why is blockchain disruptive?
Blockchain Overview - Part 3
What does blockchain enable uniquely?
Blockchain Overview - Part 4
1) Foundational characteristics of blockchains. How are blockchain systems different from conventional IT systems?
2) Types of blockchains- Permissionless and Permissioned.
3) Summary and recap of module - Blockchain Overview.
Module 3: Deep-Dive into technical principles of blockchain
Introduction to distributed ledger
1) What is a ledger?
2) Centralized vs distributed databases
3) Introduction to distributed ledger
4) Distributed vs Decentralized databases
5) Accounting entries in conventional vs distributed ledger
6) Advantages of distributed ledger
Introduction to peer-to-peer networks
1) Client-server vs P2P networks
2) Characteristics of P2P networks
3) Communication model in P2P networks
4) Summary & recap
Introduction to cryptography- Part 1
1) What is cryptography?
2) Key concepts in cryptography
3) Hash functions
4) Encryption and decryption
5) Symmetric cryptography
6) Asymmetric cryptography
Introduction to cryptography- Part 2
1) Digital signatures:
a) Creating a signature
b) Verifying data by using signature
c) Identifying fraud
2) Summary & recap
Record and protect ownership of assets- Part 1
2) Ways to specify asset ownership
3) Bitcoin transaction lifecycle
4) Description of bitcoin transaction
5) Transaction types
Record and protect ownership of assets- Part 2
1) Transaction chains
2) Transaction record
3) Transaction and user account security
4) Summary of recording and protecting assets with blockchain
How are transactions propagated across the network?
1) Functions of a node
2) Node types
3) How are valid transactions propagated?
4) How are invalid transactions rejected?
Store and Propagate transaction history- Part 1
1) CS basics - Pointers, Linked lists and Hash pointers
2) Merkle tree and merkle root
3) Transactions organized as blocks
4) Block height and depth
Store and Propagate transaction history- Part 2
1) Transactions organized as blocks
2) Creating a new block
3) How to view latest blocks
4) Summary of *Store and propagate transaction history* lecture.
Remove middleman with machine consensus- Part 1
1) Introduction to decentralized consensus
3) Structure of block header
4) Aggregation of transactions into blocks
5) Proof of Work
Remove middleman with machine consensus- Part 2
1) What is Nonce?
2) Validating a new block
3) Summary of mining process
Remove middleman with machine consensus- Part 3
1) Assembling and selecting chains of blocks
2) How secondary chains are formed?
3) What happens when two blocks are mined and propagated simultaneously?
4) How does the network reconverge ?
5) Economic model to maintain decentralized trust
6) Summary & recap
Protect transaction history- Part 1
1) How to get confirmation on transactions after the block is mined?
2) Can someone steal your bitcoins?
3) Hacking into the blockchain
4) Falsifying unconfirmed transactions
5) Falsifying confirmed transactions
Protect transaction history- Part 2
1) Falsifying a chain of blocks
2) Summary and recap of *protecting transaction history*
Module 4: Blockchain architectural considerations
1) Differences between Bitcoin and Ethereum
2) Limitations of public blockchain networks
3) Blockchain Architectural stack
Course wrap-up lecture by trainer