UNIPI
M.Sc. in Computer Science
Polo Fibonacci, University of Pisa
Laura RICCI
2
48
The student will acquire knowledge relative to the development of distributed systems, in particular of blockchain-based systems.
Computer Networks, Algorithms, Programming skills
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