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

PRESENTAZIONE

Questo corso esplorerà i fondamenti delle blockchain, i loro principi crittografici, gli smart contract e alcuni framework introdotti per aiutare gli sviluppatori nella realizzazione di applicazioni decentralizzate nell’ecosistema Web3.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

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.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

La frequenza regolare e la partecipazione attiva alle attività didattiche proposte, insieme allo studio individuale, permetteranno agli studenti/alle studentesse di comprendere le sfide legate alla progettazione dei sistemi decentralizzati. In particolare, gli studenti/le studentesse saranno in grado di:

  • discutere gli algoritmi di consenso decentralizzato e il loro utilizzo nelle reti peer-to-peer;
  • spiegare come le tecniche crittografiche garantiscano la sicurezza dei ledger distribuiti;
  • analizzare i principali problemi di scalabilità nelle architetture blockchain, incluse alcune soluzioni proposte in letteratura;
  • discutere alcuni problemi di sicurezza e privacy nelle architetture blockchain e le relative contromisure;
  • implementare smart contract di base pubblicabili su blockchain programmabili (ad esempio, Ethereum, Solana);
  • utilizzare strumenti e librerie open-source per interagire con gli smart contract pubblicati;
  • comprendere i problemi economici, etici e ambientali legati alle piattaforme blockchain.

PREREQUISITI

Per avere successo in questo corso, gli studenti/le studentesse dovrebbero possedere conoscenze di base su:

  • Reti di comunicazione
  • Sistemi distribuiti
  • Programmazione (JavaScript, Python)

MODALITA' DIDATTICHE

Lezioni frontali e attività pratiche, propedeutiche allo svolgimento degli assignment che saranno discussi durante l’esame orale.

PROGRAMMA/CONTENUTO

  • Come costruire uno stato condiviso senza autorità centrali
    • Algoritmi per raggiungere il consenso in un sistema decentralizzato e adversariale (ad es. Byzantine, PoW, PoS, ...)
    • Tecniche crittografiche
    • Protocolli di rete peer-to-peer
  • Blockchain programmabili e applicazioni decentralizzate
    • Linguaggi e framework per smart contract e applicazioni client
    • File system peer-to-peer
    • Utilizzo di reti di test
    • Scrittura di codice sicuro ed efficiente
  • Problemi di scalabilità e relative soluzioni
    • Reti Layer 2 (off-chain)
  • Problemi di sicurezza e privacy
    • Anonimizzazione e deanomizzazione di utenti e transazioni
    • Attacchi e difese per smart contract

TESTI/BIBLIOGRAFIA

La bibliografia consigliata, composta principalmente da risorse online liberamente accessibili, sarà indicata e discussa durante le lezioni e resa disponibile sulla pagina AulaWeb del corso.

DOCENTI E COMMISSIONI

LEZIONI

INIZIO LEZIONI

In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/10852/studenti-orario

Orari delle lezioni

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

ESAMI

MODALITA' D'ESAME

L’esame si compone delle seguenti parti: (i) una prova scritta e (ii) una presentazione orale durante la quale gli studenti/le studentesse discuteranno i propri assignment.

MODALITA' DI ACCERTAMENTO

La prova scritta, che costituisce requisito di ammissione alla discussione degli assignment, consiste in domande relative agli argomenti trattati a lezione e permette di valutare le conoscenze teoriche acquisite dallo studente/dalla studentessa durante il corso. Per la parte orale, la valutazione si baserà sulla qualità del codice prodotto e sulla completezza delle relazioni. La prova scritta e la discussione degli assignment si svolgono nella stessa sessione.

ALTRE INFORMAZIONI

Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare i docenti.