Peer-to-Peer Systems and Blockchain

Code
USEET4

Description

The course covers the following topics: 

  • Peer-to-peer Systems: general concepts, unstructured overlays: Flooding, Random Walks, Epidemic Diffusion, structured overlays: Distributed Hash Tables (DHT), Routing on a DHT, IPFS. 
  • Blockchains: basic concepts, basic cryptographic tools (digital signatures, cryptographic hash, Zero-Knowledge,..), data structures: Merkle trees, Merkle Patricia tries.  
  • Bitcoin: transaction and block structure.  Mining : Proof of Work, rewards. Bitcoin: attacks, 51%, double spending. Bitcoin: tracciabilità e mixing. Structure of the P2P network. 
  • Bizantine Fault-Tolerance (BFT) Consensus and BFT-based blockchains. 
  • Ethereum: smart contract, gas. Consensus: from PoW to PoS. Ethereum: Solidity, smart contracts programming. Smart contract security and attacks. 
  • Distributed Ledgers Applications: tokens (fungible and non-fungible), Self Sovereign Identity, Supply-chains. 
  • Scalability enhancement: Zero Knowledge rollup e optimistic roll-up, side chain, inter-chain protocols, channel networks (Lightning network). 

  complementary content:  

  • Peer to peer system: applications BitTorrent, a Content Distribution Network, implementation of the Kademlia  DHT.  

Finalité

The student will acquire knowledge relative to the development of distributed systems, in particular of blockchain-based systems. 

At the end of the course, the student 

  • will be able to develop a distributed application. 
  • will be able to develop a smart contract. 
  • will be able to understand consensus mechanisms. 

Description des modalités d'évaluation

At the end of the course, the student must submit the final project to be evaluated. 

Public

  • Computer Networks.  
  • At least one programming language. 
  • Algorithmics. 
Nombre d’ECTS
5
Modalité(s) d'évaluation
Contrôle continu
Examen final
Projet(s)
Date de fin de validité
Déployabilité
Offre déployable dans le réseau en cas d'agrément

Contactez-nous au sujet de cette unité