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 début de validité
- Date de fin de validité
- Déployabilité
- Offre déployable dans le réseau en cas d'agrément