Bachelor
2023/2024
Mathematical Methods for Distributed Ledger Systems
Category 'Best Course for Broadening Horizons and Diversity of Knowledge and Skills'
Category 'Best Course for New Knowledge and Skills'
Type:
Elective course (Software Engineering)
Area of studies:
Software Engineering
Delivered by:
School of Software Engineering
Where:
Faculty of Computer Science
When:
4 year, 1-3 module
Mode of studies:
offline
Open to:
students of all HSE University campuses
Language:
English
ECTS credits:
10
Contact hours:
60
Course Syllabus
Abstract
Mathematical Methods for Distributed Ledger Systems: Distributed ledger technology (blockchain) was introduced in 2008 as a basis for the Bitcoin cryptocurrency and has found application in many areas: state registries, supply chain, financial sector, and others by the moment. The blockchain is based on beautiful mathematical approaches from cryptography, data structures and distributed algorithms, such as public-key cryptography, Merkle trees and consensus protocols, and challenges researchers with new ones. The course will tell you what a distributed ledger is, about its underlying theoretical principles and what current trends are in it. Mastering the material requires only standard computer science student skills, namely: • to be familiar with at least one high-level programming language and not be afraid of meeting new ones; • do not be afraid of power over a given field either on paper or in a computer; • draw pictures and display text in Jupyter notebook; • understand what an algorithm is.
Learning Objectives
- study of distributed ledger (blockchain) technology with an emphasis on its mathematical foundations, as well as technical and applied aspects
Expected Learning Outcomes
- The ability to simulate cryptographic primitives and simplest blockchains in the Jupiter laptop web application.
- Ability to design a blockchain application from the formulation of an application problem to a technical description.
- Ability to simulate cryptographic primitives and simplest blockchains in the Jupiter laptop web application.
- Ability to design a blockchain application from the formulation of an application problem to technical description.
- Be able to program and run simple smart contracts in Solidity language.
- Be able to program and run simple smart contracts on the Hyperledger platform
Course Contents
- Blockchain basics
- Cryptography basics
- Smart contracts
- Deeper into blockchain
- Private blockchains
Assessment Elements
- Blockchain Basics
- Smart Contracts Basics
- Cryptography Basics
- Smart contracts
- Bitcoin
- Blockchain data mining
Interim Assessment
- 2023/2024 учебный год 1 модуль=round(max(Intermediate * I(Intermediate >=6), 0.6 * Exam + 0.4 * Intermediate, Exam)), where * Intermediate = 0.5 * ([Blockchain Basics] + [Smart Contracts Basics]) * I(A) = 1, if an event A is true; and I(A) = 0, if A is false.
- 2023/2024 учебный год 3 модуль= I(Final exam > 0) * round(0.6 * Final exam + 0.4 * Intermediate) + I(Final exam == 0) * (Intermediate>= 6) * Intermediate, where * Intermediate = 1/3 * Term 1 grade + 1/6 * ([Bitcoin] + [Blockchain data mining] + [Cryptography Basics] + [Smart contracts])
Bibliography
Recommended Core Bibliography
- 9780128123003 - David LEE Kuo Chuen; Robert H. Deng - Handbook of Blockchain, Digital Finance, and Inclusion : Cryptocurrency, FinTech, InsurTech, Regulation, ChinaTech, Mobile Security, and Distributed Ledger. 2 Volume Set - 2017 - Elsevier Science - https://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=1348391 - nlebk - 1348391
- Handbook of blockchain, digital finance, and inclusion. Vol.1: Cryptocurrency, FinTech, InsurTech, and regulation, , 2018
- Introduction to cryptography, Buchmann, J., 2004
Recommended Additional Bibliography
- Handbook of blockchain, digital finance, and inclusion. Vol.2: China Tech, mobile security, and distributer ledger, , 2018
- Introduction to cryptography and network security, Forouzan, B. A., 2008