Blockchain : Bitcoin et Ethereum expliqués
Blockchain : Bitcoin et Ethereum expliqués
: TE6300 V1
Mots-clés Résumé Cet article traite des origines et décrit la première blockchain Bitcoin. Celle-ci
Bitcoin | blockchain | Ethereum permet d’effectuer des transactions monétaires enregistrées immuablement sous forme
de blocs dans un registre distribué sur un réseau de pairs, sans organe central de
contrôle. La cryptographie y apporte la sécurité et la confiance avec les signatures
numériques et les fonctions de hachage. La blockchain Ethereum est ensuite présentée
avec ses caractéristiques pour obvier aux limites et défauts de la blockchain Bitcoin. Le
smart contract, innovation majeure d’Ethereum, élargit les domaines d’application : la
blockchain devient programmable. L’exécution automatique de programmes permet de
développer des organisations autonomes décentralisées. […]
Keywords Abstract This article discusses the origins of the blockchain and describes the first
Bitcoin | blockchain | Ethereum Bitcoin blockchain. It allows monetary transactions to be recorded in blocks in a
distributed registry on a peers network, without a central controlling organ. Cryptography
provides security and trust with digital signatures and hash functions. The Ethereum
blockchain is then presented with its tools to overcome the limitations and weaknesses of
the Bitcoin blockchain. The smart contract, a major innovation of Ethereum, broadens the
fieldsof applications: the blockchain becomes programmable. The automatic execution of
programs allows the development of decentralized autonomous organizations. Finally, a
few examples of (relatively recent) applications will be reviewed, reflecting the diversity of
technologies to meet the various use cases in a large number of sectors.
Par mail :
[Link]@[Link]
Par téléphone :
00 33 (0)1 53 35 20 20 © Techniques de l'Ingénieur | Tous droits réservés
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
et Jean-François GERVAIS
Chef de projet Digital Learning à l’Institut National de l’Audiovisuel
— 14
3.2 Smart contracts et messages ............................................................. — 16
3.3 Blocs et minage .................................................................................. — 17
3.4 DAO..................................................................................................... — 18
3.5 Jeunesse d’Ethereum ......................................................................... — 19
4. Applications ..................................................................................... — 19
4.1 Nombreuses technologies et plusieurs types de blockchains .......... — 19
4.2 Trois natures de cas d’usage ............................................................. — 19
4.3 Cas d’usage dans différents secteurs ou domaines d’applications . — 21
5. Conclusion........................................................................................ — 23
6. Glossaire ........................................................................................... — 23
Pour en savoir plus.................................................................................. Doc. TE 6 300
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
sactions qui leur sont destinées, déclenchent automatiquement des actions pro-
grammées. Cette auto-exécution de programmes fait dire à certains : « code is
law ».
La blockchain apporte des éléments de confiance par sa technologie, car des
personnes, qui ne se connaissent pas, peuvent effectuer des transactions direc-
tement, sans intermédiaire, cela en toute sécurité. Cependant, au-delà de ces
transactions, les règles algorithmiques ne permettent pas de gérer toutes les
situations, notamment les évolutions imprévues, et elles ne pourront jamais
remplacer les organisations humaines. C’est pour cela que la gouvernance de
la blockchain reste essentielle et nécessite aussi une grande confiance de la part
des utilisateurs. Les architectes de cette technologie, qui décident des modifica-
tions à incorporer dans le logiciel, représentent une petite communauté de
développeurs et d’ingénieurs en logiciel. Bien qu’il s’agisse de projets open
source, c’est en fait un noyau très restreint de développeurs hautement quali-
fiés qui prennent en charge les développements de ces technologies, ils ont
tous les pouvoirs, notamment celui de modifier les règles du jeu.
Enfin, il reste quelques verrous, entre autres technologiques (relatifs à la sca-
labilité, l’interopérabilité, le consensus, la sécurité…), pour que les perspectives
ouvertes par les blockchains deviennent une réalité concrète dans un avenir
imminent.
Bitcoin, la blockchain historique, a prouvé son efficience dans le cadre des
applications financières. Ethereum, apparu plus récemment, s’ouvre à d’autres
usages et apportera de réels avantages dans de nombreux secteurs. Son déve-
loppement provoquera des changements dans l’organisation et la gouvernance
de la société , les enjeux sont multiples, d’ordre économique, juridique, sécuri-
taire, et même éthique.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
l’origine d’un message (en authentifiant l’expéditeur via sa signa- financières effectuées directement entre pairs (Peer-to-Peer), avec
ture numérique), et d’autre part chiffrer ce message, afin que seul le consensus général, supprime le rôle des intermédiaires et tiers
le destinataire puisse le lire. de confiance.
Adam Back propose en 1997 HashCash [5] pour limiter la prolifé- La première blockchain Bitcoin est purement financière, mais,
ration des spams. Il ajoute au chiffrement cryptographique de Zim- nous verrons ensuite que de nombreuses autres utilisations se
mermann, une forme de « preuve-de-travail » (proof of work) sont très vite développées, et ont fait naı̂tre différentes technolo-
(§ 2.3.5), en utilisant une fonction de hachage sur chaque mail que gies de blockchains. En effet, ce réseau pair à pair enregistrant des
l’on veut envoyer afin de le valider. Cette opération nécessite une transactions peut s’opérer sur n’importe quel type d’actif financier,
certaine puissance de calcul, donc un coût par mail qui est dissua- de bien physique ou virtuel.
sif et limite ainsi les nombreux envois envahissants et contre-
productifs, comme les spams. Le destinataire voit apparaı̂tre dans
l’en-tête du mail l’encodage textuel du tampon de hachage. Cela
prouve que l’expéditeur a dépensé une quantité modeste de 2. Première chaı̂ne de blocs
Bitcoin
temps processeur à calculer ce tampon avant d’envoyer son e-
mail qui se distingue ainsi parmi les autres.
Enfin, en 1998, Wei Dai [6] décrit un nouveau protocole pair à
pair d’échange monétaire et d’exécution de contrats. Ce système
de paiement électronique anonyme et distribué fonctionne sur un 2.1 Description générale
réseau de nœuds totalement décentralisé, il s’appelle b-money
(le livre blanc Bitcoin cite ce protocole en référence [7]). Les utilisa- Cette blockchain, dont le protocole est nommé Bitcoin (comme la
teurs sont identifiés par des pseudonymes (soit des clés publi- cryptomonnaie correspondante), enregistre les transactions sur
ques), et chaque transaction est à la fois signée par l’envoyeur et une base de données distribuée, sécurisée et transparente. Ces der-
chiffrée pour le destinataire. Chacun des participants maintient nières constituent la base du fonctionnement des blockchains, elles
une base de données pour comptabiliser la quantité de b-monnaie informent des échanges de valeurs en cryptomonnaie bitcoin, et se
qu’il détient. Les possibilités pour créer et exécuter des contrats propagent sur le réseau constitué par des pairs (il comporte des
étaient succinctes, les parties impliquées devaient mettre en jeu milliers de serveurs), appelés nœuds du réseau. La technologie
une caution (pour éviter que quelqu’un ne fasse défaut), et dési- comprend à la fois un système (figure 1) :
gner un arbitre dans l’éventualité d’un litige. Il y a beaucoup de – de transmission de valeur de pair à pair, sans organe central de
similitudes avec le bitcoin, mais Wei Dai n’implémentera jamais contrôle, sans tiers de confiance traditionnel ;
son système. – et de stockage d’informations, les informations horodatées
En conséquence, on peut dire que la blockchain Bitcoin a été sont enregistrées et rendues infalsifiables. La blockchain contient
conçue grâce à une combinaison judicieuse de briques techniques l’historique de tous les échanges effectués entre les pairs.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Transmission Stockage
de valeurs d’informations
Figure 1 – Système de paiement électronique pair à pair : la transaction entre A et B passe par tous les nœuds
Le réseau de nœuds, maillé et de typologie plate (sans aucune hié- Un schéma de fonctionnement général de la blockchain est illus-
rarchie), permet d’effectuer de pair à pair des paiements en bitcoin, tré de façon simplifiée (figure 2) : une transaction est effectuée
via des transactions. Ces dernières sont transmises à tous les pairs, entre un émetteur A et un destinataire B. Ces deux utilisateurs doi-
elles sont vérifiées puis sont regroupées en blocs pour être validées vent préalablement être en possession d’un porte-monnaie ou wal-
avec le consensus du réseau. Les blocs, sécurisés grâce à la crypto- let qui constitue le support indispensable pour la gestion de leurs
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
graphie, seront diffusés à leur tour afin que tous les nœuds les enre- propres bitcoins.
gistrent chronologiquement en constituant ainsi la chaı̂ne de blocs.
Un article des Techniques de l’Ingénieur [H 5 538] est consacré
Cette distribution et réplication du registre sur chacun des nœuds
aux monnaies cryptographiques et blockchains.
permet le partage de l’information, la transparence, car c’est à la vue
de tous les utilisateurs que l’état de ce grand registre ouvert est
modifié et atteste d’une propriété numérique. La cryptographie
apporte la confiance dans les transactions, et rend les enregistre- 2.2 Bases de la technologie
ments infalsifiables et pérennes.
Les caractéristiques suivantes de la technologie de la blockchain
Les bitcoins représentent une monnaie virtuelle ou crypto- vont être développées :
monnaie, ils ne correspondent pas à une valeur physique réelle (il
n’existe pas de pièces numériques !). C’est une alternative aux mon- – la description des transactions regroupées en blocs de données
naies créées par les banques centrales et les banques de dépôts. chronologiquement enchaı̂nés ;
– le mode de stockage sur des registres distribués (nœuds) ;
– la cryptographie :
Caractéristiques du bitcoin
le hash,
– Origine de l’appellation « bitcoin » : « bit » (unité d’infor- la signature électronique.
mation binaire) et « coin » (pièce de monnaie).
– Monnaie numérique, accessible à tous, en circulation de
pair à pair. 2.2.1 Définition/constitution de la transaction
– Non fiduciaire, car sa valeur fictive n’est pas fondée sur la
confiance accordée à une autorité centrale qui les émet, par
exemple un État. L’objet d’une transaction est d’informer qu’un propriétaire de
– À tendance déflationniste, la quantité de monnaie en circu- bitcoins a autorisé le transfert d’un certain montant de son
lation est limitée et maı̂trisée, car totalement programmée. Le portefeuille vers un portefeuille destinataire (figure 3). Ce der-
nombre total de bitcoins en circulation est limité à 21 millions nier deviendra le nouveau propriétaire des bitcoins ainsi trans-
(ce montant devrait être atteint vers l’année 2140), actuelle- mis, et pourra à son tour les dépenser. C’est un transfert de pro-
ment les seuls bitcoins créés sont destinés à la rémunération priété de la valeur. La transaction est horodatée par le réseau.
les mineurs.
– C’est une monnaie virtuelle cryptographique, la cryptogra- Les montants transférés sont souvent des fractions de bitcoin,
phie garantit la sécurité du bitcoin, et crée la confiance. « The
voire des millibitcoins (1/1 000 de bitcoin), ou des satoshis
Economist » qualifie la blockchain de « The trust machine » ou
(1/100 000 000 de bitcoin). La plus petite unité est le satoshi qui
la machine à « créer de la confiance ».
s’exprime en bitcoin avec 8 décimales.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Figure 2 – Processus et étapes de paiement électronique pair à pair (source : d’après [10])
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
UTXOs UTXOs
x BTC Entrée
Sortie Somme de la transaction
Frais de
Sortie
y BTC Entrée transaction
z BTC ......
La somme des trois UTXO utilisés en entrée va générer une valeur équivalente en sortie correspondant
à la somme :
– de l’UXTO représentant le montant de la transaction au destinataire ;
– de l’UXTO représentant le retour de la monnaie à l’émetteur ;
– des frais de transaction représentant implicitement la différence entre les UTXO d’entrée et les UTXO
de sortie.
Transaction
État de la propriété des UTXO Transfert d’actif Nouvel état de la propriété des UTXO
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
∙ un expéditeur
∙ l’adresse du propriétaire ∙ un destinataire ∙ l’adresse du propriétaire
de l’UTXO ∙ un montant de l’UTXO
∙ la valeur nominale ∙ un horodatage ∙ la valeur nominale
Figure 5 – Transaction Bitcoin – L’état atteste d’un consensus sur « qui détient quoi » à un instant donné, et la transaction provoque le passage
du registre d’un état (n) à un état (n + 1)
consommera entièrement en générant une ou plusieurs sorties, propriétaire. Une transaction provoquera une transition d’état : de
utilisables à leur tour dans des transactions futures. Autrement dit, l’état n à l’état n + 1, soit une mise à jour de la propriété des UTXO
les UXTO d’entrée se consomment entièrement, ils ne peuvent être (figure 5). Lors d’une transaction, certains UTXO sont consommés
ni divisés, ni partiellement dépensés. Après leur utilisation, ils et disparaissent, et d’autres sont créés.
n’existent plus, mais ils ont généré de nouveaux UTXO en sortie.
Dans ce modèle UTXO, le solde d’un utilisateur n’est pas stocké,
Les UTXO se consomment et se créent au rythme des transactions,
et les nœuds du réseau enregistrent et tiennent à jour cet ensemble mais doit être calculé en faisant la somme totale des UTXO qui lui
d’UTXO (le registre en contient des millions). Chaque nouvelle appartiennent (cela correspond aux enregistrements qu’il peut
transaction vient modifier l’état du registre des UTXO qui passe dépenser avec ses signatures, ils sont dispersés parmi les milliers
d’un état n à un état n + 1 (transition d’état dans l’ensemble des de transactions réparties dans les blocs du registre). En fait, le plus
UTXO). souvent, c’est le portefeuille qui gère les UTXO que l’utilisateur
peut dépenser : une base de données stocke l’ensemble des réfé-
rences rapides de tous ces UTXO qui peuvent être déverrouillés
« Dans le langage Bitcoin, « dépenser » c’est signer une tran- par une des clés du portefeuille, cela facilite ainsi le choix des
saction qui transfère la valeur d’une transaction précédente à un entrées lorsque l’utilisateur veut effectuer une dépense.
nouveau propriétaire identifié par une adresse Bitcoin » [13]. Ce modèle UTXO [14] procure la confiance, il apporte une preuve
de propriété pour les bitcoins destinés à une dépense, et participe
En résumé, l’état du registre Bitcoin est une photographie de largement à la réputation des blockchains, en amenant une traçabi-
l’ensemble de toutes les unités de comptes (UTXO), chacun de ces lité (on sait d’où vient la valeur), et une irréversibilité (quand
UTXO comporte un montant (valeur nominale), et l’adresse de son l’UTXO est consommé, il n’existe plus).
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Il existe une seule exception pour laquelle le modèle UTXO ne 2.2.2 La blockchain est basée sur les technologies
s’applique pas, c’est la transaction, dénommée Coinbase, qui a des registres distribués
pour objet de créer des bitcoins à partir de rien. Dans ce cas, il n’y
a pas d’entrée (aucun UTXO n’est consommé), seule la sortie crée La blockchain prend le contre-pied des registres centralisés où
un UTXO. Ce fut la transaction native de la blockchain : la première tout l’historique des données est stocké sur un seul serveur central
transaction du bloc n 1 d’un montant de 50 bitcoins a été créée le sécurisé, avec un fonctionnement en mode client-serveur. Dans la
9 janvier 2009. Actuellement, Coinbase est utilisée pour récompen- blockchain Bitcoin, chacun des serveurs ou nœuds contient la tota-
ser le mineur qui valide un bloc. Cette transaction est la première lité de la base de données. Ces nœuds complets, agissant à la fois
du bloc validé, l’UTXO de sortie transfère le montant créé au comme client et comme serveur, s’interconnectent en formant un
mineur gagnant. Ce montant vient d’être divisé par deux, comme réseau maillé de typologie plate (aucune hiérarchie) de « pair à
prévu dans le protocole initial, il s’élève actuellement à 6,25 BTC. pair ».
Il sera à nouveau divisé par deux au bout d’un certain nombre de La distribution représente un point essentiel dans le fonctionne-
créations de blocs (210 000), et cela jusqu’à devenir nul. ment d’une blockchain, non seulement pour la diffusion de l’infor-
Les frais de transaction sont calculés en fonction du volume de la mation, mais aussi pour la propagation des processus permettant
transaction (et non de la valeur), ils sont proportionnels à la com- l’exercice des fonctions et des responsabilités de chacun dans
plexité de cette dernière, notamment la puissance de calcul néces- l’objectif d’une collaboration à la bonne marche d’une entreprise
saire à sa réalisation. Ils ont une double justification : d’abord commune. Entre autres, le consensus, socle de la confiance dans
récompenser les mineurs qui enregistrent les transactions et la gouvernance d’un système décentralisé refusant toute autorité
exploitent les blocs. Et ensuite, renforcer la sécurité du réseau en centrale de contrôle, est basé sur cette distribution. La base de
limitant le grand nombre de transactions que la gratuité amènerait données distribuée enregistre chronologiquement la totalité des
(il s’agit d’éviter les « transactions-spams »). Ces frais ne sont pas informations relatives aux transactions, elle est répliquée et syn-
explicitement définis, ils correspondent à la différence entre la chronisée sur les différents nœuds complets participants au réseau
sommes des entrées et la somme des sorties, tout montant excé- informatique.
dentaire est automatiquement attribué au mineur qui ajoute la tran- Tout en étant égaux, car appartenant au réseau P2P, les nœuds
saction au registre Bitcoin. D’ailleurs, si un utilisateur oublie de se répondent à différentes fonctions :
rendre la monnaie à lui-même, la différence entre les entrées et les
sorties peut être importante, elle sera, malgré tout, considérée – la validation et le routage ;
comme des frais de transaction, ce qui enrichira les mineurs. – la tenue du registre ou de la base de données blockchain ;
Autant des frais de transaction très élevés peuvent favoriser un trai- – la validation des blocs par minage ;
tement prioritaire de la transaction, autant les transactions avec des – la gestion du portefeuille de l’utilisateur.
frais trop bas risquent de ne pas être transmises au réseau.
Tous les nœuds participent à la validation et au routage, mais
Les transactions peuvent être visualisées par des explorateurs de pour les autres fonctions, notamment pour l’enregistrement de la
blockchains (figure 6). Ces outils sont des applications web qui per- base de données, on distingue différents types de nœuds : les
mettent un affichage des données contenues dans les blocs compo- nœuds complets et les nœuds légers.
sant la chaı̂ne depuis son origine. Pour chacun de ces blocs, on
Les nœuds complets enregistrent l’historique de toutes les tran-
peut visualiser les caractéristiques des transactions avec leurs
sactions des utilisateurs, ils gèrent les différents aspects du proto-
entrées et sorties, ainsi que les frais de transaction associés. Des
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
0.00056048 BTC
(250.214 sat/B - 99.025 sat/WU - 224 bytes) 0.00103523 BTC
(394.704 sat/vByte - 142 virtual bytes)
Détails de la transaction :
La transaction est identifiée par une chaîne de 64 caractères hexadécimaux résultant de son empreinte ou hachage. La flèche verte indique la
correspondance entre l’entrée et les deux sorties. Les frais de transaction sont précisés.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
d’espace mémoire : pour donner un ordre de grandeur, au mois de Le protocole Bitcoin est basé sur deux outils cryptographiques :
janvier 2021, le stockage de la blockchain complète représentait – l’empreinte numérique qui prouve l’authenticité des données,
plus de 300 Gigaoctets. leur non-modification ;
C’est pourquoi des nœuds plus légers ont ensuite été introduits. – la signature numérique qui garantit l’identité de l’émetteur
d’une transaction sans en dévoiler le nom et constitue la preuve
Les nœuds légers, aussi appelés SPV (Simplified Payment Verifi- de propriété d’une clé privée sans la révéler.
cation, nœuds de vérification de paiement simplifié) n’enregistrent
pas l’historique complet de la blockchain, ils n’en gèrent qu’un
[Link] Fonction de hachage, empreinte numérique
sous-ensemble. Un nœud SPV reçoit, en se connectant aux nœuds
complets, une liste filtrée des transactions concernant les adresses Une fonction de hachage s’applique à des données de taille
gérées par son portefeuille, et peut suivre ainsi les UTXO de son variable fournies en entrée, et produit en sortie une empreinte
portefeuille. Cependant, ces nœuds peuvent créer, valider et trans- numérique ou un condensé des données originaires. Cette
mettre des transactions, car ils agissent directement avec le réseau empreinte, appelée hash (ou « condensé » – digest), obtenue quasi-
Bitcoin. instantanément est une courte chaı̂ne de caractères hexadécimaux
de longueur fixe (figure 7) caractérisant des données d’entrée.
À titre de comparaison, on peut citer une autre fonction de
Avantages des registres distribuées [17] hachage très connue : la somme de contrôle MD5 (Message
– La transparence des données : les registres distribués peu- Digest 5). Inventée par Ronald Rivest en 1991, c’est à partir de leur
vent être comparés à des livres ouverts. Tous les nœuds com- empreinte que l’on vérifie que deux fichiers, qui peuvent être très
plets ont accès au registre des transactions, et peuvent les véri- volumineux, sont identiques et n’ont pas été altérés.
fier. Cela facilite l’authentification des données et amène la La fonction de hachage est « à sens unique », on ne peut pas
confiance. retrouver les données d’origine à partir de leur hash. Mais, tout
– Les transactions inscrites dans un registre distribué suivent ensemble de données peut être ainsi rapidement identifié de
un ordre chronologique inaltérable. L’horodatage des blocs per- manière précise et unique par son hash. Une des caractéristiques
met d’effectuer suivi et traçabilité. de ce dernier est d’être imprédictible, la moindre modification dans
– Une donnée enregistrée sur un registre distribué est ineffa- les données d’origine (juste le changement d’une lettre ou d’une vir-
çable, elle est permanente. Tout ajout est auditable par gule dans un texte de plusieurs pages) générera un hash totalement
l’ensemble des nœuds-participants du réseau. Cela contribue différent. Cela donne une forte visibilité à la moindre modification
à la réputation d’immuabilité et d’inviolabilité de la blockchain. qui pourrait être effectuée à l’intérieur d’un bloc de données, car le
La robustesse d’un réseau, où les données sont dupliquées sur hash du bloc modifié serait alors totalement changé.
plusieurs serveurs, est plus grande que celle d’un stockage
unique sur serveur central. Pour le Bitcoin, le hash [19] d’un bloc est codé sur 256 bits
– Le fonctionnement des registres distribués sur un réseau (SHA 256), soit 32 octets ou 64 caractères hexadécimaux.
pair à pair implique la désintermédiation, les échanges sont Ce hash représentant 2256 combinaisons possibles, soit environ
effectués directement de personne à personne sans autorité 1077 combinaisons, il y a donc peu de chance qu’une fonction
centrale, ni intermédiaire. Les participants sont autonomes et hash donne la même suite de caractères pour 2 entités différentes.
partagent le contrôle des données. Pour comparaison, le nombre d’atomes sur la terre est 1050 et dans
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
l’univers 1082.
2.2.3 Cryptographie
[Link] Algorithme cryptographique asymétrique, signa-
Dans l’introduction de son livre blanc, Satoshi Nakamoto précise : ture numérique
« Ce qui est nécessaire, c’est un système de paiement électronique Chaque utilisateur Bitcoin possède une ou des paires de clés lui
basé sur une preuve cryptographique au lieu d’un modèle basé sur permettant de contrôler l’accès à ses propres Bitcoins. Deux clés
la confiance… ». sont utilisées dans une transaction : la clé privée secrète pour
cryptomonnaie 95b20c7419b6f0100e0b2b359122c7607bfe8833a04180bba26ae967bd8bcefd
Cryptomonnaie 3943414fe50b079c4567975e56a055e465d07dcaee881909014b3eaeac25a599
crypto-monnaie 887e93c09cc1ab70d905180ad88ec9875bdad635f257d39a801a4d415516fbe6
Crypto-monnaie 5ee12a6305e6abe4c7e99ddf120934303bec5c140ec129f870d486d55acd3939
ENTREE SORTIE
De simples variations dans la graphie du texte « cryptomonnaie » modifient le hash. On remarque que la longueur
de la chaîne de caractère du hachage est constante, 64 caractères, quel que soit le nombre de caractères en entrée.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
signer les transactions, pour dépenser les fonds, et la clé publique Pour la blockchain Bitcoin, la signature répond à trois objectifs.
pour recevoir les fonds. 1 ) C’est une preuve de propriété.
La clé privée est proposée aléatoirement par le portefeuille. Pour réaliser une transaction d’un certain montant vers un desti-
D’une longueur de 64 caractères hexadécimaux, elle est plus géné- nataire, nous avons vu que l’émetteur, après avoir choisi les bons
ralement affichée dans un format appelé WIF (Wallet Import For- UTXO (afin que leur somme permette d’assurer le paiement
mat) codé en Base 58. demandé), doit ensuite les déverrouiller.
Le propriétaire-émetteur utilise sa signature pour déverrouiller et
Base 58 est un format de codage binaire couramment utilisé dépenser les UTXO : le déverrouillage obtenu prouve qu’il possède
dans de nombreuses cryptomonnaies, c’est un sous-ensemble bien ces fonds et qu’il veut les dépenser.
de Base 64. Cette condition de déverrouillage répond à un script de verrouil-
Base 64 utilise 26 lettres minuscules, 26 majuscules, 10 chiffres lage placé sur l’UTXO de sortie qui indiquait la clé publique du des-
et deux caractères supplémentaires : « + » et « / », soit tinataire, ce qui impose à ce dernier de fournir sa signature pour le
64 caractères. déverrouiller. Autrement dit, ce destinataire sera le seul à pouvoir
Base 58 n’utilise pas les 2 caractères supplémentaires, ni les utiliser cette ressource, grâce à sa paire de clés publique/privée.
caractères qui risqueraient d’être confondus comme le chiffre Le script de déverrouillage qui exige la signature du propriétaire
0, les lettres O, I et I. renforce la preuve de propriété.
Le langage de script de transaction, décrit ci-dessus pour le ver-
Les deux clés sont liées (figure 8) : c’est à partir d’une clé privée rouillage/déverrouillage, est l’exemple le plus simple, il est utilisé
que la clé publique est générée via une fonction cryptographique dans plus de 80 % des transactions Bitcoin. Mais, bien que limité,
réalisée par l’algorithme ECDSA (Elliptic Curve Digital Signature il peut exprimer d’autres conditions plus complexes. Ces dernières
Algorithm). Ce dernier effectue un calcul purement mathématique exprimées dans le script de verrouillage placé sur l’UTXO en sortie
ayant la particularité d’être irréversible (on peut facilement calculer de transaction devront trouver les réponses satisfaisantes avec le
une clé publique à partir d’une clé privée, mais on ne peut pas script de déverrouillage. Par exemple, le script peut comporter des
retrouver la clé privée qui correspond à la clé publique). Puis c’est restrictions temporelles (timelocks), bloquant l’utilisation d’un
en appliquant une fonction de hachage cryptographique unidirec- UTXO pendant une période donnée.
tionnelle à cette clé publique que l’on obtient l’adresse Bitcoin indi- 2 ) C’est une preuve indéniable de la transaction.
quée dans la transaction. L’adresse est donc l’empreinte numérique
de la clé publique. La signature valide les données de la transaction : tout nœud qui
validera une transaction exécutera, pour chaque entrée indépen-
Cette relation algorithmique entre la clé privée et la clé publique damment, les scripts de déverrouillage et de verrouillage en
permet à l’émetteur d’utiliser sa clé privée (sans la révéler) pour séquence, afin d’apporter la preuve de propriété des UTXO.
générer la signature d’une transaction. Cette signature pourra être
validée par tout nœud à partir de la clé publique du signataire et de Tous les nœuds du réseau peuvent vérifier et accepter la transac-
la transaction signée. tion comme valide grâce à la présentation de la signature numé-
rique (générée à partir de la clé privée et de la transaction) de
l’émetteur accompagnée de sa clé publique.
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
La signature numérique de A est vérifiée à l’aide de sa clé publique. Sans connaître la clé privée de A, on peut
assurer que celui-ci est à l’origine du message, et que ce dernier n’a pas été modifié.
3 ) C’est une preuve d’immuabilité de la transaction. portefeuille construit la transaction, notamment il trouve les bons
Un algorithme de vérification de signature, SigVerify (données UTXO d’entrée pour couvrir la dépense, et les déverrouille (ce
signées, clé publique), indique si la signature est valide pour cette mécanisme garantit qu’il ne peut dépenser que les UTXO reçus
transaction et cette clé publique, et affiche la valeur TRUE en cas de auparavant). De même, il construit les sorties en créant de nou-
validité (figure 9). Cette vérification prouve que la transaction n’a veaux UTXO qu’il verrouille à destination d’un nouveau proprié-
pas été modifiée. taire. Lorsque l’utilisateur envoie sa transaction au réseau Bitcoin,
cette dernière est signée par une clé privée de son portefeuille.
La transaction est envoyée aux nœuds voisins du réseau Bitcoin
2.3 Description du fonctionnement dans l’objectif d’une transmission à tout le réseau. Mais, lorsqu’un
de la blockchain Bitcoin nœud reçoit une transaction, il va d’abord la vérifier avant de la
retransmettre, ce qui permet d’éviter la propagation des transac-
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Figure 10 – Enchaı̂nement des blocs – L’en-tête d’un bloc reprend le hash de l’en-tête du bloc précédent
nées qui résume, avec efficience, toutes les transactions du bloc Toutes les transaction du bloc sont résumées dans la racine (de 32 octets).
(voir § [Link]).
Figure 11 – Arbre de Merkle (d’après [24])
[Link] Arbres de Merkle
Un arbre de Merkle (aussi appelé « arbre de hachage binaire ») L’acceptation vaut pour le réseau, de plus elle est confirmée par la
permet en final de résumer toutes les transactions d’un bloc en présence des blocs qui suivent.
une chaı̂ne de 32 octets (ou 64 caractères hexadécimaux).
Le filtre de Bloom [25] a été inventé par Burton Howard Bloom
Il est construit à partir des transactions : les données de chaque en 1970. Il utilise des fonctions de hachage. C’est une structure
transaction du bloc sont doublement hachées (algorithme SHA- de données probabiliste permettant de savoir si un élément est
256) pour obtenir une chaı̂ne de 32 octets, résumé de chacune des présent ou non dans de grandes listes.
transactions, qui sera stocké au niveau le plus bas des feuilles de Dans le cadre de la blockchain, les filtres de Bloom sélection-
l’arbre (c’est un arbre à l’envers, les feuilles sont en bas, voir nent certaines transactions ou les blocs les contenant, tout en
figure 11). Ensuite les paires consécutives de feuilles (qui sont protégeant la confidentialité. Ils permettent aux nœuds légers
situées sur ce niveau bas) seront concaténées pour créer une ou SPV, qui n’enregistrent pas l’historique complet de toutes
chaı̂ne de 64 octets qui, à son tour, sera doublement hachée et for- les transactions, de recevoir des autres nœuds uniquement
mera un niveau supérieur (niveau parents par rapport à enfants), ce les transactions qui les concernent et présentent un intérêt
niveau possède un nombre de feuilles divisé par deux par rapport pour eux (à savoir les transactions liées aux adresses conte-
au niveau le plus bas. Puis, à nouveau, les paires consécutives de nues dans leur portefeuille).
feuilles seront concaténées puis doublement hachées afin de
constituer un niveau encore supérieur avec deux fois moins de
[Link] Construction du bloc, calcul de l’en-tête du bloc
feuilles. Ce processus de hachage récursif de paires de feuilles est
réitéré jusqu’au niveau où il ne restera qu’une seule feuille, appelée Le nœud, après avoir constitué son bloc candidat avec des tran-
racine de Merkle. sactions validées (mais non confirmées), peut calculer l’en-tête du
bloc. La figure 12 présente une description de l’en-tête.
Les arbres de Merkle permettent de vérifier très efficacement
qu’une transaction est incluse dans un bloc. Notamment, les Un bloc est identifié :
nœuds légers (SPV, nœuds de Vérification de Paiement Simplifié) – soit par son hachage, plus exactement par l’empreinte obtenue
qui ne téléchargent que les en-têtes des blocs, peuvent vérifier en hachant deux fois l’en-tête du bloc avec l’algorithme SHA256.
qu’une transaction est incluse dans un bloc en utilisant le chemin Cette empreinte sur 32 octets, ou 64 caractères hexadécimaux,
de Merkle (récupéré à partir d’un nœud complet). Ils ne vérifient identifie de façon unique un bloc ;
pas eux-mêmes la transaction, mais peuvent la lier au bloc corres- – soit par son numéro d’ordre (à partir du bloc n 1 créé à l’ori-
pondant de la chaı̂ne, et voir qu’un nœud du réseau l’a acceptée. gine en 2009).
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
En-tête
Version
Identifiant du bloc précédent
dSHA256 dSHA256
Racine de Merkle
Horodatage
Difficulté (bits)
Nonce
Transactions
En bleu est représenté l'identifiant du bloc précédent qui est le résultat de deux hachages par la fonction SHA-256 de
l'en-tête du bloc précédent. C'est ceci qui permet de rattacher les blocs entre eux, de sorte à obtenir une chaîne de
preuve de travail. En rouge est représenté l'arbre de Merkle des transactions munies de leur témoin (signature).
Les empreintes de ces transactions sont leur identifiant SegWit (wtxid ou witness transaction identifier).
La racine de cet arbre de Merkle est écrite dans la transaction de récompense du bloc (tx0), de sorte à lier les
signatures au reste du bloc. En vert est représenté l'arbre de Merkle des transactions sans leur témoin.
Les empreintes de ces transactions sont leur identifiant classique (txid). La racine de cet arbre de Merkle est
écrite au sein de l'en-tête du bloc. Puisque tout est lié, il est impossible de modifier une transaction ou sa signature
sans modifier l'en-tête, et donc sans altérer la chaîne de preuve de travail.
Après sa construction, le bloc candidat est soumis à une valida- d’énormes moyens informatiques, et une grande consommation
tion par la preuve de travail (Proof of Work), condition nécessaire d’électricité, mais c’est le prix de la sécurité. Dans la pratique, les
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
pour qu’il soit accepté par tous les nœuds et s’ajoute à la chaı̂ne. mineurs se regroupent le plus souvent en « pools », et des milliers
d’ordinateurs spécialisés sont exploités dans des fermes de
2.3.5 Minage, preuve de travail et consensus minage. Trouver le plus rapidement possible la bonne combinaison
prend un temps plus ou moins long, en fonction de la difficulté, qui
L’objectif du consensus est que tous les nœuds s’accordent sur le est ajustée de manière à ce qu’un nouveau bloc soit validé environ
prochain bloc à ajouter à la chaı̂ne, validant ainsi en même temps toutes les 10 minutes. Cet ajustement est réalisé en imposant une
les transactions qui y sont contenues. Le consensus est essentiel valeur maximum pour le hash calculé, la difficulté étant d’autant
pour que les nœuds tiennent à jour des registres identiques. Il plus grande que le hash est petit.
émerge suite au processus de « minage » effectué indépendam- Le mineur, le premier qui a trouvé le bon résultat, envoie son
ment sur des nœuds du réseau dans une ambiance compétitive. bloc au réseau qui pourra facilement le vérifier (autant ce résultat
Dès qu’un bloc répond aux conditions définies par l’algorithme de est difficile à trouver, autant la bonne solution est très facile à véri-
minage, il est reconnu gagnant et diffusé à tous les autres nœuds fier car il suffit de contrôler le nombre de zéros). Chaque nœud
du réseau qui l’ajouteront à leur chaı̂ne de blocs. vérifiera la validité du nouveau bloc miné, ainsi que toutes les tran-
sactions correspondantes, puis l’intégrera à la suite de la block-
[Link] Minage chain existante (ce qui signifie que toutes les transactions du bloc
Une course s’instaure entre les nœuds canditats au minage. Cha- sont validées), et le transmettra aux autres nœuds. Un bloc invalide
cun des mineurs cherche à être le premier à valider le bloc qui sera serait tout de suite bloqué, et ne serait pas transmis aux autres
ajouté à la chaı̂ne. Ils vont concourir à la validation par une Preuve nœuds, en conséquence ne pourrait pas être ajouté au registre.
de Travail (Proof of Work), et il n’y aura qu’un seul gagnant qui Le mineur gagnant, dont le bloc est intégré dans la blockchain, est
recevra une récompense. rémunéré. Le montant actuel de cette rémunération est de 6,25 bit-
La Preuve de Travail consiste à résoudre une laborieuse énigme coins (qu’il s’attribue via la transaction Coinbase, positionnée en pre-
cryptographique attachée au bloc : le principe est de trouver le bon mier dans le bloc). Le montant de cette récompense est divisé par
hash qui réponde à certaines conditions. Plus précisément, le calcul deux tous les 210 000 blocs, ces divisions successives la réduiront à
consiste à hacher plusieurs fois, avec l’algorithme SHA256 [27], zéro. Alors les mineurs ne seront plus rémunérés que par les frais de
transaction. Cela aura pour conséquence qu’il n’y aura plus de créa-
l’en-tête du bloc, qui comprend notamment l’empreinte du bloc
tion de Bitcoin, le nombre maximum de Bitcoins (21 millions) sera
précédent, et un nombre aléatoire (variable à ajuster, appelée
atteint. Ceci est prévu aux alentours de l’année 2140.
nonce) afin d’obtenir un hash résultant qui soit inférieur à une
valeur donnée (ou commençant par un certain nombre de zéros).
Le code de hachage étant imprévisible, pour trouver le bon résultat, [Link] Chaı̂nes secondaires ou parallèles
les mineurs doivent tester un nombre gigantesque de combinai- Chaque nœud vérifie à tout instant que sa chaı̂ne est bien valide,
sons, en incrémentant la valeur du nonce à chaque itération. Ce car il peut arriver que deux mineurs trouvent, quasiment en même
sont des calculs itératifs aux résultats aléatoires qui nécessitent temps, la solution à l’algorithme de la preuve de travail. Deux blocs
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
minés peuvent alors se propager sur le réseau et atteindre les La consommation électrique de la blockchain Bitcoin ne peut être
autres nœuds dans un ordre contraire. Des chaı̂nes différentes, évaluée qu’approximativement, car les mineurs donnent peu
appelées secondaires, peuvent ainsi se constituer momentané- d’informations sur leur consommation, et beaucoup de paramètres
ment. Car les nœuds vont placer, après vérification, le premier seraient à prendre en compte, notamment l’efficacité électrique des
bloc reçu à la suite de leur chaı̂ne, et lorsqu’ils reçoivent le outils de minage, l’énergie consommée pour le refroidissement…
deuxième bloc (qui fait référence au même père), ils vont le garder Plusieurs méthodes d’évaluation donnent des résultats compris
en parallèle pour un démarrage éventuel d’une chaı̂ne secondaire. entre 30 et 100 TWh/an (ce qui est comparable à la consommation
On appelle cela des forks temporaires, mais les blocs suivants vont d’un pays comme l’Autriche ou le Danemark en 2020).
confirmer ou non cette chaı̂ne secondaire. Le protocole prévoit que,
après l’ajout de quelques blocs, seule la chaı̂ne la plus longue sub- 2.4.2 Vitesse
sistera, l’autre sera abandonnée. La priorité est donnée à la chaı̂ne
qui représente la plus grande quantité de travail. En conséquence, Un bloc est miné toutes les 10 mn environ (en fonction de la dif-
on considère qu’il faut que la longueur de la chaı̂ne soit confortée ficulté). En évaluant à 3 000 le nombre de transactions par bloc,
de six blocs, ce qui représente une durée d’environ une heure, pour cela induit un traitement théorique de 5 transactions par seconde.
que les transactions d’un bloc soient confirmées de façon pérenne Mais, en réalité, 2 à 3 transactions sont traitées par seconde. En
et durablement enregistrées dans la blockchain. comparaison, pour les cartes Visa, on compte 2 000 transactions/s
en moyenne et 50 000 en pic. Un des remèdes consisterait à aug-
menter la taille du bloc qui est actuellement limitée à 1 Mo, des
[Link] Résistance aux attaques
propositions ont été faites pour la doubler, ou la fixer à 8 Mo,
Si une attaque a pour but de produire une chaı̂ne de blocs plus mais aucune n’a été retenue.
longue avec des transactions non-valides, il faudrait, pour qu’elle
réussisse, qu’elle regroupe une puissance de calcul supérieure à la 2.4.3 Scalabilité, encombrement du stockage
puissance totale du réseau, soit 51 %, d’où le nom de l’attaque à de la chaı̂ne
51 %. De plus, la difficulté à attaquer une blockchain est croissante
dans le temps, car la quantité de travail à fournir est d’autant plus En 2021, la taille de la blockchain Bitcoin se situe aux environs de
importante que la chaı̂ne de blocs à reconstituer est longue. 340 Gigaoctets, elle augmente d’environ 1 Mo par heure.
Chaque nouvelle validation de bloc représente une énergie supplé- D’ailleurs, si le débit devait atteindre les 2 000 transactions/s des
mentaire, et modifier le contenu d’un bloc suppose de recalculer cartes Visa, l’augmentation serait alors de 1 Mo toutes les trois
les hashs de tous les blocs qui suivent, ce qui demande une puis- secondes (soit 8 To/an). Ce qui induirait un stockage très lourd
sance de calcul considérable, pour ne pas dire impossible. pour les nœuds complets qui doivent stocker l’intégralité de l’histo-
L’immuabilité d’une transaction est garantie par la quantité d’éner- rique de la blockchain.
gie dépensée. C’est ce qui la protège face à un hacker qui cherche-
rait à recréer la blockchain en sa faveur. 2.4.4 Confidentialité
En résumé, le consensus établit, sur la base d’un certain nombre
de règles, la validité des transactions et des blocs. Il est décentra- La cryptométrie asymétrique assure l’origine des données tout
lisé, global, sans autorité centrale, et apporte la sécurité et la en préservant leur confidentialité. La connaissance de la clé
confiance. Il représente l’accord de tout le réseau sur la propriété publique ne permet pas de retrouver la clé privée, il est donc
des Bitcoins : chaque nœud complet a la copie intégrale du regis- impossible d’identifier le propriétaire à l’intérieur de la blockchain
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
tre, ce dernier fait autorité. Bitcoin. Cependant, il est possible de retracer toutes les transac-
tions reçues et envoyées par ce dernier. Ce n’est pas un système
anonyme, mais plutôt pseudonyme.
2.4 Limites et défauts Cette pseudonymie peut attirer certains utilisateurs voulant réali-
ser du trafic illicite : payer ou vendre sans donner d’identité. Même
Les limites et défauts sont essentiellement dus à la consomma- l’inventeur du Bitcoin n’a pas donné son identité.
tion importante d’électricité relative à la Preuve de Travail. Mais la
vitesse de traitement des transactions, la scalabilité, la gouver- 2.4.5 Évolutivité et gouvernance
nance et la confidentialité représentent aussi des verrous aux déve-
loppements immédiats d’applications. Enfin, il y a une certaine difficulté à faire appliquer des change-
ments à un tel réseau pair à pair, car la communauté ouverte qui
2.4.1 Consommation électrique de la preuve développe le code source Bitcoin représente quelques centaines de
contributeurs. Il est rare que tous s’accordent sur les changements
de travail
proposés, et dans la pratique, très peu de modifications sont accep-
L’énorme puissance de calcul, nécessaire pour le minage, repré- tées par rapport aux nombreuses propositions réalisées, ce qui
sente une consommation colossale d’électricité (à multiplier par le aboutit à une stagnation technologique. De plus, il y a des risques
nombre de mineurs qui concourent et dépensent de l’énergie de forks si certains se regroupent pour forcer des modifications.
simultanément). En effet, cette compétition mondiale de calcul, La gouvernance qui n’est soumise à aucun pouvoir hiérarchique,
qui consiste, pour tous les mineurs, à tester un nombre maximum rend difficile toute évolution. Elle est qualifiée de « Hashocracy »,
de fonctions de hachage en un temps minimum, induit une aug- gouvernance assez floue sujette à complots (c’est d’ailleurs un tel
mentation quasi-exponentielle du nombre de hashs calculés. complot qui a donné naissance à Ethereum – § 3).
On définit le taux de hachage (symbolisé par h/s) par le nombre
de doubles calculs SHA-256 effectués en une seconde. Ce taux [28]
mesure la performance des équipements d’un mineur. En 2014, il
était de l’ordre de 1 MegaHashs/s, et en 2021 de l’ordre de 200 Exa- 3. Ethereum
Hashs/s (200 x 1018 h/s), cela reflète l’ampleur de la consommation
électrique actuelle.
Les mineurs réalisent une véritable course à l’équipement pour En 2014, Vitalik Buterin, jeune russo-canadien, âgé de 20 ans,
augmenter la puissance de calcul de leurs machines. Des regroupe- passionné par le Bitcoin et la blockchain en général, finalise une
ments ou coopératives se sont formés en développant des fermes première version du protocole Ethereum [29], et lève, via Bitcoin,
de minage qui permettent une répartition du travail sur des équipe- 19 millions de dollars pour financer le projet. Son but était de remé-
ments puissants. dier aux limites de Bitcoin qui avait été conçu exclusivement pour
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Figure 13 – Transaction Ethereum – L’état atteste des comptes à un instant donné, et la transaction provoque le passage du registre Ethereum
d’un état (n) à (n + 1)
des applications monétaires. Avec l’objectif d’élargir le cadre des à comparer avec la figure 5 qui présentait une transition d’état
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
applications, Ethereum a pour ambition de favoriser de nombreux similaire dans l’univers Bitcoin). Ethereum présente des différences
développements dans d’autres secteurs que la finance. structurelles essentielles :
Pourquoi Vitalik Buterin a choisi le nom Ethereum ? « C’est une – l’état se compose d’objets ou de comptes qui affichent directe-
métaphore qui fait référence à l’éther [30], l’hypothétique médium ment leur solde. Cela donne une lecture directe du crédit dispo-
invisible qui permettrait à la lumière de se déplacer ». nible pour le propriétaire du compte, il n’y a plus l’obligation de
La blockchain Ethereum a beaucoup de similitude avec Bitcoin, comptabiliser et tenir à jour l’état de la propriété des UTXO (Bit-
mais c’est une technologie différente basée sur une autre crypto- coin) possédés par ce dernier ;
monnaie : l’Ether. Offrant beaucoup plus de possibilités, Ethereum – les transactions comportent un nombre plus important de
peut être amplement programmé grâce à un langage complet et à champs, notamment un champ de données. Des transferts directs
l’instauration de comptes de contrat. Ils sont aussi appelés « smart de valeur et d’information s’effectuent entre les comptes. La tran-
contracts » [31], mais ils ne sont pas des contrats au sens juridique saction la plus simple consiste à transférer des ethers d’un compte
du terme, et ils n’ont rien de « smart », le qualificatif « automatique » à un autre (à l’instar de Bitcoin). Des transactions plus élaborées
aurait été plus adéquat. ont pour objectif de créer des comptes de contrats ou smart
N’ayant aucune valeur juridique, ce sont des courts programmes contracts, elles seront abordées dans la suite de l’article.
informatiques autonomes qui, lorsqu’ils sont appelés, s’auto-
exécutent automatiquement, sans aucune intervention de tiers de
confiance ou autres. 3.1.1 Comptes
En d’autres termes, les utilisateurs du réseau Ethereum, déten-
Il existe deux types de comptes (figure 14), l’un géré par son
teurs externes d’un compte, pourront non seulement valider des
propriétaire (externe au périmètre d’Ethereum) détenteur d’un por-
transactions monétaires ou relatives à d’autres biens, mais aussi
exécuter du code implanté dans les comptes de contrat ou smart tefeuille, à l’instar de la blockchain Bitcoin, et l’autre déployé en
contracts, ce qui rend les transactions programmables. Pour obte- tant que contrat intelligent, ou smart contract, contrôlé par du
nir un compte en Ether, ils devront posséder un portefeuille numé- code :
rique (ou wallet) qui représente, pareillement à Bitcoin, l’interface – les comptes de détenteurs externes, identifiés par l’adresse de
d’utilisation et d’interaction avec la blockchain. leur propriétaire, affichent directement leur solde. Leur utilisation
est protégée par une clé privée. Les transactions sont générées à
partir de ces comptes, par exemple pour envoyer des ethers vers
3.1 Comptes et transactions un compte destinataire ou pour créer un compte de contrat ;
Tout comme dans l’environnement Bitcoin, la transaction – les comptes de contrat (smart contracts), innovation majeure
s’applique à la base de données pour en modifier l’état : le registre apportée par Ethereum, leur fonction est régie par le code informa-
distribué passe d’un état n à un état n + 1 (figure 13, cette figure est tique associé qui s’exécutera automatiquement lors d’un appel.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Figure 14 – Les deux types de comptes : compte de détenteur externe et compte de contrat [32]
Les comptes de contrat disposent d’un stockage persistant pro- Le gas est évalué en ether, qui comporte des subdivisions en
pre et d’un solde en ether. L’exécution du code (on parle d’auto- Wei (la plus petite unité de l’ether : 1 ether = 1018 Wei).
exécution) est déclenchée : Tout se paye sur Ethereum, y compris le stockage de données,
– soit par des transactions envoyées par un compte de détenteur et cela coûte cher : 130 000 euros par Gigaoctet, en prenant un
externe ; cours de l’ether à 10 euros (il faut compter de l’ordre de
– soit par des messages (aussi appelés transactions internes ou 300 euros pour 2 Mo).
calls) reçus d’autres comptes de contrats. Enfin, les mineurs reçoivent des ethers en récompense de leur
travail.
Ces comptes sont considérés comme des agents autonomes qui
vivent à l’intérieur de l’environnement d’exécution Ethereum. Ils
peuvent s’exécuter automatiquement en série, les uns faisant 3.1.2 Transactions
appel aux autres, afin de faire vivre, de manière autonome, toute
une organisation programmée, appelée Dapp (Decentralized Appli- Une transaction ne peut être envoyée que par un compte
cation, Application décentralisée), ou DAO (Decentralized Autono- externe, elle contient les champs suivants :
mous Organization, Organisation autonome décentralisée) (§ 3.4). – une signature (signature) identifiant l’expéditeur ;
Ces deux types de comptes Ethereum, identifiés par une adresse – le nombre de transactions (nonce) émises par l’expéditeur ;
– le destinataire (recipient) du message (détenteur externe ou
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Transaction
Numéro
Montant Smart
Contract
Destinataire
gasLimit
gasPrice
Exécution
Utilisateur du code
externe
Ordinateur
Ethereum
déterminé et payé en amont par l’expéditeur lors de la conforma- 3.2 Smart contracts et messages
tion de la transaction, il doit être suffisant pour financer toutes les
opérations de la transaction (avec l’exécution éventuelle de smart
contrats), sinon cette dernière ne pourra pas se réaliser, tout s’arrê-
3.2.1 Smart contracts
tera et le registre reviendra à son état précédent ; Si la transaction a pour destinataire un compte de contrat, cela
– une valeur (gasPrice) représentant les frais en ether que l’expé- déclenche automatiquement le programme associé qui s’exécute,
diteur est prêt à dépenser par étape de calcul. C’est le coût unitaire de façon autonome et atomique [34], avec les arguments définis
du gas (payé en Wei ou Ether). dans le champ des données de cette transaction (figure 15).
Le traitement des transactions sur le réseau Ethereum est géré Les programmes sont constitués de clauses, conditions qui doi-
par la machine virtuelle Ethereum (Ethereum Virtual Machine, vent être remplies, ce sont des instructions de type : IF-THEN, si
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
EVM), c’est l’environnement d’exécution des changements d’état telle condition, alors… Ces conditions sont définies préalablement,
et des smart contracts. et sont écrites dans la blockchain (donc immuables). Ce langage,
qui permet d’implémenter tous les algorithmes de calcul, ainsi
que des instructions de conditions et de boucles, est qualifié de
La machine virtuelle utilise une machine physique (appelée Turing complet [35].
« hôte ») tout en s’abstrayant des caractéristiques de cette der-
nière. Elle exécute virtuellement des programmes via la pré- Le smart contract est programmé pour s’auto-exécuter dès que
sence simulée de ses propres ressources matérielles et logiciel- les conditions sont réunies, il ne peut pas être remis en cause, et
les (système d’exploitation, processeur, disque dur, mémoire…). ne dépend d’aucun intermédiaire, ni de tiers de confiance. Seule
une insuffisance de gas peut le stopper, car il ne fonctionne pas
Cette machine virtuelle (dénommée « invité ») donne l’illu- gratuitement.
sion, grâce à un logiciel d’émulation, d’exécuter des program-
mes dans les mêmes conditions que la machine simulée. La vir- Des smart contracts réutilisables sont stockés dans l’EVM, les uti-
tualisation représente une couche supplémentaire au-dessus du lisateurs en demandent l’exécution avec des arguments variables
hardware, elle se situe avant l’OS (Operating System), et la cou- de leur choix, les scripts correspondants effectuant en conséquence
che applicative qui se place encore au-dessus. les actions ou les calculs.
Si le smart contract peut accéder aux champs de la transaction
L’EVM fonctionne sur des milliers de nœuds répartis dans le qui l’a appelé (expéditeur, valeur en ether, et données), ainsi
monde qui partagent en pair à pair le même registre, car tous les qu’aux données des en-têtes de blocs, en revanche, il ne peut
clients Ethereum incluent une implémentation EVM. Tous ces pas avoir d’accès direct aux données externes à la blockchain.
nœuds participants exécutent de concert les mêmes programmes, Il faut, dans ce cas, passer par un oracle, qui se charge, en toute
stockent les mêmes données, fournissent les mêmes ressources sécurité, de connecter les smart contracts à des données et systè-
de mémoire et de calcul aux applications décentralisées mais uni- mes externes.
taires, tout cela de façon synchronisée. Pour cette raison, on com- En conséquence, les conditions d’exécution du contrat répon-
pare Ethereum à un seul ordinateur, unique et global, « un ordina- dent à deux possibilités :
teur virtuel mondial décentralisé » qui permet à tous les nœuds de – soit elles sont précisées par d’autres écritures dans la block-
coopérer moyennant des incitations financières. chain, ou sont de simples repères temporels : par exemple, si un
On peut définir en une phrase la blockchain Ethereum : c’est une contrat est soumis à la condition de s’exécuter après une certaine
machine unique, mondiale, transactionnelle, sécurisée par crypto- date, il faudra attendre celle-ci pour que son exécution se déclen-
graphie, à état partagé. Cet ordinateur mondial représente une che automatiquement. Dans ce cas, la vérification des conditions
seule instance canonique, vérité attestée par l’état du registre est aisée, car il suffit de constater que les délais temporels sont res-
(stocké, partagé, ouvert à tous), et confirme toutes les transactions pectés. Toute autre condition pourrait être aussi directement véri-
avec la plus grande sécurité. fiable à condition qu’elle soit inscrite dans la blockchain ;
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
– soit elles sont extérieures à la blockchain, et par exemple externe), et à destination d’un autre compte de contrat. C’est un
dépendent d’un événement extérieur, ou de la réalisation d’une objet virtuel qui n’existe que dans l’environnement d’exécution
prestation… Dans ce cas, l’exécution du contrat nécessite le Ethereum.
recours à l’équivalent d’un tiers de confiance, appelé « oracle ». Enfin, les comptes de contrats ne peuvent pas initier de nouvel-
L’oracle est chargé d’apporter à la blockchain l’information ou la les transactions par eux-mêmes, ils ne peuvent déclencher des
donnée fiable afin que le contrat puisse s’exécuter en toute sécu- messages qu’en réponse à des messages qu’ils ont reçus (d’un
rité. L’oracle pourra être un tiers de confiance accepté par les diffé- compte externe ou d’un autre compte de contrat). Toute action qui
rents protagonistes, ou une base de données faisant autorité dans se produit sur Ethereum ne peut donc être déclenchée initialement
son domaine… que par un compte externe.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
En-tête de bloc
nonce timestamp
difficulty parentHash
gasLimit gasUsed
Figure 16 – Principaux champs de l’en-tête de bloc Ethereum et les trois arbres de Merkle
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Dans le domaine des œuvres culturelles, on peut citer un exem- Cette mise à jour du protocole d’Ethereum, avec ses deux amélio-
ple : le Plantoı̈d [37]. Cette œuvre d’art se présente comme une rations principales que sont la preuve de l’enjeu (Proof of Stake)
construction mécanique ressemblant à une plante. Elle est dotée et les chaı̂nes de fragments (Sharding), doit s’effectuer en trois
d’une existence numérique autonome, et peut même se reproduire phases :
avec la coopération d’humains (mécènes et artistes).
– la phase 0, appelée chaı̂ne-balise (Beacon Chain), est sortie en
Le concept de DAO a démarré grâce aux possibilités offertes par décembre 2020 avec quelques retards. Elle met en œuvre la preuve
Ethereum (les smart contracts), mais d’autres développements d’enjeu, et gère le registre des validateurs (forgeurs). Cette nou-
commencent à apparaı̂tre sur d’autres technologies. velle version a été développée séparément et fonctionne en paral-
lèle à la chaı̂ne actuelle Ethereum 1.0 ;
– la phase 1, attendue en 2022, structurera les données de la
3.5 Jeunesse d’Ethereum blockchain en fragments et le nouveau mécanisme basé sur le
Ethereum, technologie encore très récente, est déployée par la « sharding » pourra ainsi être exploité ;
Fondation [38] (du même nom) depuis le mois d’août 2015, et le – la phase 2, initialement prévue en 2022, finalisera Ethereum 2.0.
protocole est encore en cours de développement [39]. Le développement d’un moteur d’exécution (EWASM, Ethereum
Web Assembly) remplacera l’actuelle machine virtuelle pour l’exé-
Plusieurs versions (releases) ont été déployées, Fontier en 2015,
cution des smart contracts. Cette nouvelle machine permettra
Homestead en 2016, Métropolis en 2017 et la dernière, Serenity, est
introduite par étapes depuis le mois de décembre 2020 sous d’améliorer les performances d’Ethereum.
l’appellation Ethereum 2.0. Des améliorations notables concernent Notons que le fonctionnement d’Ethereum 1.0 est maintenu avec
la durabilité, la scalabilité, et la sécurité. le PoW actuel, et l’exécution de smart contracts. La version 2.0,
& Durabilité développée séparément de la chaı̂ne actuelle 1.0, ne donne pas, au
stade de la phase 0, la possibilité de programmer des smart
Pour diminuer l’énorme consommation électrique, Ethereum 2.0 contracts, il faudra attendre la phase 2.
va abandonner la preuve de travail, « Proof Of Work » ou PoW,
pour passer à la preuve d’enjeu, « Proof Of Stake ». Cette dernière À l’avenir les deux versions devraient fusionner.
va permettre d’améliorer à la fois l’efficacité énergétique, l’évoluti-
vité et la sécurité. Les mineurs consommateurs d’électricité sont
remplacés par des validateurs appelés « forgeurs » qui sécurisent
le réseau. Pour cela, ils mettent en gage un nombre important
d’ethers (32 ethers), et s’ils se comportent bien et jouent honnête- 4. Applications
ment leur rôle, ils seront récompensés avec des intérêts sur leur
dépôt. Mais, s’ils enfreignent les règles, ils risquent de perdre tout
ou partie de ces 32 ethers, et de se faire éjecter du système. Pour
que ce système de preuve d’enjeu fonctionne, il faut aussi gérer Le potentiel des blockchains est immense. Un nombre considérable
l’identité, l’activité des forgeurs (dont le nombre peut atteindre de technologies sont apparues avec une multitude de cryptomonnaies
des millions) avec leurs mises en gage respectives, et les données (il en existe plusieurs milliers). D’autres types de blockchains, plus pri-
relatives à l’approbation de leur comportement. vés, ont émergé et font l’objet de POC (Proof of Concept) afin de réa-
liser des tests et des évaluations au sein de l’entreprise. On considère
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
& Scalabilité trois principaux types de blockchain, ils répondent à des natures
Au fur et à mesure que le réseau se développe, la capacité des d’applications caractéristiques de la très grande diversité des cas
nœuds doit augmenter et les ordinateurs demandent plus de puis- d’usage. La majorité des secteurs sont impactés, quelques exemples
sance. Actuellement, chaque nœud complet traite et valide chaque seront présentés, sans aucune exhaustivité.
transaction, ce qui représente un frein pour augmenter les vitesses
et débits du réseau, car la totalité de la blockchain ne peut pas trai-
ter plus de transactions qu’un seul de ses nœuds, soit 7 à 15 tran- 4.1 Nombreuses technologies
sactions à la seconde. Pour augmenter la cadence, et faire partici- et plusieurs types de blockchains
per plus de nœuds, la blockchain Ethereum sera divisée en une
série de partitions ou chaı̂nes de fragments ayant leur propre Le tableau 1 résume les caractéristiques des grands types de
contenu indépendamment de l’historique des transactions. Cette blockchains. Les blockchains de consortium sont intermédiaires
fragmentation (sharding) va permettre de répartir la validation entre la variante publique (technologie de la blockchain historique
entre les nœuds en partageant le travail au lieu de le répéter. Les Bitcoin) et privée. Elles se rapprochent plus ou moins de l’une ou
nœuds ne traiteront que les transactions de leur fragment, ce qui
l’autre, leurs caractéristiques sont très variables, notamment leur
induira un débit des transactions traitées beaucoup plus élevé,
degré de décentralisation. Elles sont utilisées par des partenaires
tout en permettant aux nœuds d’être plus légers. Le travail ainsi
qui décident de gérer en commun un processus métier ou des
réalisé simultanément en parallèle sur chaque fragment apportera
concurrents qui recherchent la confiance pour coopérer.
un gain important en scalabilité, et le nombre de transactions vali-
dées pourra, en conséquence, atteindre les 15 000 transactions par
seconde.
4.2 Trois natures de cas d’usage
& Sécurité
Les validateurs mettent en gage une somme importante en ether Les différents cas d’usages se répartissent en trois natures
qu’ils risquent de perdre (le protocole peut détruire automatique- d’applications.
ment leur mise) si le réseau présente un problème de sécurité.
Cela représente une dissuasion certaine pour les attaques. & Échanges de valeurs, transferts d’actifs
De plus, les validateurs se verront attribuer aléatoirement diffé- Le réseau de transaction pair à pair peut s’opérer sur n’importe
rents segments, ce qui rend impossible toute entente relative à quel token (ou jeton) : cryptomonnaie, mais aussi tout autre type
une attaque d’un segment spécifique. d’actif immatériel (actif numérique, vote…) ou physique (œuvre
Enfin, la validation sera plus décentralisée avec un nombre de d’art, diamant…).
forgeurs plus importants, ce qui jouera aussi en faveur de la Diverses métadonnées peuvent être rattachées au token afin de
sécurité. décrire et caractériser l’actif représenté.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Accès permissionné
Accès permissionné (plus ou moins
Ouvert à tous L’identité des valideurs est connue,
Accès au registre restreint).
Les acteurs (utilisateurs, valideurs) déterminée par un pouvoir
Identité des acteurs L’identité des valideurs est connue,
prennent des pseudonymes. hiérarchique ou un gestionnaire
déterminée par le consortium.
(centralisé).
Centralisé
Partiellement décentralisé,
L’accord sur l’état du registre est Le gestionnaire peut modifier le
Obtention du consensus décisions prises à la majorité des
décentralisé. protocole et les règles du
membres du consortium.
consensus.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Industrie automobile
Tourisme
Dons et fondations
Immobilier
Stockage cloud
Santé Cybersécurité
Donations et contributions
financières
Médias
Éducation
Marketing
Énergie
Droits et contrats
Intégrité des données
juridiques Prospective
ressources humaines
Figure 17 – Les cas d’usages concernent de nombreux domaines – Voir détail du texte [40]
– des tokens Non Fongibles, ou Non-Fungible Token (NFT). 4.3 Cas d’usage dans différents secteurs
Ils représentent chacun un bien unique et indivisible. Les NFT ou domaines d’applications
sont tous différents et ne sont pas interchangeables. Par exem-
ple, une carte à collectionner unique en son genre n’est pas La figure 17 reflète la diversité des domaines d’application.
fongible. Le NFT peut aussi représenter par lui-même une
œuvre d’art qui, de ce fait, acquiert une existence et une iden- Voici quelques exemples (non exhaustifs) dans des domaines par-
tité numériques représentant de la valeur. ticulièrement adéquats comme les finances, le commerce (avec les
La valorisation du token s’explique par le fait qu’il ne soit ni transports et la logistique), le secteur culturel avec la gestion des
falsifiable, ni copiable ou reproductible (la valeur dépend de droits numériques (musique, film, jeux vidéo), l’administration…
la rareté, et ce qui est reproductible facilement n’a pas de
valeur). De plus, la technologie sous-jacente de la blockchain 4.3.1 Secteur financier
confère au propriétaire de cet objet numérique pérenne des
avantages et des facilités de gestion, il peut en disposer Il doit être cité en premier, car très impacté par le phénomène Bit-
comme il le souhaite : le déplacer, le vendre, le collectionner, coin dont l’objectif était « l’ubérisation » des banques et intermé-
le donner, le détruire, le prêter, le mettre en gage… tout cela diaires, pour réaliser de pair à pair, des échanges de monnaie en
avec la traçabilité inhérente à la blockchain. toute confiance. C’est effectivement une des utilisations les plus effi-
Ces potentialités induisent actuellement une spéculation sur la caces de la blockchain Bitcoin, car des transactions financières inter-
valeur des NFT, les ventes publiques se développent à une nationales peuvent être effectuées d’un bout à l’autre de la planète
vitesse impressionnante. Des œuvres d’art sous forme de NFT en quasi-temps réel, directement, sans intermédiaire. Le transfert
atteignent des prix record. Pour l’artiste, l’intérêt est de vendre s’effectue en quelques minutes (au lieu de plusieurs jours), cela à
son œuvre directement. Et pour l’acheteur, c’est l’opportunité moindre frais, et n’importe quand (24 heures sur 24, 7 jours sur 7).
de soutenir l’artiste de son choix, et/ou de se constituer une
collection. Cependant les banques ont aussi saisi cette opportunité pour
Un nouveau marché, purement numérique, se développe… étudier la possibilité de réduire leurs coûts sur toutes les opéra-
tions de back-office (compensations, règlements, virements…).
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Un des projets les plus importants est porté par la blockchain de plusieurs produits comme des vins bio, ou des poulets, afin de
consortium R3 qui a été créée, en 2015, par une startup américaine répondre aux attentes des consommateurs en matière de transpa-
qui porte le même nom. Actuellement, plus de 80 établissements rence. Il suffit à ces derniers de scanner le QR code apposé sur le
financiers du monde entier (entre autres, la Société Générale, BNP produit pour connaı̂tre l’ensemble des informations relatives à son
Paribas, Natixis) étudient l’élaboration d’un standard de marché. origine.
La technologie blockchain permettant une plus grande fluidité des
Il est important de noter que des tiers de confiance resteront
transactions, pour un coût moindre, l’enjeu serait de reconsidérer
indispensables, car les données de la blockchain seront exactes à
le réseau SWIFT (Society for Worldwide Interbank Financial Tele-
condition que les humains apportent des informations irrécusables
communication), réseau interbancaire qui transmet plus de 25 mil-
en entrée de la blockchain.
lions de transactions chaque jour.
Les banques ont aussi de nombreux projets en cours dans 4.3.3 Secteurs de l’administration et l’État
l’objectif d’améliorer l’expérience des clients, notamment pour les
paiements internationaux. La blockchain évite les retards, les frais, Les applications sont nombreuses, entre autres :
les erreurs de traitement, et effectue, en temps réel, les opérations
– le vote où le token représente alors une voix. La transaction
de compensations, règlements et reporting.
consistera à transférer ce token de l’électeur vers le candidat à
Un autre exemple du secteur financier est la levée de fonds, via l’élection. Il sera très facile de compter les voix obtenues par cha-
la vente de tokens. cun des candidats en comptant les tokens qu’ils auront reçus ;
Les ICO (Initial Coin Offering) permettent, notamment à des star- – la certification des diplômes où le hash de la copie numérique
tups, d’obtenir des financements, pour le lancement de nouveaux du diplôme est enregistré sur la blockchain via une transaction ins-
projets ou services. Pour les acheteurs, cela représente, en quelque truite par l’école. L’étudiant, qui postule à une offre d’entreprise,
sorte, un pré-achat d’un droit d’usage du futur service auquel est envoie à cette dernière la version numérique de son diplôme
lié ce token. Ce n’est pas une participation au capital, le token doit accompagné du hash de la transaction. L’entreprise peut ainsi véri-
avoir un rôle dans le projet d’entreprise, et dépendre de la valeur fier (à l’aide du hash de la transaction) que ce diplôme a bien été
du service qui sera développé. Les tokens sont échangeables sur l’objet d’une certification de l’école.
des plateformes, leur valeur fluctue en fonction du développement
du projet correspondant. 4.3.4 Secteur culturel
Cela crée un effet viral, car la valeur du token est plus abordable
La blockchain apporte la transparence tout au long de la chaı̂ne
pour les acheteurs de la première heure qui ont tout intérêt à ce
de valeur que beaucoup considèrent comme opaque. Elle procure
que le projet réussisse. Ils en deviennent donc des ardents défen-
de réels avantages aux différents stades d’une création ou d’une
seurs, car soit ils attendent de pouvoir utiliser le service qu’ils ont
pré-acheté, soit ils veulent revendre leurs tokens avec une plus- production :
value. – de nouveaux modes de financements d’une œuvre (musique,
film, vidéo, jeux…) sont possibles, notamment des préfinance-
Plus proches d’un objectif de placement, les STO (Security Token
Offering) constituent aussi une méthode de collecte de fonds pour ments via des tokens qui représenteront une valeur liée à l’avance-
les startups, ils répondent à un cadre législatif et réglementaire ment de l’œuvre ou à son préachat. Le marché des contenus sera
plus sécurisant. dynamisé par des microtransactions (socialfinancement) effectuées
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ces nouveaux liens directs permettent aux créateurs de contenus préventes qui en financeront la production), les particuliers pour-
d’avoir une meilleure connaissance de leur public. Ils peuvent ainsi ront se revendre de l’électricité entre eux…
mieux répondre à ces derniers, en allant au devant de leurs atten- – les smart contracts permettront notamment l’automatisation
tes et de leurs souhaits. La blockchain, en supprimant les intermé- des paiements récurrents, ils favoriseront les microtransactions en
diaires, rapproche les créateurs de contenus des consommateurs ; temps réel… De multiples avantages s’ensuivront avec la rapidité,
– la personnalisation de la gestion des droits d’auteurs par smart la fiabilité et les garanties apportées par ces transactions auto-
contracts, et l’automatisation des paiements : la blockchain est exécutables. Les interactions économiques en seront transformées,
notamment bien adaptée aux micropaiements. On peut citer et la chaı̂ne de valeur s’en trouvera modifiée.
l’exemple de la startup anglaise FilmChain [41] dont l’objectif est L’exécution automatique des smart contracts apporte une grande
de fournir des paiements rapides et sécurisés, via des smart assurance dans la réalisation des tâches. Cependant des règles
contracts aux divers participants de l’industrie du cinéma et de la strictes, formelles et définitives y sont codifiées, induisant un for-
télévision. Ces derniers acceptent même d’être moins bien payés malisme très fort (code is law).
lors du tournage (environ 20 % en moins), à condition d’être
ensuite rémunérés par smart contract lors de diffusions ultérieures. Mais, cette organisation désintermédiée prise en charge par la
technologie n’élimine pas le problème de la confiance. D’une part,
les tiers de confiance conservent un rôle essentiel pour certifier
l’intégrité et l’authenticité des données collectées, destinées au
registre de la blockchain. D’autre part, le comportement des com-
5. Conclusion munautés blockchains, avec leurs modalités de gouvernance, est
primordial pour éviter tout discrédit. De même une grande
confiance est accordée à l’ensemble des développeurs (anonymes
La première blockchain fut un système de paiement électronique responsables du code et des mises à jour). Ces considérations sont
de pair à pair. Cet usage initial se confirme au cours du temps. Les d’autant plus à prendre en compte que quelques verrous subsistent
paiements en Bitcoin s’effectuent directement entre pairs, d’un pour l’adoption massive de ces technologies qui (en dehors du Bit-
bout à l’autre de la planète, indépendamment des banques. C’est coin) sont encore dans une phase de maturation.
un élément fort de la transformation numérique de notre société, Malgré ces obstacles surmontables, les blockchains augmente-
car il remet en cause le pouvoir vertical et centralisé des banques ront la facilité et la fiabilité d’un grand nombre de tâches ou
et des États. d’actions du monde physique (grâce à la représentativité numé-
Mais l’avenir n’est plus réservé exclusivement aux cryptomon- rique et aux données collectées par des capteurs) tout en entraı̂-
naies. Dans la nouvelle économie numérique, le token peut être nant le Web vers la décentralisation.
soit l’actif lui-même (comme le bitcoin ou l’ether), soit une repré- Une nouvelle économie semble se dessiner : la token economy.
sentation virtuelle de n’importe quel actif (matériel ou immatériel,
par exemple un bien immobilier ou une œuvre d’art numérique) à Cet article n’aurait pas pu être écrit sans l’apport des nombreux
qui il donne une identité numérique. Le token ainsi attaché à une travaux et publications des chercheurs, ingénieurs, dévelop-
œuvre (ou un bien) l’identifie de façon exclusive, il est en consé- peurs de la blockchain. Qu’ils en soient ici tous remerciés.
quence lui-même unique, non reproductible, et prend ainsi de la Nos remerciements particuliers à Matthieu RICHY-DURETESTE,
valeur (en atteignant parfois des sommes astronomiques par rap- Christophe CHARLES (OCTO Technology), Jean-Noël GOUYET,
port à l’œuvre ou au bien sous-jacent, pour exemple les NFT). Arnaud LECOEUR (Airmob ; École Polytechnique et Supélec)
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Seul l’actif identifié par le token sera tracé et valorisé, même s’il pour leur relecture et leurs corrections.
existe des reproductions ou des copies.
Tous les secteurs d’activités sont potentiellement concernés par
la « tokenisation » et les smart contracts :
– le token facilite les transferts d’actifs et les échanges directs
6. Glossaire
entre pairs : le consommateur d’un produit pourra rémunérer direc-
tement le créateur ou le fabricant, le musicien pourra vendre sa
musique à ses fans sans intermédiaire (voire proposer des Sources : [42]
Terme Définition
Un arbre construit en hachant des données appariées (les feuilles), puis en appariant et en hachant les
Arbre de Merkle (Merkle tree)
résultats jusqu’à ce qu’il ne reste qu’un seul hachage, la racine de Merkle.
Un groupe de transactions, marqué avec un horodatage et une empreinte du bloc précédent. L’en-tête
Bloc de bloc est haché pour produire une preuve de travail, validant ainsi les transactions. Les blocs valides
sont ajoutés à la blockchain principale par consensus du réseau.
Bloc de genèse (genesis block) Le premier bloc de la blockchain, utilisé pour initialiser la cryptomonnaie.
Le bytecode (terme anglais signifiant « code en bytes ») est un code intermédiaire entre les
Byte code instructions machines et le code source, qui n’est pas directement exécutable. Un programme à base
de bytecode est exécuté par un interpréteur appelé machine virtuelle.
Base de données distribuée et sécurisée, dans laquelle sont stockées chronologiquement, sous forme
Chaı̂ne de blocs (blockchain) de blocs liés les uns aux autres, les transactions successives effectuées entre ses utilisateurs, depuis
sa création.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Terme Définition
Le numéro secret qui déverrouille le bitcoin envoyé à l’adresse correspondante ou qui signe une transaction.
Clé secrète (ou clé privée)
Une clé secrète ressemble à ceci : 5J76sF8L5jTtzE96r66Sf8cka9y44wdpJjMwCxR3tzLh3ibVPxh
Lorsque plusieurs nœuds, généralement la plupart des nœuds du réseau, possèdent les mêmes blocs
Consensus
dans leur meilleure blockchain validée localement.
Programme autonome dont le code est inscrit dans une chaı̂ne de blocs et dans lequel est défini un
Contrat intelligent (smart contract) ensemble d’instructions qui s’exécutent de manière automatique lorsque certaines conditions sont
réunies.
La cryptographie est une des disciplines de la cryptologie s’attachant à protéger des messages
Cryptographie
(assurant confidentialité, authenticité et intégrité) en s’aidant souvent de secrets ou clés.
Monnaie virtuelle utilisée pour des échanges de biens ou de services, de pair à pair, généralement de
Cryptomonnaie manière indépendante du système bancaire ou de toute politique monétaire, et dont l’émission et les
transactions reposent sur la technologie des chaı̂nes de blocs.
Dapp Decentralized Application, application décentralisée sur Ethereum permise par les ‘smart-contracts’.
Un paramètre à l’échelle du réseau qui contrôle la quantité de calcul nécessaire pour produire une
Difficulté
preuve de travail.
La double dépense est le résultat d’une dépense d’argent réussie plus d’une fois. Bitcoin protège
Double dépense contre la double dépense en vérifiant chaque transaction ajoutée à la blockchain pour vous assurer
que les entrées de la transaction n’ont pas déjà été dépensées.
Algorithme ECDSA (Elliptic Curve Digital Signature Algorithm) qui permet de générer une clé publique
ECDSA
à partir d’une clé privée.
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ensemble de métadonnées, situé au début d’un bloc de données, qui fournit de l’information sur la
En-tête de bloc
nature de son contenu.
Plateforme décentralisée qui utilise la blockchain pour permettre la création de smart contracts.
La monnaie utilisée pour cette blockchain est l’ether.
Ethereum
Contrairement à Bitcoin, Ethereum ne se focalise pas sur le seul aspect monétaire et vise à accueillir
des applications variées.
La machine virtuelle Ethereum (Ethereum Virtual Machine) interprète les instructions des
EVM
smart-contracts.
Le fork, également appelé fork accidentel, se produit lorsque deux blocs ou plus ont la même hauteur
de bloc, forçant la blockchain. Cela se produit généralement lorsque deux mineurs ou plus trouvent
Fork
des blocs presque au même moment.
Cela peut aussi arriver dans le cadre d’une attaque.
Empreinte numérique servant à identifier rapidement une donnée initiale, au même titre qu’une
Hash
signature pour identifier une personne.
Jeton Actif numérique pouvant être transféré (et non copié) de pair à pair
Mécanisme qui vise à assurer la validité des blocs ajoutés sur une chaı̂ne de blocs ainsi que les
Mécanisme de validation
transactions qu’ils contiennent.
Opération qui repose sur un mécanisme de validation et qui permet l’ajout de blocs à un réseau de
Minage
cryptomonnaie, en échange d’une prime de minage.
Un nœud de réseau qui trouve une preuve de travail valide pour les nouveaux blocs, par hachage
Mineur répété.
Personnes qui connectent sur le réseau une ou des machines équipées pour effectuer du minage.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Terme Définition
Multisignature Par multisignature (multisig), il faut plus d’une clé pour autoriser une transaction de cryptomonnaie.
Satoshi Nakamoto est le nom utilisé par la personne ou les personnes qui ont conçu Bitcoin et créé
son implémentation de référence originale, Bitcoin Core. Dans le cadre de la mise en œuvre, ils ont
Nakamoto, Satoshi également conçu la première base de données blockchain. Ce faisant, ils ont été les premiers à
résoudre le problème de la double dépense pour la monnaie numérique. Leur véritable identité reste
inconnue.
Appareil informatique relié au réseau qui héberge une chaı̂ne de blocs, destiné à relayer les
transactions effectuées et à maintenir une copie complète ou partielle du registre distribué sur lequel
Nœud
ces transactions sont enregistrées. Chaque nœud du réseau est défini au regard de ses fonctions
particulières. Il existe ainsi différents types de nœuds.
L’oracle récupère des données externes et les envoie dans la blockchain, ce qui pourra éventuellement
Oracle
déclencher l’exécution d’un smart-contrat.
Se dit du mode d’utilisation d’un réseau dans lequel chacun des participants connectés dispose des
Pair à pair mêmes droits et qui permet un échange direct de services sans recourir à un serveur central ; par
extension, se dit d’un tel réseau.
Une collection non ordonnée de transactions qui ne sont pas des blocs dans la chaı̂ne principale, mais
Pool de transactions
pour lesquelles nous avons des transactions d’entrée.
Logiciel contenant toutes vos adresses Bitcoin et vos clés secrètes, il est utilisé pour envoyer, recevoir
Portefeuille (ou wallet)
et stocker les bitcoins.
Autre méthode pour atteindre le consensus distribué dans un réseau blockchain. À l’inverse du Proof
Preuve d’enjeu (proof of stake) of work, le Proof of stake ne demande pas aux utilisateurs d’utiliser leur puissance de calcul, mais de
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Mécanisme de validation de transactions qui repose sur la résolution d’un problème cryptographique
complexe.
Preuve de travail (proof of work)
Dans Bitcoin, les mineurs doivent trouver une solution numérique à l’algorithme SHA256 qui réponde
à une cible du réseau, la cible de la difficulté.
Nœud racine d’un arbre de Merkle, descendant de toutes les paires hachées de l’arbre. Les en-têtes de
Racine de Merkle (Merkle root)
bloc doivent inclure une racine de Merkle valide issue de toutes les transactions de ce bloc.
Montant inclus dans chaque nouveau bloc en tant que récompense par le réseau au mineur qui a
Récompense
trouvé la solution preuve de travail. Il est actuellement de 6,25 BTC par bloc.
Registre simultanément enregistré et synchronisé sur un réseau d’ordinateurs, qui évolue par
Registre distribué l’addition de nouvelles informations préalablement validées par l’entièreté du réseau et destinées à ne
jamais être modifiées ou supprimées.
Règles de consensus (consensus Les règles de validation de bloc que les nœuds complets suivent pour rester en consensus avec les
rules) autres nœuds.
Un satoshi est la plus petite dénomination de bitcoin pouvant être enregistrée sur la blockchain.
Satoshi
Il équivaut à 0,00000001 bitcoin et porte le nom du créateur de Bitcoin, Satoshi Nakamoto.
Bitcoin utilise un système de script pour les transactions. De type Forth, Script est simple, basé sur
Script
une pile et exécuté de gauche à droite. Il est délibérément non Turing complete, sans boucle.
SHA 256 Fonction de hachage très utilisée, notamment pour la blockchain Bitcoin
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Terme Définition
SIGHASH Type de hachage de signature dont le suffixe permet de définir ce qui est signé
Sortie de transaction ou TxOut qui contient deux champs : un champ de valeur pour transférer zéro
Sortie (output) satoshi ou plus et un script pubkey pour indiquer les conditions à remplir pour que ces satoshis
puissent être dépensés.
Simplified Payment Verification, ou vérification de paiement simplifiée pour vérifier si des transactions
SPV particulières sont incluses dans un bloc sans télécharger le bloc entier. La méthode est utilisée par
certains clients Bitcoin légers.
Le taux de hachage est l’unité de mesure de la puissance de traitement du réseau Bitcoin. Le réseau
Bitcoin doit faire des calculs mathématiques intensifs pour des raisons de sécurité. Quand le réseau a
Taux de hachage
atteint un taux de hachage de 10 Th/s (1 Terahash = 1012 hash), ceci signifie que le réseau peut faire
1013 calculs par secondes.
Token ou jeton Actif numérique pouvant être transféré (et non copié) de pair à pair
Une transaction est une structure de données signée exprimant un transfert de valeur ou
Transaction d’information d’une adresse à une autre. Les transactions sont transmises sur le réseau, collectées par
les mineurs et incluses dans des blocs rendus permanents sur la blockchain.
Un langage de programmation est dit Turing-complet s’il permet de représenter toutes les fonctions
calculables au sens de Turing et Church (nonobstant la finitude de la mémoire des ordinateurs).
Turing complete La plupart des langages usuels de programmation (C, C++, Java…) sont Turing-complets. Le fait d’être
Turing-complet est généralement un critère requis d’un langage de programmation générique, par
opposition à un langage dédié au traitement de problèmes spécifiques.
Unspent Transaction Output, sortie de transaction non dépensée (UTXO) qui peut être dépensée
UTXO
comme entrée dans une nouvelle transaction.
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
P
O
U
Blockchain : principes, Bitcoin R
et Ethereum
La chaı̂ne de blocs de valeurs E
N
[2]
(1991).
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
O
U [30] L’ether était une théorie scientifique qui a voir Glossaire) [Link] Comprendre les blockchains : fonctionne-
existé jusqu’au début du 19e siècle. https:// le-lexique-de-la-blockchain/ [Link] ment et enjeux de ces nouvelles technolo-
R [Link]/bibliotheque/fr/l%
C3%A9ther-luminif%C3%A8re-dans-les-
[Link]/[Link]?highlight=si-
ghash
gies. Rapport de Mme Valéria FAURE-
MUNTIAN, député, MM. Claude DE GANAY,
cours-de-l%E2%80%99x-apr%C3%A8s-1905 député et Ronan LE GLEUT, sénateur, fait au
Bitcoin nom de l’Office parlementaire d’évaluation
[31] LARS (L.). – Qu’est-ce qu’un smart contract NAKAMOTO (S.). – Bitcoin : A Peer-to-Peer des choix scientifiques et technologiques :
ou contrat intelligent ? [Link] [Link]
E qu-est-ce-qu-un-smart-contract-contrat-intel-
ligent/ (2020).
Electronic Cash System. [Link]
[Link]/literature/bitcoin/ [Link]
[Link]/[Link] Traduction en français –
[Link] (2018).
La blockchain pour les entreprises : soyez cu-
N [32] KASIREDDY (P.). – How does Ethereum work,
anyway ? [Link]
post/how-does-ethereum-work-anyway
Bitcoin : un système de paiement électro-
nique pair-à-pair. [Link]
coin-paper/bitcoin_fr.pdf (2008).
rieux ! comprendre et expérimenter. https://
[Link]/files/extranet/VF_Li-
vre%2520blanc-Blockchain%2520pour%
(2017). 2520les%2520entreprises_juin%
ANTONOPOULOS (A.M.). – Au cœur du Bit-
coin – Programmer la Blockchain ouverte. 252021_06_2017.pdf
[33] PHUC (M.). – Qu’est-ce que le gas sur Ethe-
Collection O’Reilly. Page 19. Editions First,
S reum ? [Link]
faq-ethereum/quest-ce-que-le-gas-sur-ethe-
reum/ (2020).
[Link]
Antonopoulos-Au-coeur-de-Bitcoin (2020).
La Technologie Blockchain et son côté dis-
ruptif pour de multiples applications futures
(C. Lambert, École de Guerre). [Link]
P [Link]/articles/primavera-de-fi-
lippi-as-an-artist-i-try-to-challenge-the-cur-
rent-state-of-the-world/
24 novembre 2016. [Link]
[Link]/livre-blanc-white-paper-ethe-
reum-traduction-francaise/ (2017).
Cryptonaute. – Cours cryptomonnaies en
temps réel. [Link]
monnaie/
Rapports
[Link]
Vidéos
S [Link]/valide-introduction-a-la-
preuve-denjeu-sur-eth2/ (2019).
REALITÉS INDUSTRIELLES : Blockchains et
smart contracts : des technologies de la
confiance ? Publiées avec le soutien de l’Ins-
Ethereum France Live : se préparer à Ethe-
reum 2 avec Mamy Ratsimbazafy. https://
[Link]/ethereum-
[40] DOUBLEDAY (K.). – Blockchain for 2018 and titut Mines-Télécom [Link]
ri/2017/ri_aout_2017.pdf france-live-se-preparer-a-ethereum-2-avec-
beyond : A (growing) list of blockchain use
mamy-ratsimbazafy/ (2020).
cases. [Link]
chain-for-2018-and-beyond-a-growing-list-of- JEANNEAU (C.), YERETZIAN (A.), STACHT-
LAFONTAINE (B.) et ROUILLARD (Y.). – La
blockchain-use-cases-37db7c19fb99 (2018). CHENKO (A.) et BALVA (C.). – La Blockchain
Blockchain en détail. OCTO Technology,
décryptée. [Link]
[Link]
[41] FimChain. . – [Link] couvrir-la-blockchain/la-blockchain-decryp-
J0MgFQ-j6nE (2016)
tee-les-clefs-dune-revolution/
[42] Légifrance. – Termes et Définitions. https://
DE FILIPPI (P.). – La blockchain au service
[Link]/jorf/id/JORF- Rapport d’information de l’Assemblée Natio-
d’une nouvelle gouvernance. [Link]
TEXT000034795042 [Link] nale sur les chaı̂nes de blocs (blockchains)
[Link]/watch?v=2KVzamQmOWw
wp-content/uploads/2017/06/Livre-blanc- présenté par MME Laure DE LA RAUDIÈRE
(2016).
[Link] [Link] ET M. Jean-Michel MIS. [Link]
[Link]/a11651788/Andreas-M-Antonopou- [Link]/dyn/15/rapports/micblocs/
los-Au-coeur-de-Bitcoin (onglet Feuilleter – l15b1501_rapport-[Link] (2018).
Normes et standards
AFNOR 29 Jan 2019 Normalisation – Bientôt des normes ISO normes-iso-blockchain/ Avancement des
pour la Blockchain. [Link] normes sur la blockchain : [Link]
[Link]/actualites/bientot- [Link]/search?term=blockchain
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
S
A
V
O
I
R
P
L
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
U
S
tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
L’EXPERTISE TECHNIQUE
& SCIENTIFIQUE DE RÉFÉRENCE
15 DOMAINES D’EXPERTISE
[Link]