Nothing Special   »   [go: up one dir, main page]

Course Policy Document

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Nirma University

Institute of Technology
Department of Computer Science and Engineering

Course Policy

B. Tech. Semester VII Academic Year: 2022-23

Course Code & Name : 2CSDE93 – Blockchain Technology

Credit Details : Lectures-2, Tutorial-0, Practical -2

Credits-3

Course Coordinator : Dr Sharada Valiveti

Other Faculty : Dr. Sudeep Tanwar

Dr. Aparna Kumari

Mr Nilesh Jadhav

Contact No. & Email : sharada.valiveti@nirmauni.ac.in

sudeep.tanwar@nirmauni.ac.in

Aparna.kumari@nirmauni.ac.in

21ftphde53@nirmauni.ac.in

Office : Dr Sharada Valiveti: E1102,

Dr Sudeep Tanwar: B100,

Dr Aparna Kumar: E1102,

Mr Nilesh Jadhav: B100

Course website : https://sites.google.com/a/nirmauni.ac.in/2csde93/home

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.

Course Learning Outcomes:

At the end of the course, students will be able to -


1. summarize the concept of Blockchain technology
2. develop the structure of a Blockchain network
3. evaluate security issues relating to Blockchain and cryptocurrency
4. design the applications based on Blockchain technology

Mapping of CO with PO:

Mapping of Course outcomes with Program Outcomes (PO)

CO POs PSOs Bloom’s Taxonomy


1 2 3 4 5 6 7 8 9 10 11 12 1 2
1 Cognitive (Remembering
2 2 1 1 1 2 1
and Understanding)
2 1 2 2 2 2 3 3 1 1 1 2 3 Psychomotor (Imitation)
3 Cognitive (Applying)
3 1 1 1 1 1 1 1 3 1
Psychomotor (Imitation)
4 Cognitive (Applying)
3 2 2 1 1 1 1 3 1
Psychomotor (Imitation)
1: Slightly
2: Moderately
3. Substantially

Page 2 of 9
Program Outcomes (POs):

B.Tech program has been designed to prepare graduates for attaining the following program outcomes:

1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering


fundamentals, and an engineering specialization to the solution of complex engineering problems.

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.

3. Design/development of solutions: Design solutions for complex engineering problems and


design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.

4. Conduct investigations of complex problems: Use research-based knowledge and research


methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.

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.

7. Environment and sustainability: Understand the impact of the professional engineering


solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for
sustainable development.

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.

Program Specific Outcomes:

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:

Total Marks Continuous Evaluation Semester End Examination


(CE)

No. of Max. Max


100 marks Weightage Weightag
Experiments Marks Marks e
10 100 75% 25 25%

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.

List of experiments is as mentioned in the table:

Sr. Title Hours


No

1. To implement digital signature to sign and verify authenticated user. Also, show a message 02
when tampering is detected.

2. To create a blockchain and implement replay attacks on blockchain. 04

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.

4. To create a cryptocurrency and implement Byzantine Generals Problem in Python. 04

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”.

7. To perform a thorough study of blockchain development on Hyperledger Fabric using 02


Composer

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

Lecture Topic Mapped


No. CLO
1 Overview of Course, teaching methodology and assessment policy, 1
introduction to the course policy document, Introduction to Blockchain
Technology

2 History, Digital Money to Distributed Ledgers 1

3 Design Primitives, Protocols 1

4 Security, Consensus, Permissions, Privacy 1

5 Basic crypto primitives: Hash 1

6 Signature, Hashchain to Blockchain 1, 2

7 Basic consensus mechanisms 1, 2, 3, 4

8 PoW 1, 2

9 PoS 1,2

10 Scalability aspects of Blockchain consensus protocols 1

11 Introduction to Permissioned and Public Blockchains 2

12 Consensus protocols for Permissioned Blockchains 1, 2, 3, 4

13 Hyperledger Fabric 1, 2, 3, 4

14 Decomposing the consensus process 1

15 Hyperledger fabric components 1, 3

16 Smart Contracts 1, 3

17 Chain code design 1

18 Hybrid models (PoS and PoW) 1, 3

19 Different techniques for Blockchain cryptography 1, 2

20 More techniques for Blockchain cryptography 1, 2

21 Privacy and security of Blockchain 1, 2

22 Additional contents on Privacy and security of Blockchain 1

23 Recent trends and research issues in Blockchain 1

24 Scalability 1, 2

25 Secure cryptographic protocols on Blockchain 1, 2

Page 7 of 9
26 Multiparty communication 1, 2

27 FinTech 1, 2

28 Discussion on Blockchain applicabilities 3

29 Applications of BCT in UAV, Agriculture 1, 2

30 More Use cases like Retail Management, Energy Trading, etc. 1, 2, 3

Self-Study Topics:

1. Basic Cryptographic primitives --

Course Assessment Schemes:

Assessment Continuous Evaluation Laboratory Practical SEE


Scheme Work
(CE)
(LPW)

Component 0.4 0.2 0.4


Weightage

Quiz Sessional Quiz Term Continuous Viva 100


–I Exam – II Paper Evaluation Voce marks

15 35 20 30 75 25

Teaching-learning methodology:

● Lectures: The lectures would be conducted through the presentations (PPT).


● Practical’s: The teaching-learning methodology and assessment policy is as described
in the section of Laboratory Details.

Active learning techniques:

● 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.

Course Outcome Attainment:


Following means will be used to assess attainment of course learning outcomes:
● Use of formal evaluation components of continuous evaluation, tutorials, laboratory
work, semester end examination
● Informal feedback during course conduction

Academic Integrity Statement:


Students are expected to carry out assigned work under Continuous Evaluation (CE)
component and LPW component. Copying in any form is not acceptable and will invite strict
disciplinary action. Evaluation of corresponding component will be affected proportionately in
such cases. Academic integrity is expected from students in all components of course
assessment.

Page 9 of 9

You might also like