P2P Systems 16-17: Syllabus
This course introduces the basic principles and tools to define and develop a peer to peer (P2P) system, with a focus on the distributed technology of blockchains and on the cryptocurencies.
The first part of the course introduces the general concepts underlying any P2P system (topology, information diffusion,...). This part also present several case studies.
Cryptocurrencies and, more in general, blockchains, are a recent "killer application" in the area of P2P systems. The second part of the course presents and discusses the blockchain technology and the decentralized digital currencies (cryptocurrencies) such as Bitcoin. The course introduces both the theory and principles at the basis of cryptocurrencies operations and practical examples of their use. This part introduces the cryptocurrency ecosystem and discusses the existing and potential interaction of cryptocurrencies with the banking, financial, legal and regulatory environment. Lastly the course details how innovative applications exploit blockchain technology
Syllabus
- Peer to Peer (P2P) systems: general concepts
- P2P Topologies
- 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
- Random Graphs and Small Worlds
- Small world navigability: Watts Strogatz and Kleinberg.
- Complex networks navigability
- Case Studies: Darknet Freenet
- Blockchains
- basic concepts: review of basic cryptographic tools (digital signatures, cryptographic hash, Merkle trees.,..)
- blockchains: definitions
- distributed consensus: definitions
- Cryptocurrencies evolution
- the Bitcoin protocol
- Nakamoto consensus
- Bitcoin mining mechanisms, decentralization
- pseudoanonymity: traceability and mixing
- the Bitcoin P2P Network
- Bitcoin ecosystem
scalability issues
applications and security
- Bitcoin Extensions/alternatives
- overview of altcoins
- the Stellar Consensus Protocol
- sidechains
- Further applications of the block chains
- Ethereum: programming smart contracts
- title records, timestamping, lotteries, and randomness.
- criptocurrencies and traditional finance
- Legal aspects of cryptocurrencies