Course Policy Document
Course Policy Document
Institute of Technology
Department of Computer Science and Engineering
Course Policy
Credits-3
Mr Nilesh Jadhav
Introduction to Course:
Blockchain is an emerging technology platform for developing decentralized applications and data storage,
over and beyond its role as the technology underlying the cryptocurrencies. The basic tenet of this platform
is that it allows one to create a distributed and replicated ledger of events, transactions, and data generated
through various IT processes with strong cryptographic guarantees of tamper resistance, immutability, and
verifiability. Public blockchain platforms allow us to guarantee these properties with overwhelming
probabilities even when untrusted users are participants of distributed applications with ability to transact
on the platform. Even though, blockchain technology has become popularly known because of its use in
the implementation of Cryptocurrencies such as BitCoin, Ethereum, etc., the technology itself holds much
more promise in various areas such as time stamping, logging of critical events in a system, recording of
Page 1 of 9
transactions, trustworthy e-governance etc. Many researchers are working on many such use cases such as
decentralized public key infrastructure, self-sovereign identity management, registry maintenance, health
record management, decentralized authentication, decentralized DNS, etc. Also, corporations such as IBM
and Microsoft are developing their own applications in diverse fields such as the Internet of Things (IoT),
etc., even enabling blockchain platforms on the cloud.
Considering the need to disseminate the emerging concepts for students, we decided to prepare a new
course on blockchain technology platforms and applications.
Page 2 of 9
Program Outcomes (POs):
B.Tech program has been designed to prepare graduates for attaining the following program outcomes:
2. Problem analysis: Identify, formulate, review research literature, and analyze complex engineering
problems reaching substantiated conclusions using first principles of mathematics, natural sciences,
and engineering sciences.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modelling to complex engineering activities with
an understanding of the limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the
professional engineering practice.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms
of the engineering practice.
9. Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.
10. Communication: Communicate effectively on complex engineering activities with the engineering
community and with society at large, such as, being able to comprehend and write effective reports
and design documentation, make effective presentations, and give and receive clear instructions.
11. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member and leader
in a team, to manage projects and in multidisciplinary environments.
Page 3 of 9
12. Life-long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change.
13. PSO 1: To apply the theoretical concepts of computer engineering and practical knowledge in
analysis, design and development of computing systems and interdisciplinary applications
14. PSO 2: To work as a socially responsible professional by applying computer engineering principles
and management practices
Syllabus
Unit I
Introduction to Blockchain: Need, Blockchain 1.0 to 4.0, types of blockchain, Generic elements of
a blockchain, digital money to distributed ledgers, design primitives, protocols, security, consensus,
permissions, and privacy.
Unit II
Blockchain Architecture, Design and Consensus: Basic crypto primitives: hash, signature, hash
chain to Blockchain, basic consensus mechanisms, requirements for the consensus protocol for
permission less environment, PoW, PoS, PoB, PoET, and scalability aspects of Blockchain consensus
protocols.
Unit III
Permissioned and Public Blockchains: Design goals, Consensus protocols for Permissioned
Blockchains, Hyperledger Fabric, Decomposing the consensus process, Hyperledger fabric
components, Smart Contracts, Chain code design, Hybrid models (PoS and PoW)
Unit IV
Blockchain cryptography: Different techniques for Blockchain cryptography, privacy and security
of Blockchain, multi-sig concept
Unit V
Recent trends and research issues in Blockchain: Scalability, secure cryptographic protocols on
Blockchain, multiparty communication, FinTech and adoption of blockchain technology in various
applications.
Self-Study:
The self-study contents will be declared at the commencement of semester. Around 10% of the questions
will be asked from self-study contents.
Page 4 of 9
Laboratory Work:
Laboratory work will be based on above syllabus with minimum 10 experiments to be incorporated.
Laboratory details:
Each experiment will be of 10 marks. Evaluation for a 100 marks will be done throughout the semester as
part of the Continuous Evaluation scheme. The assessment of laboratory work is as under:
During each session, faculty member will introduce the objective and methodology of the practical to the
students. Students are required to implement the same after assessment by the faculty member. The
implementation is to be done on open source tools and shown to the concerned faculty member. After
implementation, student will submit the file (written neatly in tutorial pages) to the concerned faculty
member.
1. To implement digital signature to sign and verify authenticated user. Also, show a message 02
when tampering is detected.
3. To perform thorough study and installation of Anaconda 5.0.1 and Python 3.6 and perform 02
proof of work (POW) consensus mechanism. Also, notice the changes in mining rewards
and nonce requirement.
5. To perform thorough study and installation of Remix IDE and Truffle IDE for deploying 02
Smart Contracts and Decentralized Applications (dapps) and create and deploy a Smart
Contract for any application such as finance, healthcare etc.
6. To build, implement and test voting mechanism using Ethereum Blockchain. First, list the 04
contestants on the screen and the vote they got. Whenever the user tries to vote a particular
contestant, the count of the votes for the particular contestant should increase by 1. Also,
the user who has already voted should be marked. Marked means “the user has already
voted once and will not be allowed to vote again”.
Page 5 of 9
8. To design and develop end-to-end decentralized applications (Dapps). 04
9. To write a Solidity contract that implements a distributed ticket sales system. Anybody can 02
create an event (specifying the initial price and number of tickets). Anybody can then
purchase one of the initial tickets or sell those tickets peer-to-peer. At the event, gate agents
will check that each attendee is listed in the final attendees list on the blockchain. (Ethereum
programming)
10. To write a contract code to implement a two‐player game (with a wager on the line) of Tic‐ 04
Tac‐Toe, also known as Noughts and Crosses: (Ethereum programming)
References^:
1. Narayanan, Arvind. et al, Bitcoin and cryptocurrency technologies: a comprehensive introduction.
Princeton University Press.
2. Wattenhofer, Roger, The science of the blockchain, CreateSpace Independent Publishing Platform
3. Bahga, Arshdeep, and Vijay Madisetti,. Blockchain Applications: A Hands-on Approach, VPT
4. Nakamoto, Satoshi, Bitcoin: A peer-to-peer electronic cash system, Research Paper
5. Antonopoulos, Andreas M, Mastering Bitcoin: Programming the open blockchain, O'Reilly Media,
Inc
6. Diedrich, Henning, Ethereum: Blockchains, digital assets, smart contracts, decentralized
autonomous organizations, Wildfire Publishing (Sydney)
7. Draft version of “S. Shukla, M. Dhawan, S. Sharma, S. Venkatesan, ‘Blockchain Technology:
Cryptocurrency and Applications’, Oxford University Press
8. Josh Thompson, ‘Blockchain: The Blockchain for Beginnings, Guild to Blockchain Technology and
Blockchain Programming’, Create Space Independent Publishing Platform
^this is not an exhaustive list
Page 6 of 9
Lesson Plan
8 PoW 1, 2
9 PoS 1,2
13 Hyperledger Fabric 1, 2, 3, 4
16 Smart Contracts 1, 3
24 Scalability 1, 2
Page 7 of 9
26 Multiparty communication 1, 2
27 FinTech 1, 2
Self-Study Topics:
15 35 20 30 75 25
Teaching-learning methodology:
● Flipped Class-room
o The flipped classroom is a pedagogical model in which the typical lecture and
homework elements of a course are reversed. Short video lectures are viewed
by students at home before the class session, while in-class time is devoted to
exercises, projects, or discussions.
o Following points are identified for conduction of flipped classroom
▪ Smart Contract
▪ Consensus Protocols
● Muddiest Points:
o The Muddiest Point is one of the simplest Classroom Assessment Techniques
to help assess where students are having difficulties. The technique consists of
asking students to jot down a quick response to one question: “What was the
Page 8 of 9
muddiest point in the session?”
● Minute Papers
o Ask students to summarize the topic concisely, completely, and creatively
within a minute
o Asking students to form questions from a given topic within a minute of
different weightage (1 mark, 2 marks, 3 marks and so on)
● Think-Pair-Share
o Think-pair-share (TPS) is a collaborative learning strategy in which students
work together to solve a problem or answer a question about an assigned
reading. This technique requires students to (1) think individually about a topic
or answer to a question; and (2) share ideas with classmates.
o Problems will be shared in a class to be solved in a group of 2 students
Course Material:
All relevant information covering various aspects of the course Blockchain Technology is put on
the website at the below mentioned link:
https://sites.google.com/a/nirmauni.ac.in/2csde93/home
Students may go through blog the latest information and for posting their queries 24X7. Other
students and subject related faculty members would be actively participating their contribution
on the course blog. In case of any query or doubt, it is appropriate to post the same on blog
and get it answered either through peers or through concerned faculty members.
Page 9 of 9