Skip to main content
CODE 108872
ACADEMIC YEAR 2025/2026
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE English
TEACHING LOCATION
  • GENOVA
SEMESTER 1° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

This course will explore the fundamentals of blockchains, their cryptographic principles, smart contracts, and some frameworks introduced to help developers building decentralized applications in the Web3 ecosystem.

AIMS AND CONTENT

LEARNING OUTCOMES

Learning the techniques and problems related to systems based on permissioned and permissionless blockchains, and decentralized systems in general, examining with particular attention the aspects related to security.

AIMS AND LEARNING OUTCOMES

Regular attendance and active participation in the proposed educational activities, along with individual study, will enable students to understand the challenges related to the design of decentralized systems. In particular, students will be able to:

  • discuss decentralized consensus algorithms and their use in peer-to-peer networks;
  • explain how cryptographic techniques guarantee the security of distributed ledgers;
  • analyze basic scalability issues in blockchain architectures, including some solutions proposed in the literature;
  • discuss some security and privacy issues in blockchain architectures and their countermeasure;
  • Iimplement basic smart contracts interacting with programmable blockchains (e.g., Ethereum, Solana);
  • use available tools and libraries to interact with deployed smart contracts;
  • understand basic economic, ethical and environmental problems behind blockchain platforms.

PREREQUISITES

To be successful in this course, students should have basic knowledge on:

  • Computer networks
  • Distributed systems
  • Programming (JavaScript, Python)

TEACHING METHODS

Lectures and hands-on activities which are preparatory for the completion of the assignments discussed during the oral exam.

SYLLABUS/CONTENT

  • How to build a shared state without central authorities
    •  Algorithms to achieve consensus in a decentralized and adversarial system (e.g.,  Byzantine, PoW, PoS, ...)
    •  Cryptographic techniques
    •  Peer-to-peer network protocols
  • Programmable blockchains and decentralized applications
    •  Languages and frameworks for smart contracts and client applications
    •  Peer-to-peer file systems
    •  Practicing with test networks
    •  Writing secure and efficient code
  • Scalability issues and solutions
    •  Layer 2 (off-chain) networks
  • Security and Privacy issues
    •  Anonymizing and de-anonymizing users and transactions
    •  Attacks and defenses for smart contracts

RECOMMENDED READING/BIBLIOGRAPHY

The recommended bibliography, consisting mainly of freely accessible online resources, will be indicated and discussed during lectures and made available on the AulaWeb page of the course.

TEACHERS AND EXAM BOARD

LESSONS

LESSONS START

According to the calendar approved by the Degree Program Board: https://corsi.unige.it/corsi/10852/studenti-orario

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The exam consists of the following parts: (i) a written test and (ii) an oral presentation during which students will discuss their assignments.

ASSESSMENT METHODS

The written test, which serves as the admission to the assignments discussion, consists of questions related to the topics covered in class and it allows the evaluation of the student's theoretical knowledge acquired during the course. For the oral part, students will be evaluated based on the quality of the produced code and the completeness of the reports. The written test and the assignments discussion take place in the same session.

FURTHER INFORMATION

For further information, please refer to the course’s AulaWeb module or contact the instructor.