Descriptif
Les blockchains sont des applications distribuées qui fournissent à leurs utilisateurs une liste de données totalement ordonnée et ne pouvant être modifiée que par ajout. Leur application principale consiste à tenir lieu de grand livre de comptes de transactions entre utilisateurs. Ce cours est motivé par plusieurs enjeux de sécurité:
\begin{itemize}
\item L'identité et la détention d'argent sur la blockchain est synonyme de détention de la secret signature key (sk) permettant de signer des transferts d'argent au nom de la verification key publique du compte ($\vk$). Toute perte (ou piratage) de la $\sk$ équivaut donc à la perte instantanée de l'argent sur le compte. Le mapping compte$\leftrightarrow \!\vk$, couplé à l'absence d'autorité centrale, permet donc des transferts échappant à toute régulation.
\item Du fait de l'absence d'autorité centrale et à l'immutabilité de la blockchain, toute transaction est définitive. En particulier, toute fuite de sk ou toute erreur dans un programme de transactions automatiques ("smart contract") peut se traduire en plusieurs 100aines de M\$ de pertes. D'où un écosystème 700Bn\$ de capitalisation en 2024
\footnote{\url{https://www.grandviewresearch.com/industry-analysis/digital-asset-custody-market-report}}
appelé "crypto custody", d'entreprises jouant le rôle de tampon entre les utilisateurs et les blockchains.
\item Du fait de l'absence d'autorité centrale, les blockchains sont de plus en plus utilisées pour des transactions qui transfèrent des droits juridiques sur des biens réels, par exemple des obligations réglementées ("security tokens") et des tokens "stablecoins" (>250Bn\$ en 2025\footnote{\url{https://coinmarketcap.com/view/stablecoin/}}).
\end{itemize}
À l'issue de ce cours, vous saurez déployer une blockchain et des smart contracts simples en évitant les failles de sécurité classiques. Si le temps le permet on déploiera un exemple de "token" ERC20. Vous saurez également distinguer pour quel besoin et sous quelles hypothèses utiliser ou non une blockchain, et si oui de quel type (permissionned ou public, synchrone ou asynchrone, proof of work ou proof of stake).
Ce cours se focalisera principalement sur les blockchains "account-based" et "programmables". Plus précisément Ethereum, dont le format de contrats "EVM" est massivement adopté (Polygon, Avalanche etc.). En effet les smart contracts, qui n'existent pas dans Bitcoin, sont l'infrastructure permettant les marchés de "tokens" mentionnés ci-dessus adossés à des biens réels.
Objectifs pédagogiques
À l'issue de ce cours, vous saurez déployer une blockchain et des smart contracts simples en évitant les failles de sécurité classiques. Si le temps le permet on déploiera un exemple de "token" ERC20. Vous saurez également distinguer pour quel besoin et sous quelles hypothèses utiliser ou non une blockchain, et si oui de quel type (permissionned ou public, synchrone ou asynchrone, proof of work ou proof of stake).
- Oral et soutenance : 3
effectifs minimal / maximal:
12/40Diplôme(s) concerné(s)
Parcours de rattachement
Pour les étudiants du diplôme Echange international non diplomant
Cette UE reprendra notamment les connaissances en cryptographie.
Pour les étudiants du diplôme Diplôme d'ingénieur
Cette UE reprendra notamment les connaissances obtenues en 2A dans le filière SR2I, et notamment l'UEs de cryptographie (GIN-SR2I202).
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme Diplôme d'ingénieur
Vos modalités d'acquisition :
Les séances auront une part importante de manipulations, mais l'évaluation se fera par contrôle continu de questions écrites de compréhension de la séance précédente.
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 2.5 ECTS
- Crédit d'Option 3A acquis : 2.5
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme Echange international non diplomant
Vos modalités d'acquisition :
Les séances auront une part importante de manipulations, mais l'évaluation se fera par contrôle continu de questions écrites de compréhension de la séance précédente.
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 2.5 ECTS
- Crédit d'UE électives acquis : 2.5
La note obtenue rentre dans le calcul de votre GPA.
Programme détaillé
À l'issue de ce cours, vous saurez déployer une blockchain et des smart contracts simples en évitant les failles de sécurité classiques. Si le temps le permet on déploiera un exemple de "token" ERC20. Vous saurez également distinguer pour quel besoin et sous quelles hypothèses utiliser ou non une blockchain, et si oui de quel type (permissionned ou public, synchrone ou asynchrone, proof of work ou proof of stake).