Peer to peer systems and blockchains

Code 261AA
Credits 6

Learning outcomes

Objectives - Introduction of the basic technologies for the development of highly distributed systems and
of some real scenarios exploiting them. Presentation of the disruptive technology of blockchains, and its numerous applications to different fields.
P2P Topologies (2 CFU)
- Peer to Peer (P2P) systems: general concepts (1/2 CFU)
- Unstructured Overlays: Flooding, Random Walks, Epidemic Diffusion (1/2 CFU)
- Structured Overlays: Distributed Hash Tables (DHT), Routing on a DHT (1/2 CFU)
- Case Studies: Bittorrent as a Content Distribution Network: KAD implementation of the Kademlia DHT, game-based cooperation (1/2 CFU)
Complex Network for the analysis of P2P systems (2 CFU)
- Network models (1 CFU)
- Case Studies: Darknet Freenet (1 CFU)
Cryptocurrencies and Blockchains (5 CFU)
- basic concepts: (1 CFU)
- the Bitcoin protocol (2 CFU)
Bitcoin Extensions/alternatives (1/2 CFU)
- overview of altcoins
- sidechains
- the Stellar Consensus Protocol
Further applications of blockchains (1 CFU)
- Ethereum: programming smart contracts
- Blockchain 1.0: cryptocurrencies
- Blockchain 2.0: financial instruments built on cryptocurrencies
- Blockchain 3.0: applications beyond cryptocurrencies (DNS, lotteries, voting, IoT...)
Legal aspects of cryptocurrencies (1/2 CFU)