(PEER TO PEER SYSTEMS)
CdSINFORMATICA
Codice261AA
CFU6
PeriodoSecondo semestre
LinguaInglese
Moduli | Settore/i | Tipo | Ore | Docente/i | |
SISTEMI PEER TO PEER | INF/01 | LEZIONI | 48 |
|
Al termine del corso, lo studente acquisirà conoscenze in merito alla progettazione di sistemi peer to peer e di sistemi basati su blockchain.
The student will acquire knowledge relative to the development of distributed systems, in particular of blockchain-based systems.
Per l'accertamento delle conoscenze saranno svolte delle due prove in itinere, un midterm ed un final term. Infine sarà svolto un progetto finale.
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.
Al termine del corso:
- lo studente saprà sviluppare una applicazione distribuita
- lo studente saprà utilizzare strumenti per l'analisi di reti complesse
At the end of the course, the student
- will be able to develop a distributed application
- will be able to analyse a complex network
- Saranno effettutate delle verifiche intermedie
- Sarà svolto un pogetto finale per la verifica della acquisizione delle capacità
Two mid term assignments + a final project will assess the acquisition of the skills.
- Lo studente potrà acquisire e/o sviluppare sensibilità alle problematiche relative all'uso di criptomonete
Acquisition of sensibility relative to the use of cryptocurrencies.
- Il mid term e final term dovranno essere accompagnati da brevi relazioni
Student is required to submit a report for the mid and for the final term
- Reti di Calcolatori
- Algoritmica
- Conoscenza di almeno un linguaggio di programmazione
- Computer Networks
- Algorithms
- Programming skills
- lezioni online
- sito di e-learning contenente materiale didattico
- progetto didattico
- prove intermedie
- il corso è tenuto in lingua inglese
- online lessons
- intermediate proofs
- language: English
- e-learning site reporting didactic material
Introductiontechnologies
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
- game-based cooperation
Complex Network for the analysis of P2P systems
- Network models
- Random Graphs and Small Worlds
- Small World navigability: Watts Strogatz and Kleinberg.
- Complex networks navigability
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
- Nakamoto consensus
- Bitcoin mining mechanism
- pseudoanonymity: traceability and mixing
the Bitcoin P2P Network
- Bitcoin ecosystem
- scalability issues
Ethereum: programmng smart contracts with Solidity
Applications of blockchains
- Ethereum: programming smart contracts
- Blockchain 1.0: cryptocurrencies
- Blockchain 2.0: financial instruments built on cryptocurrencies
- Blockchain 3.0: applications beyond cryptocurrencies: voting, IoT
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, game-based cooperation
Complex Network for the analysis of P2P systems
- Network models
- Random Graphs and Small Worlds
- Small World navigability: Watts Strogatz and Kleinberg.
- Complex networks navigability
Cryptocurrencies and Blockchains
- basic concepts: a review of basic cryptographic tools (digital signatures, cryptographic hash, Merkle trees.,..)
- blockchains: definitions
- distributed consensus: denitions
the Bitcoin blockchains
- Nakamoto consensus
- Bitcoin mining mechanism
- pseudoanonymity: traceability and mixing
the Bitcoin P2P Network
- Bitcoin ecosystem
- scalability issues
Bitcoin Extensions/alternatives: altcoins, sidechains, the StellarConsensus Protocol, Ripple
Ethereum: programming smart contracts
Applications of blockchains
- Ethereum: programming smart contracts
- Blockchain 1.0: cryptocurrencies
- Blockchain 2.0: financial instruments built on cryptocurrencies
- Blockchain 3.0: applications beyond cryptocurrencies: voting, IoT
Materiale fornito dal docente e presente sul sito di e-learning
Le slide presentate durante le lezioni sono pubblicate su web, sul sito del corso.
https://elearning.di.unipi.it/course/view.php?id=218
All the slides presented during the course will be published on the web site of the course.
Progetto + Orale. Il superamento del mid term e del final term esonera lo studente dall'orale
Final project + oral exam. Oral exam can be substituted by mid+final term.
https://elearning.di.unipi.it/course/view.php?id=218
No one.
Nessuna
No one.