Salta al contenuto principale
CODICE 108872
ANNO ACCADEMICO 2023/2024
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

Questo insegnamento esplorerà i fondamenti delle blockchain, i loro principi crittografici, i contratti intelligenti e alcuni framework introdotti per aiutare gli sviluppatori a costruire applicazioni decentralizzate nell'ecosistema Web3.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Can a fully decentralized system be sustainable? We will study 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.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

At the end of the course, 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
ANALYSE basic scalability issues in blockchain architectures and DESCRIBE some solutions proposed in the literature
DISCUSS some security and privacy issues in blockchain architectures and their countermeasure
IMPLEMENT 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

PREREQUISITI

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

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

MODALITA' DIDATTICHE

This course includes lectures, practical exercises, and self-study at home.

PROGRAMMA/CONTENUTO

  • 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
    •  Sharding: reducing computational redundancy
  • Security and Privacy issues
    •  Anonymizing and de-anonymizing users and transactions
    •  Attacks and defenses for smart contracts

TESTI/BIBLIOGRAFIA

Scientific papers and other resources will be indicated on AulaWeb during the course.

DOCENTI E COMMISSIONI

Commissione d'esame

MATTEO DELL'AMICO (Presidente)

GIOVANNI LAGORIO

MARINA RIBAUDO (Presidente Supplente)

LEZIONI

INIZIO LEZIONI

See the official calendar of the MSc in Computer Science. The schedule for all the courses can be found on EasyAcademy.

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

Oral examination with discussion of the:

  • practical exercises assigned during the course
  • theory introduced during lectures

MODALITA' DI ACCERTAMENTO

During the oral exam students will be evaluated based on:

  • the quality of the produced code and the completeness of the reports
  • their understanding of the theoretical concepts covered in the course
  • their presentation skills

Calendario appelli

Data appello Orario Luogo Tipologia Note
23/02/2024 09:00 GENOVA Esame su appuntamento
02/08/2024 09:00 GENOVA Esame su appuntamento
20/09/2024 09:00 GENOVA Esame su appuntamento