BLOCKCHAIN AND CRYPTOCURRENCIES
Academic Year 2025/2026 - Teacher: MARIO DI RAIMONDOExpected Learning Outcomes
In terms of expected results, the goals of this course are:
- Knowledge and understanding. Students will learn the fundamental ideas and the basic principles underlying Bitcoin and other cryptocurrencies. Students will also get familiarity with the main cryptographic primitives underlying modern cryptocurrencies.
- Applying knowledge and understanding. Students will be able to actively use systems based on blockchain such as Bitcoin and Ethereum.
- Making judgements. By studying attacks and concrete examples students will be able to understand the security of the presented schemes. Moreover they will learn how to use solutions providing high security guarantees.
- Communication Skills. Students will learn how to properly communicate using the technical language of modern cryptocurrencies.
- Learning Skills. A goal of this course is to provide a good good theoretical and practical background of modern cryptography. It is expected that students will learn how to autonomously address problems that require the usage of concepts like blockchain, proof of work and smart contracts.
Course Structure
If the course is taught in a blended or distance learning format, any necessary changes to the previously stated curriculum may be made in order to comply with the planned program outlined in the syllabus.
Required Prerequisites
This course assumes familiarity with programming. A basic background in cryptography is recommended.
Attendance of Lessons
Detailed Course Content
Textbook Information
Main Book
[1] Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction
(Author's preprint edition is available free of charge at: https://bitcoinbook.cs.princeton.edu/)
Other recommended readings:
[2] Bitcoin Developer Reference https://bitcoin.org/en/developer-reference
[3] Ethereum “white” paper: https://github.com/ethereum/wiki/wiki/White-Paper
[4] Ethereum “yellow” paper: http://gavwood.com/paper.pdf
[5] Zerocoin: Anonymous Distributed e-cash from Bitcoin.
[6] Zerocash: Decentralized Anonymous Payments from Bitcoin
[7] Algorand: Scaling Byzantine Agreements for Cryptocurrencies
[8] Guida "Solidity": https://solidity.readthedocs.io
Course Planning
| Subjects | Text References | |
|---|---|---|
| 1 | Introduction to Cryptography and Cryptocurrencies | Chap. 1 in [1] |
| 2 | How Bitcoin achieves decentralization. | Chap 2 in [1] |
| 3 | Bitcoin Mechanics | Chap. 3 in [1], more details in [2] |
| 4 | How to store and manage Bitcoins | Chap. 4 in [1] |
| 5 | Privacy and Anonymity for Cryptocurrencies | Chap. 6 in [1], more details in [5] and [6] |
| 6 | Other aspects of Bitcoin: community, politics, controversies, and extensions | Chaps. 7 and 9 in [1] |
| 7 | Ethereum and Smart contract applications & security | Chap. 10 in [1], slides and more details in [3] and [4] |
| 8 | Alternative approaches to mining and consensus | Chap. 8, slides and more details in [7] |
| 9 | Ethereum lab. Smart contracts, the Ethereum Virtual Machine (EVM), and an introduction to writing smart contracts using the Solidity language. | [8] |
Learning Assessment
Learning Assessment Procedures
Ongoing tests: There is the option to take one or more ongoing tests on the theoretical content of the course.
Assessment may also be conducted online, if conditions require.
The grade, combined with the laboratory module, is assigned according to the following scheme:
- Failed: The student has not mastered the basic concepts and is unable to answer at least 60% of the questions or complete the theoretical and practical exercises.
- 18-20: The student demonstrates a barely adequate mastery of the basic concepts and/or is able to construct the theoretical/practical exercises with great difficulty and numerous errors.
- 21-24: The student demonstrates minimal mastery of the basic concepts, his/her ability to connect the content is modest, and he/she is able to solve simple exercises.
- 25-27: The student demonstrates a good command of the course content, good connection skills, and completes the exercises with few errors.
- 28-30 cum laude: The student has mastered all the course content and is able to fully master it and connect it critically; he or she completes the exercises completely and without significant errors.
Students with disabilities and/or learning disabilities (LD) must contact the instructor, the DMI CInAP representative, and CInAP well in advance of the exam date to communicate their intention to take the exam with appropriate compensatory measures.
To take the final exam, you must have booked on the SmartEdu portal. For any technical issues regarding the booking, please contact the Academic Secretariat.
Examples of frequently asked questions and / or exercises
Exercises on the cryptographic tools and primitives introduced (e.g., demonstrating that a given protocol is not zero-knowledge).
Examples of Solidity smart contracts will be discussed in class. All previous lab assignments will be made available.