Insegnamento BLOCKCHAIN AND SMART CONTRACTS

Corso
Informatica
Codice insegnamento
A004650
Curriculum
Cybersecurity
Docente
Leonardo Mostarda
Docenti
  • Leonardo Mostarda
  • Stefano Bistarelli (Codocenza)
  • Ivan Mercanti (Codocenza)
Ore
  • 28 ore - Leonardo Mostarda
  • 7 ore (Codocenza) - Stefano Bistarelli
  • 28 ore (Codocenza) - Ivan Mercanti
CFU
9
Regolamento
Coorte 2024
Erogato
2024/25
Attività
Caratterizzante
Ambito
Discipline informatiche
Settore
INF/01
Tipo insegnamento
Obbligatorio (Required)
Tipo attività
Attività formativa monodisciplinare
Lingua insegnamento
Inglese
Contenuti
1)Introduzione e Bitcoin 2)Blockchain e DLT in generale
3)Elementi di crittografia4)Blockchain consensus protocols6)Ethereum 7)Problemi di scalabilità e soluzioni di secondo livello
Testi di riferimento
1) Mastering Bitcoin
Autore: Anas M. Antonopoulos
Editore: O'Reilly Media, Inc.
ISBN: 9781491902646, 9781491921982, 9781322403748, 1491902647, 1491921986, 1322403740
2) Mastering Ethereum : building smart contracts and DApps
Autori: Andreas M. Antonopoulos, Gavin Wood
Editore: O'Reilly Media, Inc.
ISBN: 9781491971949, 1491971940
3) Mastering Blockchain
Autori: Lorne Lantz, Daniel Cawrey
Editore: O'Reilly Media, Inc.
ISBN: 1147974642


Obiettivi formativi
Capire il significato di Blockchain, le varie tipologie e gli algoritmi di consenso che sono alla base.
Capire le nozioni più importanti di Bitcoin e Ethereum. Principi su come realizzare degli Smart Contract.
Prerequisiti
Nessuno in particolare
Metodi didattici
Lezioni frontali e di laboratorio. Possibili seminari di ospiti.
Altre informazioni
La frequenza è fortemente consigliata.
Modalità di verifica dell'apprendimento
L’esame sarà diviso in due parti:
-Colloquio orale della durata media di 30 minuti su argomenti di tutto il programma che evidenzia le capacità espositive dello studente, le sue capacità d'utilizzo appropriato di tecniche e nozioni fondamentali e l'approfondimento dello studio. Legato anche agli esercizi di laboratorio
-Progetto specifico da realizzare sugli argomenti del corso, assegnato dai docenti.

Su richiesta dello studente l'esame può' essere sostenuto in lingua Italiana o Inglese.

Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa
Programma esteso
Introduction and Bitcoin
-Informazioni sul corso: risorse, laboratori and esame
-storia e leggende bitcoin
-transazioni, indirizzi
-wallets (e full miner node, router node)
-funzionamento proof of work e problematiche di fork
-Blocchi, verifica e propagazione in blockchain
-linguaggio di scripting del bitcoin
-tipologie transazioni bitcoin (standard e non)
-statistiche sulle transazioni bitcoin (standard e non)
-Bitcoin: esempi di contratti, escrow, multisignatures

Blockchains and DLT in general
-Blockchain architecture
-Tipi di blockchains
-Limitiazioni della Blockchain e soluzioni di secondo livello

Elementi di crittografia
-Curve Ellittiche
- ECDSA
- Esempi di Bitcoin

Blockchain consensus protocols:
-Byzantine general problem
-PBFT
- BESU
-Proof of stake
-The tangle: IOTA
-Diversi consensus protocols

Ethereum
-Introduzione a Ethereum
-Concetti di base di Ethereum
-Ethereum Clients
-Wallets
-Transazioni
-Smart Contracts e Solidity
-Tokens
-Oracles
-Decentralized Applications (DApps)
-Ethereum Virtual Machine

Scalability issues and second layer:
-Sharding
-Payment channel e state channels
-Sidechain
-Delegation

Obiettivi Agenda 2030 per lo sviluppo sostenibile
si
Condividi su