Content
Day One
Lesson One
- Lesson one will cover the distributed system, the foundation of blockchain technology, elements, and tiers of blockchain technology.
- Distributed systems
- History of blockchain and Bitcoin – covering electronic cash, Merkle trees
- Definition of blockchain
- Elements of a generic blockchain
- Tiers of Blockchain technology
Lesson Two
- More technical details of Blockchain technology
- Types of blockchain, distributed Ledger technology, (DLTs), public blockchains, private blockchains.
- Consensus, what is consensus, how to reach consensus.
- Consensus mechanisms used in blockchains.
- CAP Theorem and blockchain
Lesson Three
- Understand the concept of decentralization, its impact and its relationship with blockchain technology. Its implementation using Blockchain technology will also be discussed.
- Decentralization
- Methods used to decentralize existing systems
- Different types of networks (centralized, decentralized, distributed)
- Exercises to show that how a system can decentralize e.g. decentralization of a payment system.
- Blockchain and full ecosystem decentralization, computing, storage, communication decentralization.
- DAOs, DAPPs, DOs, DASs
- Platforms for decentralization
Day Two
Lesson One
- Symmetric cryptography and practical exercises to complement the theoretical material.
- What is symmetric cryptography
- Security services
- Cryptographic primitives, stream ciphers, block ciphers, DES, AES
- Using OpenSSL to experiment with symmetric cryptography
Lesson Two- Asymmetric (Public key cryptography) cryptography and practical exercises to complement the theoretical material.
- What is public key cryptography
- RSA
- Elliptic curve cryptography
- Digital signatures
- Hash functions
- Using OpenSSL to experiment with public key cryptography and hash functions.
Day Three
- Introduce Bitcoin and altcoins and relevant concepts in detail with hands-on exercises on how to install Bitcoin client and interact with Bitcoin blockchain.
At the end of this day, students should be able to:
- Define Bitcoin
- Describe cryptocurrencies
- Explain altcoins
- Understand ICOs
- Install Bitcoin client and perform interactions with the Bitcoin blockchain
Lesson One- An introduction to Bitcoin, how it works, why it works and technical details about the blockchain structure.
- Bitcoin definition
- Bitcoin Bird’s eye view, how transactions work
- Digital keys and addresses
- Transactions, a technical view
- Blockchain structure in Bitcoin
- Mining
Lesson Two- An introduction to the blockchain network, its components, nodes, Wallets, and clients. Also, some introduction to programming APIs and client installation and usage will also be presented.
- Bitcoin Network
- Bitcoin Wallets, types and usage
- Bitcoin clients and APIs
Lesson Three- An introduction to Alternative coins, why they exist, also discuss some examples of Altcoins and differences with Bitcoin. Introduction to Initial coin offering (ICO), and tokens standards will be provided.
- Alternative coins
- Some example coins, Namecoin, Litecoin, Primecoin, Zcash
- ICOs
- ERC20 and other standards for tokens
Day Four
- Detailed introduction to smart contracts, Ethereum, solidity language and relevant frameworks such as Ganache, TestRPC, and truffle for smart contract development.
At the end of this day, students should be able to:
- Explain smart contracts
- Describe Ethereum
- Write smart contracts in Solidity
- Use Frameworks and tools for Ethereum development
- Build private networks using Ethereum
Lesson One- Learn what are smart contracts, how to write smart contracts and relevant Ethereum blockchain concepts.
- What are smart contracts, definitions, and background theory
- Introduction to Ethereum and discussion of all releases of Ethereum.
- Types of Ethereum networks, private, public, MainNet, Morden, kovan etc.
- How Ethereum works
- Transactions, keys, addresses, accounts, types of accounts, gas, fee, mining
Lesson Two- Further details on technical concepts related to smart contracts, Ethereum, and solidity.
- How to develop smart contracts
- Introduction to Ethereum Virtual machine
- Remix IDE
- Solidity
- Solidity code examples
- How to deploy smart contracts
Lesson Three- Deeper introduction to frameworks and development tools used for Ethereum development, along with an introduction to Web3 and how to use relevant frameworks and tools.
- Ethereum development tools and frameworks
- Practical examples of how to build, test and deploy smart contracts.
- Introduction to Web3
- Using Ganache, TestRPC, Metamask, remix IDE
Day Five
- Further introduction to Ethereum programming. Introduction to alternative blockchain solutions and its convergence with other technical fields. Also, issues being faced by blockchain technology creating hurdles towards its maturity are also introduced along with an overview of existing research and future of blockchain technology.
At the end of this day, students should be able to:
- Learn Ethereum programming, development and deployment continued
- Understand Altchains (Alternative chains)
- Explore Blockchain, beyond cryptocurrencies
- Convergence of blockchain with other technologies
- List the challenges that blockchain faces such as scalability and privacy and their solutions
- Explain the current landscape and future of Blockchain technology
Lesson One- Continuation from Day four, introduction to Ethereum and relevant frameworks and tools for development. Ethereum programming in solidity and further examples.
- Ethereum programming, implementation of smart contracts using truffle framework
- Example of a simple sample contract
Lesson Two- This lesson will introduce applications of blockchain technology beyond cryptocurrencies in industries such as finance, government, and media.
- Blockchain beyond cryptocurrencies
- Convergence of blockchain with other technologies, such as IoT and Artificial Intelligence.
- IoT practical example
Lesson Three- This lesson will introduce alternative blockchain solutions in contrast to the more common Bitcoin and Ethereum. In addition, research areas and future of blockchain technology will also be presented.
- Alternative blockchains, for example, Hyperledger Fabric
- Challenges in blockchain technology
- Research areas
- Future
- Closing remarks