FDP on “Blockchain and its Applications” Monday, 20th June to Friday, 24th June (Program Outline) About the FDP: Block chain is something which will lead the majority of data storage and information sharing for the upcoming IT industry. We will understand the fundamentals of blocks and the immutability related. The protocol behind the chain formation of blocks with data stored will be understood with practical implementations. Consensus Protocol creation for blockchain formation will be created using python script to understand blockchain from the very core. As a hands on we will understand how a banking system works and transactions can be done using blockchain technology. ● ● ● ● ● ● ● Understanding of blockchain technology. Bitcoin & Ethereum concepts. Building Cryptocurrency and enabling transactions Working of Decentralized technologies Solidity based developments Creating Smart Contracts Hyperledger fabric creation and business network development Getting Started with Blockchain Technology [Theoretical - 1 Hr] ● ● ● ● What is a Blockchain Applications of Blockchain Technology opportunity & challenge in Blockchain Technology Market Growth of Blockchain Technology Day 1 Blockchain fundamental [Theory - 20% / Practical - 80%] ● ● ● ● ● ● ● ● ● ● Blockchain Features Public VS private Blockchain Understanding a SHA256 Hash Immutable Ledger Distributed P2P Network How Mining Works : The Nonce How Mining Works : The Cryptographic puzzle Byzantine Fault Tolerance Consensus Protocol : Defence Against Attackers Consensus Protocol : Proof of Work ● ● ● ● How Blockchain Works Centralization and Decentralization Smart Contracts Wallets, Transactions, Public & Private keys Day 2 BlockChain Intuition Hands-On/Mini Project: ● Create and Deploy a BlockChain Protocol on server Day 3 Cryptocurrency Intuition: Bitcoin Case Study of Blockchain [Theory - 20% Practical - 80%] ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Bitcoin and Blockchain introduction Bitcoin's Monetary Policy Getting Bitcoin Wallet Getting and Sending Bitcoins Working of Mining Blockchain Understanding Mining Difficulty Mining Pools Nonce Range How Miners Pick Transactions CPU's vs GPU's vs ASIC's How do Mempools Work? Orphaned blocks The 51% Attack The DAO Attack Soft & Hard Forks Extra bits of Target Conversion Smart Contract Intuition [Theory - 20% / Practical - 80%] ● ● ● ● ● ● ● ● ● What is Etherium Ethereum Installation What is a Smart Contract Ethereum Virtual Machine & Gas Deploying Smart Contracts Key Properties of smart Contracts Language for Smart Contracts Decentralized Autonomous Organizations (DAOs) The DAO Attack ● ● ● ● Soft & Hard Forks Initial Coin Offerings (ICO's) ICO Case Study Blockchain and Web 3.0 Day 4 Solidity Programming Intuition ● ● ● ● ● ● ● ● ● Remix IDE understanding Functions and variables types in Solidity Data Types in solidity Constructor Modifier Payable vs Non Payable functions Inheritance and Library References - Mapping , Array , Struct Create , Read , Update and Delete Day 5 Smart Contract Deployment: - Hands-On [Practical - 100%] ● ● ● ● ● Ethereum Main Network and Test Network Blockchain Smart Contracts & Wallet Use Ethereum Solidity & Smart Contracts to build blockchain apps Ganache and Ether Wallet configuration Design, test, and deploy secure Smart Contracts Projects: Smart Contract for banking transaction Problem Statement: - Create a smart contract between two bodies for banking transactions. Description: - With continuous development of an autonomous eco system the need for smart contracts also increased. Additional security features and transparency given by smart contracts makes it a more powerful mode of contract creation between two independent bodies. In this project you will deploy a smart contract over an ethereum network developed using solidity programming. It will be focused on enabling auto transactions. Initial Coin Offering (ICO) Problem Statement: - Create a ICO contract for token Description: - You are a smart contract developer and assigned a project to create a token to be deployed on ethereum network for real time buying and selling. Lottery Problem Statement: - Develop a BlockChain based lottery system Description: - Lottery is a kind of game where trust depends upon transparency. In this project you will develop a lottery game which will be decentralized in nature and powered by high security features because of blockchain. In this lottery system buyers can have lottery tickets in digital form which can be bought over a decentralized network and the winner will be declared by technology itself without any human intervention.