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.

Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA), per disabilità o altri bisogni educativi sono invitati a contattare il docente e il referente di Scuola per la disabilità all’inizio dell’insegnamento per concordare eventuali modalità didattiche che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali. 

I contatti del referente di Scuola per la disabilità sono disponibili al seguente link https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.

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

https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&_lang=it&include=corso

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.

Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA) possono richiedere adattamenti in sede d'esame, con almeno 7 giorni di anticipo rispetto alla data dell’esame, compilando il "modulo richieste adattamenti" (dai servizi online https://modulionline.unige.it/richiesta-adattamenti#no-back) che verrà inviato in automatico dal sistema al/alla docente responsabile dell’insegnamento e al/alla docente referente per gli studenti con disabilità e con DSA della propria Scuola/Area. 

Lo studente riceverà una copia della sua richiesta.