Scheda programma d'esame
PEER TO PEER SYSTEMS AND BLOCKCHAINS
(PEER TO PEER SYSTEMS)
LAURA EMILIA MARIA RICCI
Anno accademico2022/23
CdSINFORMATICA
Codice261AA
CFU6
PeriodoSecondo semestre
LinguaInglese

ModuliSettoreTipoOreDocente/i
SISTEMI PEER TO PEERINF/01LEZIONI48
LAURA EMILIA MARIA RICCI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Al termine del corso, lo studente acquisirà conoscenze in merito alla progettazione di sistemi peer to peer e di sistemi basati su blockchain.

Knowledge

The student will acquire knowledge relative to the development of distributed systems, in particular of blockchain-based systems.

 

Modalità di verifica delle conoscenze

Per l'accertamento delle conoscenze saranno svolte delle due prove in itinere, un midterm ed un final term. Infine sarà svolto un progetto finale.

Assessment criteria of knowledge

The student will be required to submit two assignments, a midterm and a final term, during the course. At the end of the course, the student must submit the final project. 

Capacità

Al termine del corso:

  • lo studente saprà sviluppare una applicazione distribuita
  • lo studente saprà sviluppare smart contract
  • lo studente conioscerà diversi meccanismi di consenso
Skills

At the end of the course, the student

  • will be able to develop a distributed application
  • will be able to develop a smart contract
  • will be able to understand consensus mechanisms
Modalità di verifica delle capacità

Saranno effettutate delle verifiche intermedie

  • Sarà svolto un pogetto finale per la verifica della acquisizione delle capacità
Assessment criteria of skills
  • mmid term and final term+ a final project will assess the acquisition of the skills.
Comportamenti
  • Lo studente potrà acquisire e/o sviluppare sensibilità alle problematiche relative all'uso di criptomonete
Behaviors

Acquisition of sensibility relative to the use of cryptocurrencies.

Modalità di verifica dei comportamenti
  • Il mid term e final term dovranno essere accompagnati da brevi relazioni
Assessment criteria of behaviors
  • Student is required to submit a report for the mid  and for the final term
Prerequisiti (conoscenze iniziali)
  • Reti di Calcolatori
  • Algoritmica
  • Conoscenza di almeno un linguaggio di programmazione
Prerequisites
  • Computer Networks
  • Algorithms
  • Programming skills
Indicazioni metodologiche
  • lezioni online
  • sito di e-learning contenente materiale didattico
  • progetto didattico
  • prove intermedie
  • il corso è tenuto in lingua inglese
Teaching methods
  • online lessons
  • web site including didactic material
  • intermediate proofs
  • language: English
  • e-learning site reporting didactic material
Programma (contenuti dell'insegnamento)

Introduction to the course

Peer to Peer 

  • Peer to Peer (P2P) systems: general concepts
  • Unstructured Overlays: Flooding, Random Walks, Epidemic Diffusion
  • Structured Overlays: Distributed Hash Tables (DHT),Routing on a DHT, IPFS

Case Studies:

  • BitTorrent as a Content Distribution Network
  • KAD implementation of the Kademlia DHT

Cryptocurrencies and Blockchains

  • basic concepts: a review of basic cryptographic tools (digital signatures, cryptographic hash, Merkle trees.,..)
  • blockchains: definitions
  • distributed consensus: definitions

the Bitcoin blockchain

  • Bitcoin mining mechanism: Nakamoto consensus
  • pseudoanonymity: traceability and mixing
  • the Bitcoin P2P Network
  • scalability issues: the Lightning Network

Ethereum: programmng smart contracts with Solidity

Applications of blockchains: tokens, supply chain, crytocurrencies

Further Consensus mechanisms: Proof of Stake, Proof of Space, Byzantine consensus

Syllabus

P2P Topologies

  • Peer to Peer (P2P) systems: general concepts
  • Unstructured Overlays: Flooding, Random Walks, Epidemic Diffusion
  • Structured Overlays: Distributed Hash Tables (DHT), Routing on a DHT

Case Studies:

  • BitTorrent as a Content Distribution Network
  • KAD implementation of the Kademlia DHT

Cryptocurrencies and Blockchains

  • basic concepts: a review of basic cryptographic tools (digital signatures, cryptographic hash, Merkle trees.,..)
  • blockchains: definitions
  • distributed consensus: definitions

the Bitcoin blockchains

  • Bitcoin mining mechanism: Nakamoto consensus
  • pseudoanonymity: traceability and mixing
  • the Bitcoin P2P Network
  • anonimitysupply chain
  • scalability issues

Bitcoin Extensions/alternatives: altcoins, sidechains, 

Ethereum: programming smart contracts

Applications of blockchain: non fungible tokens

Alternative consensus mechanisms: proof of stake, proof of space, byzantine fault tolerance

Bibliografia e materiale didattico

Materiale fornito dal docente e presente sul sito di e-learning

Bibliography

Slides and didactic content published on the web site of the course

Indicazioni per non frequentanti

Le slide presentate durante le lezioni sono pubblicate su web, sul sito del corso.

https://elearning.di.unipi.it/course/view.php?id=218

Non-attending students info

All the slides presented during the course will be published on the web site of the course.

Modalità d'esame

Progetto + Orale. Il superamento del mid term e del final term esonera lo studente dall'orale

Assessment methods

Final project + oral exam. Oral exam can be substituted by mid+final term.

Additional web pages

No one.

Note

Nessuna

Notes

No one.

Ultimo aggiornamento 15/08/2022 22:51