Technologie Blockchain¶
Volume horaire : 16h CM · 8h TP (24h)
Objectifs pédagogiques¶
- Comprendre les principes fondamentaux d'une blockchain (structure de données, chaînage cryptographique, décentralisation).
- Comprendre les principaux mécanismes de consensus (preuve de travail, preuve d'enjeu, consensus byzantin) et leurs compromis.
- Comprendre le fonctionnement des smart contracts et leurs risques de sécurité spécifiques.
- Développer un regard critique sur les usages, limites et enjeux réglementaires de la technologie blockchain.
Prérequis¶
Ce module s'appuie fortement sur les notions du module Cryptographie (fonctions de hachage, signatures numériques, arbres de Merkle) : il est recommandé de suivre ce dernier en amont ou en parallèle.
Plan de séances¶
Cours magistraux (16h)¶
Travaux pratiques (8h)¶
Évaluation¶
- TP notés : 40 %
- Exposé sur un cas d'usage ou une faille blockchain réelle : 20 %
- Examen final : 40 %
Environnement technique¶
Python pour le TP1/TP2 ; Remix IDE (en ligne, environnement de test local) et Solidity pour les TP3/TP4 — aucune manipulation sur un réseau principal (mainnet) réel ni de fonds réels dans le cadre de ce cours.
Bibliographie¶
- A. Antonopoulos, Mastering Bitcoin.
- A. Antonopoulos, G. Wood, Mastering Ethereum.
- S. Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System (2008).
- ConsenSys, Smart Contract Best Practices.
Dr. Zakaria Sawadogo — École Polytechnique de Ouagadougou