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

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

Apprendere le tecniche e le problematiche relative ai sistemi basati su blockchain permissioned e permissionless, e ai sistemi decentralizzati in generale, esaminando con particolare attenzione gli aspetti legati alla sicurezza.

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.

Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/10852/studenti-disabilita-dsa

 

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.