Peer to peer systems and blockchains

Provided by: 



M.Sc. in Computer Science


Polo Fibonacci, University of Pisa








Educational Goals: 

This course introduces the basic principles and tools to define and develop a peer to peer (P2P) system, with a focus on Distributed Hash Tables and 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 (Bittorrent, the KAD network,..).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


A basic course in networking


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: _ 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 _ Bitcoin Extensions/alternatives: altcoins, sidechains, the StellarConsensus Protocol Ð 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 (DNS, lotteries, vot- ing, IoT...)
Zircon - This is a contributing Drupal Theme
Design by WeebPal.