BLOCKCHAIN AND DISTRIBUTED LEDGER TECHNOLOGIES Canale unico
Docente coordinatore e verbalizzante: MASSIMO LA MORGIA
Obiettivi formativi
Obiettivi generali:
Le blockchain costituiscono un paradigma nuovo e rivoluzionario per la gestione distribuita dei sistemi transazionali. Una blockchain è un protocollo per la gestione di ledger distribuiti, ossia per la memorizzazione decentralizzata di una sequenza di transazioni (ledger) a prova di manomissione, mantenuta e verificata dai nodi che partecipano alla rete. Una combinazione di reti peer-to-peer, consenso automatico, crittografia e meccanismi di mercato è al centro delle blockchain, che garantiscono così l'integrità e la trasparenza dei dati. Un numero crescente di piattaforme blockchain fornisce il supporto per i cosiddetti smart contract, ossia codice eseguibile che esprime come condurre attività di business tra le parti contraenti (ad esempio, trasferire beni digitali se una condizione è soddisfatta). La progettazione di un'applicazione sicura, verificabile ed efficiente basata su blockchain richiede la capacità di architettare correttamente le strutture comportamentali tra le parti coinvolte. Il corso copre in dettaglio i principi e le tecnologie alla base delle piattaforme blockchain e le proprietà che garantiscono, da un lato, e mira a fornire i mezzi per la creazione e l'analisi di soluzioni e applicazioni basate su blockchain, dall'altro.
Obiettivi specifici:
Il corso affronta quattro argomenti principali: 1) fondamenti delle blockchain e delle tecnologie distributed ledger; 2) programmazione dei contratti intelligenti; 3) sviluppo di un'applicazione blockchain-based full-stack; 4) valutazione e analisi di un'applicazione blockchain-based.
Conoscenza e comprensione:
Gli studenti apprenderanno le basi delle tecnologie blockchain e l'interazione delle tecniche sottostanti che portano all'immutabilità, persistenza e sicurezza delle piattaforme blockchain. Inoltre, impareranno a codificare smart contract e creare applicazioni decentralizzate (DApps) full-stack. Per progettare correttamente le DApps e i sistemi di token su cui si basano, gli studenti applicheranno i principi di modellazione ed esecuzione di processi. Sarà fornita anche una panoramica delle sfide di cybersecurity inerenti. Inoltre, i discenti guarderanno gli argomenti trattati da un punto di vista legislativo, al fine di considerare i vincoli normativi tra cui il rispetto della privacy degli utenti.
Applicazione di conoscenza e comprensione:
Al termine del corso, gli studenti avranno ottenuto una elevata comprensione dei pilastri fondamentali delle tecnologie per distributed ledger e delle blockchain. Avranno altresì la capacità di progettare e implementare sistemi basati su blockchain. Inoltre, produrranno report ad elevato livello informativo progettati per gli stakeholder delle applicazioni decentralizzate.
Autonomia di giudizio:
Gli studenti svilupperanno la capacità di valutare la qualità delle applicazioni decentralizzate e delle soluzioni basate su blockchain in generale dal punto di vista dell'affidabilità, della solidità comportamentale, del costo di esecuzione, dell'equilibrio del carico on-chain e off-chain, dell'applicabilità, della sicurezza informatica e della privacy.
Abilità comunicative:
Gli studenti impareranno a documentare le loro scelte progettuali, anche attraverso l'uso di diagrammi e reportistica. Avranno anche acquisito la capacità di preparare presentazioni su argomenti scientifici.
Capacità di apprendimento:
Le nozioni acquisite durante il corso forniranno agli studenti una solida base di conoscenza per poter ulteriormente approfondire gli aspetti più tecnici, e per mantenersi autonomamente informati sui continui sviluppi e aggiornamenti sulle blockchain e le distributed ledger technologies.
Risultati di apprendimento attesi
1. Conoscenza e capacità di comprensione (Knowledge and understanding)
Al termine del corso, lo studente possiede una conoscenza approfondita dei principi teorici e delle architetture delle tecnologie blockchain, con particolare riferimento ai protocolli di Bitcoin ed Ethereum. Comprende i meccanismi di consenso distribuito, la struttura dei registri immutabili, i modelli economici che regolano le criptovalute e le basi crittografiche che ne garantiscono la sicurezza.
Ha inoltre una solida comprensione dei principali protocolli di Finanza Decentralizzata (DeFi) e delle vulnerabilità e truffe più comuni nel contesto delle criptovalute e degli ecosistemi blockchain.
2. Capacità di applicare conoscenza e comprensione (Applying knowledge and understanding)
Lo studente è in grado di analizzare protocolli blockchain e DeFi, interpretandone il funzionamento tecnico e valutandone le proprietà di sicurezza, efficienza e scalabilità. È capace di applicare i modelli teorici e gli strumenti analitici studiati per comprendere e valutare casi reali, inclusi incidenti di sicurezza e schemi fraudolenti nel mondo delle criptovalute.
3. Autonomia di giudizio (Making judgements)
Lo studente sviluppa la capacità di valutare criticamente le caratteristiche e i limiti delle diverse tecnologie blockchain, formulando giudizi autonomi sull’affidabilità e la sostenibilità di protocolli o applicazioni decentralizzate. È in grado di riconoscere e analizzare situazioni di rischio, comportamenti fraudolenti e problematiche etiche legate all’uso delle criptovalute e della DeFi.
4. Abilità comunicative (Communication skills)
Lo studente è in grado di comunicare in modo chiaro, rigoroso e strutturato i concetti e le analisi relativi alle tecnologie blockchain, ai protocolli di consenso, alla DeFi e alla sicurezza dei sistemi distribuiti. È capace di presentare e discutere casi di studio o analisi critiche, sia in contesti accademici sia professionali, utilizzando la terminologia tecnica appropriata.
5. Capacità di apprendimento (Learning skills)
Lo studente acquisisce la capacità di aggiornarsi autonomamente sulle evoluzioni tecnologiche e scientifiche nel campo delle blockchain, delle criptovalute e della finanza decentralizzata. È in grado di leggere, comprendere e valutare criticamente articoli scientifici e documenti tecnici, mantenendo un approccio consapevole e critico verso le innovazioni e i rischi emergenti nel settore.
Prerequisiti
Nessun prerequisito.
Programma dell’insegnamento
Bitcoin
Hash and Data Structure based on Hash
Digital Signatures
Consensus on Bitcoin and PoW
Incentives in Bitcoin
Mining and mining pool
51% Attacks
Bitcoin Transactions
Bitcoin Script and scripts applications
Bitcoin Blocks
Soft and Hard Forks
Wallet and Bitcoin Storage
Ethereum
EOA and Smart Contracts Accounts
PATRICIA Merkle Trie
Gas and Gas Fee
Ethereum PoS Consensus protocols, Casper and GHOST
Ethereum Incentive Layer
MEV
Advanced Topics:
Pump and Dump.
NFT WashTrading.
Liquidity Pool and Rug Pull.
Testi di riferimento
Bitcoins:
Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, and Steven Goldfeder.
Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto. Link: https://bitcoin.org/bitcoin.pdf
Ethereum:
White paper: https://ethereum.org/en/whitepaper/
Ethereum documentation: https://ethereum.org/en/developers/docs/
Ethereum book: https://eth2book.info
Additional materials:
Mastering Bitcoin: https://github.com/bitcoinbook/bitcoinbook/tree/develop
Mastering Ethereum: https://github.com/ethereumbook/ethereumbook
Bibliografia
The doge of wall street: Analysis and detection of pump and dump cryptocurrency manipulations: Massimo La Morgia, Alessandro Mei, Francesco Sassi, Julinda Stefa
A game of NFTs: Characterizing NFT wash trading in the Ethereum blockchain: Massimo La Morgia, Alessandro Mei, Alberto Maria Mongardini, Eugenio Nerio Nemmi
Token Spammers, Rug Pulls, and Sniper Bots: An Analysis of the Ecosystem of Tokens in Ethereum and in the Binance Smart Chain : Federico Cernera, Massimo La Morgia, Alessandro Mei, Francesco Sassi
Modalità di svolgimento
Lezioni in presenza.
Frequenza
Sebbene la presenza in aula non sia obbligatoria, quest'ultima è fortemente consigliata.
Modalità di esame
L'esame è composto da due parti: Esame Scritto e Attività Pratiche.
1. Esame Scritto:
L'esame scritto si terrà nella data d'esame programmata. Consiste in 3 o 4 domande aperte.
2. Attività Pratiche:
Queste attività prevedono applicazioni pratiche dei concetti di blockchain e saranno assegnate durante il corso.
Requisiti per il Superamento
Esame Scritto: È richiesto un punteggio minimo di 18 punti per superare questa parte.
Attività Pratiche: Il completamento di tutte le attività assegnate è obbligatorio per superare questa parte.
Esempi di domande
What are the key properties of a cryptographically secure hash function?
Explain the Merkle-Damgård construction. What issue does it address, and how does it work?
Suppose you have a 2024-bit string and a hash function that uses a compression function with a 768-bit input and a 256-bit output. Into how many chunks should the string be divided, and what should be the length of each chunk?
How does a digital signature scheme operate? Describe the two essential properties required for its security and effectiveness.
What are the economic incentives that drive participation in the Bitcoin network?
What is the block reward in Bitcoin? How has it changed over time, and what will happen to it in the future?
How does the proof-of-work mechanism function in Bitcoin?
What is a Coinbase transaction, and how does it differ from other transactions?
How many decimal places does a Bitcoin have?
Define what a "Satoshi" is in the context of Bitcoin.
What is a 51% attack? Describe the types of attacks it enables and how such attacks could be executed.
What is Bitcoin halving, and when does it happen?
What are Bitcoin “UTXOs”? Explain their role in tracking Bitcoin balances and enabling transaction verification
How does Bitcoin’s lock time feature work? Provide an example of how lock time can be used in a transaction.
Describe how a micro-payment system can be implemented using Bitcoin scripts.
What is a Bitcoin multi-signature account, and how is it used?
What is a Bitcoin wallet? Explain the differences between custodial and non-custodial wallets and between hot and cold wallets
Programmazione delle attività didattiche
- Introduzione e concetti fondamentali
- Bitcoin
- Ethereum
- Argomenti avanzati
Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030
- Anno accademico2024/2025
- Corso di studio a cui afferisce l’insegnamentoComputer Science - Informatica
- Codice insegnamento10600490
- Anno e semestre2º anno - 1º semestre
- TipologiaAttività formative caratterizzanti
- AmbitoDiscipline Informatiche
- SSDINF/01
- Presenza obbligatoriaNo
- Linguaita
- CFU6 CFU
- Durata complessiva60 ore
- Distribuzione delle ore36 classroom hours, 24 training hours