BlockChains

Scope of the course

This course will facilitate working professionals and students with previous elementary experience in programming to learn:

Basics of distributed algorithms and Byzantine agreement protocols,

How various popular blockchain platforms like Bitcoin, Ethereum, Hedera work,

The power of smart contracts with Ethereum and Hedera,

How to make smart contracts gather data, interact with other smart contracts and interface with IoT systems to arrive at their decisions as well as deliver continuous monitoring,

How to test and deploy smart contracts by running trials on test nets, validating code and performing blockchain analytics, and

How to analyze blockchain data using publicly available data sources and some case studies.

This will put you on the path to realizing your own blockchain-based solutions to pressing real-world problems!

Brief description:

In this course, we will explore the fundamentals of Blockchains along with practical aspects of blockchain systems like Bitcoin, Ethereum and Hedera. We will learn to write smart contracts using Solidity - the prominent language used for smart contracts. Using Solidity, we will study how to make our smart contracts interact with oracles and other smart contracts in order to make decisions and payments. We will learn how to query and draw insights from the data stored on blockchain ledgers. Apart from this, we will also have the opportunity to explore exciting applications of Blockchain technology.

image

Dr. John Augustine,

Dept. of Computer Science & Engineering.,
IIT Madras

Dr. John Augustine has been a faculty member in the Department of Computer Science & Engineering., IIT Madras, since 2011. Prior to that, he held positions in academia (Colby College, USA, and Nanyang Tech University, Singapore) and industry (Tata Research, Pune, India). He holds a PhD from the Donald Bren School of Information and Computer Sciences, UC Irvine, USA.


His research interest is in distributed network algorithms interpreted broadly to encompass algorithms for peer-to-peer networks, static and dynamic networks, distributed algorithms for mobile entities, and security aspects of network algorithm design (specifically, Byzantine fault tolerance). He is interested in building a theory of distributed trust that brings together ideas from disparate fields of study ranging from distributed computing (specifically, Byzantine fault tolerance), blockchains and smart contracts, secure multi-party computation, and multi-agent systems. The goal is to understand distributed and decentralized settings where multiple parties must collaboratively work together towards common goals despite security breaches that may have compromised some parties in an adversarial manner.

He has published extensively in several top-tier conferences like PODC, SODA, FOCS, SPAA, DISC, IPDPS, and ICDCS and prestigious journals like SICOMP, JCSS, Algorithmica, JPDC, TPDS, and TCS. He has served on the Program Committee for numerous conferences and as the Program Committee Co-Chair for ICDCN 2022. He is an associate editor at the Journal of Parallel and Distributed Computing (JPDC).

He represents IIT Madras on the Hedera Governance Council.

Module 1. Byzantine Agreement & Blockchains

1. Byzantine Generals Problem: challenges, solutions, and variants

2. Practical Byzantine Fault Tolerance (PBFT) and its variants

3. Bitcoin & Blockchains: A brief history and foundational ideas

4. Classifications of popular Blockchain systems

Module 2. Ethereum & Hedera

5. Introduction to Ethereum and smart contracts

6. Ethereum hands-on

7. Introduction to Hedera hash graph

8. Hedera hands-on

Module 3. Solidity

9. Introduction to Solidity

10. Setting up a Solidity development environment

11. Writing your first smart contract

12. Design aspects of smart contracts

Module 4. Blockchain Applications

13. Non-Fungible Tokens (NFTs): Basic, applications, & minting

14. Decentralized Finance (DeFi)

15. Decentralized Autonomous Organization (DAO)

16. Internet-of-Things (IoT) with Blockchains

Module 5. Blockchains analytics

17. Cryptocurrencies: Pseudonymity, Transactions and Exchanges

18. Introduction to SQL & Google Big query

19. Case study on tracing hacks

20. Concluding remarks – blockchains and their future

Course activities (assignments & assessments):

Planned Assignments:

1. Reading a Blockchain whitepaper. (Week 1)

2. Setting up Solidity and writing your first Solidity program. (Week 2)

3. Threshold Response Contract (only communicate with oracle). (Week 3)

4. Byzantine Resilient Agreement with Smart Contracts (communicate with each other). (Week 4)

5. Querying an IoT service using Smart Contracts as a mini project. (Optional Hackathon)

6. Blockchain analytics using Google Big query. (Week 5)



Registration Closed

Further Details Kindly Email : enquiry@iitmpravartak.net
Course start date : October 1, 2022 (On weekends Saturday and Sunday – 2 hrs each)
Please enter the registered email Id to access the Level 3 and Level 4 course video.

Registration:





Course Brief

     Download Brochure

Mode of Teaching: Hybrid

Fee: Corporates and Individuals - Rs. 15,000/- + GST and 50% off for students

Duration: 5 weeks on weekends (20 lecture Hours)

Eligibility Criteria:

Basic programming knowledge and an appreciation for algorithm design

Professionals from the industry. This will allow professionals to expand their knowledge and potentially take on new roles.

Students. This can help with gaining practical knowledge and improve placement prospects.


Contact Us