77804 - SISTEMI PEER-TO-PEER

Scheda insegnamento

Anno Accademico 2018/2019

Conoscenze e abilità da conseguire

Al termine del corso lo studente conosce le varie tecniche e soluzioni architetturali e algoritmiche alla base dei principali sistemi P2P, usati in applicazioni reali e proposti nella letteratura scientifica. Lo studente sa progettare e sviluppare sistemi e applicazioni distribuiti che sfruttano protocolli di interazione e (auto-)organizzazione basati sul paradigma P2P.

Programma/Contenuti

Attualmente, il sistema P2P più in auge è rappresentato dalla blockchain e dai distributed ledger. Buona parte del corso sarà quindi incentrato su tali tematiche.

Bitcoin e le nuove criptovalute hanno generato un vasto interesse. Sempre più utenti si interessano e investono su queste tecnologie, mentre altri etichettano queste innovazioni come una pericolosa bolla speculativa, con potenziali applicazioni di carattere illegale. La verità è che ogni tecnologia è di per sé neutra. La blockchain, così come tutte le implementazioni di un "distributed ledger", rappresenta una interessante tecnologia che può essere utilizzata per costruire nuove applicazioni distribuite.

Gli elementi che compongono una blockchain, e in general un distributed ledger, sono strettanente collegati ad aspetti fondamentali dell'informatica. Questo corso si propone di illustrare i principi della blockchain e delle criptovalute.

Programma

  • Introduzione ai sistemi Peer-to-Peer

  • Tipologie di overlay e decentralizzazione

  • Introduzione alle criptovalute

  • La blockchain: come si ottiene la decrentralizzazione

  • Transazioni e linguaggi di scripting

  • Mining

  • Attacchi alla blockchain

  • Anononimità

  • Smart contracts

 

Testi/Bibliografia

Dispense e slide fornite dal docente, assieme ad articoli e riferimenti bibliografici.

Il materiale fornito sarà principalmente in lingua inglese.

Metodi didattici

Lezioni frontali

Modalità di verifica dell'apprendimento

La prova d'esame mira a verificare il raggiungimento degli obiettivi del corso. La verifica dell'apprendimento avviene attraverso il solo esame finale, che accerta l'acquisizione delle conoscenze e delle abilità attese tramite lo svolgimento di una prova di progetto.

Strumenti a supporto della didattica

Piattaforma di e-learning dell'Ateneo

Orario di ricevimento

Consulta il sito web di Stefano Ferretti