0% ont trouvé ce document utile (0 vote)
3 vues31 pages

Blockchain : Bitcoin et Ethereum expliqués

La blockchain.

Transféré par

asfram
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues31 pages

Blockchain : Bitcoin et Ethereum expliqués

La blockchain.

Transféré par

asfram
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Réf.

: TE6300 V1

Blockchain : principes, Bitcoin


Date de publication :
10 avril 2022
et Ethereum - La chaîne de
blocs de valeurs

Cet article est issu de : Technologies de l'information | Le traitement du signal et ses


applications

par Laurence LECOEUR, Jean-François GERVAIS

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.

Pour toute question :


Service Relation clientèle
Techniques de l’Ingénieur
Immeuble Pleyad 1 Document téléchargé le : 21/11/2025
39, boulevard Ornano
93288 Saint-Denis Cedex Pour le compte : 7200031372 - nantes universite // [Link]

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]

Blockchain : principes, Bitcoin


et Ethereum
La chaı̂ne de blocs de valeurs

par Laurence LECOEUR


Ingénieur en Télécommunications, Télécom Paris
Ex-chargée d’études à la recherche de l’Institut National de l’Audiovisuel (INA)

et Jean-François GERVAIS
Chef de projet Digital Learning à l’Institut National de l’Audiovisuel

1. Origine de la Blockchain................................................................ TE 6 300 – 3


1.1 Les prémices en 1991 ......................................................................... — 3
1.2 Pourquoi le démarrage de la blockchain Bitcoin en 2008 ? ............. — 3
2. Première chaı̂ne de blocs Bitcoin ................................................ — 3
2.1 Description générale .......................................................................... — 3
2.2 Bases de la technologie ..................................................................... — 4
2.3 Description du fonctionnement de la blockchain Bitcoin ................. — 10
2.4 Limites et défauts ............................................................................... — 13
3. Ethereum .......................................................................................... — 13
3.1 Comptes et transactions ....................................................................
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

— 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

L e concept de la blockchain est basé sur un protocole de gestion numérique


de données décentralisées, en libre accès. La blockchain amène une nou-
velle utilisation d’Internet par la possibilité d’effectuer des transferts de valeurs
(via des transactions) de pair à pair, sans passer par un intermédiaire de
confiance. Le transfert et l’enregistrement des données sont sécurisés par la
cryptographie qui apporte la confiance entre les utilisateurs.
De tels échanges de valeurs sur un réseau décentralisé représentent une inno-
vation majeure. Jusqu’à maintenant, lorsqu’un transfert (par exemple d’un
fichier ou d’une image) était réalisé sur le réseau, une nouvelle copie était impli-
citement créée. Internet était basé sur la copie gratuite reproductible à l’infini
(ce qui est infiniment reproductible n’a pas de valeur), et seule l’information
pouvait être créée, publiée, conservée, copiée et échangée sur le réseau.

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 1

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

L’innovation consiste à passer d’un échange de contenu informationnel à un


échange de valeur. Cela est rendu possible par la cryptographie qui fournit
une solution afin que le transfert se réalise sans duplication du contenu trans-
féré. Autrement dit, lors du transfert d’un bien de valeur, l’émetteur se voit
dépossédé de cette valeur, alors que le destinataire en devient le nouveau
propriétaire.
La blockchain a créé un bien numérique non reproductible qui peut être une
cryptomonnaie, mais aussi tout autre type d’actif numérique. Il se transfère de
pair à pair, et son identification rend impossible toute double dépense.
Quant au stockage des données sur un réseau décentralisé, il apporte aussi
de grands changements par rapport à notre modèle actuel de société. Cela
remet en cause les bases de données centralisées traditionnelles où les infor-
mations sont enregistrées et certifiées par un tiers de confiance : la banque se
porte garante du paiement, l’administration atteste l’état civil, l’INPI (Institut
national de la propriété intellectuelle) enregistre le dépôt de la marque…
De même, cela bouscule le monopole de certaines plateformes centralisatri-
ces, et notamment des GAFA. Actuellement, la toute puissance des GAFA, qui
dominent le marché, bloque le développement de tout nouvel entrant qui subit
la loi du « winner takes it all ». Par exemple, en 2020, les parts de marché des
systèmes d’exploitation pour smartphone sont monopolisées par Google et
Apple, les deux géants ne laissent plus aucune place à leurs rivaux. Les GAFA
peuvent ainsi jouer de leur pouvoir dominant pour limiter l’arrivée de
concurrents.
En opposition à cette centralisation, la blockchain instaure sur le web un sys-
tème de certification totalement décentralisé, sans tiers de confiance, ni inter-
médiaire, qui repose sur un registre, ouvert et accessible à tous, consignant des
écritures infalsifiables. C’est une nouvelle forme de « notarisation », la crypto-
graphie se substitue au tiers de confiance ou à l’intermédiaire centralisateur.
Il faut ajouter à ces deux types d’usage que sont les échanges de valeurs, et la
« notarisation des biens », un troisième type avec les smart contracts : les tran-
Parution : avril 2022 - 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.

TE 6 300 – 2 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

1. Origine de la Blockchain préexistantes appartenant à ces principaux travaux autour du


concept de réseau décentralisé et de chaı̂ne sécurisée par
cryptographie.
Techniquement, la blockchain est plus considérée comme une
1.1 Les prémices en 1991 évolution incrémentale ou une synthèse créative qu’une innovation
de rupture. D’ailleurs les enjeux ne sont pas uniquement techni-
Le concept de la blockchain remonte à 1991 : W. Scott Stornetta ques, mais concernent aussi l’organisation et la gouvernance dans
(spécialiste de la cryptographie et de l’informatique distribuée, qui de nombreux secteurs.
est considéré comme le père de la blockchain) et Stuart Haber
(chercheur en cryptographie) ont décrit le concept d’un réseau de
blocs de données sécurisé par cryptographie dans l’article : « How 1.2 Pourquoi le démarrage
to time-stamp a digital document » publié dans le Journal of Cryp-
tography [1]. Ils voulaient mettre en application un système où les
de la blockchain Bitcoin en 2008 ?
documents horodatés ne pourraient être ni falsifiés, ni antidatés. L’implémentation de la première blockchain a été réalisée juste
Dans cet objectif, ils créent leur propre société de certification, après la crise des subprimes qui a touché les États-Unis à partir de
Surety [2] : chaque document ou fichier est certifié par un sceau 2007 et a entraı̂né une crise financière mondiale. Il s’en est suivi un
(Absolute Proof) qui contient à la fois : manque de confiance dans certains intermédiaires financiers, et
une mise en évidence de l’absence de sécurité et de transparence
– un horodatage fiable (fourni par le NIST, National Institute of
dans des investissements financiers.
Standards and Technology, fournisseur officiel de l’heure standard
aux États-Unis) ; En réaction à ce constat, c’est dans cet esprit (accompagné d’un
– et l’empreinte numérique du document ou fichier, obtenue par désir quelque peu anarchiste et libertaire), qu’a été conceptualisé et
un algorithme de hachage (défini dans § [Link]). implémenté, par une personne (ou une équipe que l’on qualifie de
crypto-anarchistes) connue sous le nom de Satoshi Nakamoto [8],
Surety ne conservait que les empreintes, cela sans posséder les un système monétaire de transaction électronique pair à pair
documents initiaux. Et pour renforcer cette preuve inaltérable, les (sans autorité centrale, ni aucune institution financière), utilisant
inventeurs publiaient, chaque semaine, une attestation cryptogra- sa propre cryptomonnaie, le bitcoin, et reposant sur la technologie
phique de leur base de données de sceaux numériques. Cette chaı̂ne blockchain qui introduit la notion de registre public consignant tou-
de caractères cryptée était publiée dans la rubrique « Annonces et tes les transactions effectuées sur ce réseau.
objets trouvés » du New York Times (ce qui rendait impossible
toute modification ou altération, sauf à récupérer les 600 000 exem- Le livre blanc de Satochi Nakamoto de 9 pages [9] a engendré
plaires du Times). Cela fait titrer au Monde [3] : « La première block- une cryptomonnaie représentant un montant de 700 milliards de
chain de l’histoire date de 1995, et elle est imprimée sur papier ». dollars en circulation au mois de mai 2021 (soit 19 millions de Bit-
coins à un cours unitaire de 37 000 $ environ).
& Autres précurseurs La confiance dans l’autorité centrale est donc remplacée par un
Philip Zimmermann [4] développe aux États-Unis, en 1991, un processus de validation des transactions entre pairs. Ces dernières
logiciel de chiffrement cryptographique asymétrique (§ [Link]) sont effectuées sur un réseau ouvert et décentralisé, à la vue de
nommé PGP (Pretty Good Privacy, pour « assez bon niveau de tous. Autrement dit, la confiance est portée par le mode de fonc-
confidentialité »). Son objectif est double : d’une part contrôler tionnement même de la blockchain. La validation des transactions
Parution : avril 2022 - 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.

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 3

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Transmission Stockage
de valeurs d’informations

transaction Le registre est


répliqué et
distribué
blocs sur les noeuds

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.

TE 6 300 – 4 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

Les mineurs, intervenants


Le bloc proposé à la blockchain est certifié par
actifs du réseau, sélectionnent
un hash comme consécutif d’un bloc précédent.
des transactions et participent
Le hash est une fonction irréversible (ne
à leur validation.
permettant pas de revenir à la donnée d’entrée),
Par exemple, si A cherche à
qui génère une empreinte numérique unique par
dépenser deux fois le même
ficher.
bitcoin, seule une transaction
sera prise en compte
5
3 Le bloc miné est ajouté à la
blockchain. Les «nœuds » s’assurent
de l’impossibilité d’une corruption
5 6
de la blockchain par quelqu’un
qui souhaiterait ajouter ou retirer
des transactions au registre.
A et B initient une transaction, 6 #
à savoir un échange de
données sous forme #
# #
1 numérique : des « tokenized
assets », représentations #
numériques d’actifs physiques
4 #
(argent, contrat, images...) 3 #
? #
_ _ _ _ 0001 7
1011001000
?
A
B
A 7
B 1
La transaction est
4 confirmée entre A et B
Ces transactions sont
réunies dans un bloc.
2 Pour avoir le droit de
proposer un bloc, un mineur
La transaction est 2 doit résoudre un problème
soumise à un réseau mathématique nécessitant
pair à pair où de nombreaux d’importantes capacités
d’ordinateurs – les « nœuds » de calcul (« proof of qork »)
– sont interconnectés. moyennant une récompense.
Parution : avril 2022 - 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])

une deuxième, une troisième… jusqu’à ce que la somme des entrées


Portefeuille-émetteur Portefeuille-destinataire soit au moins égale au montant de la transaction augmenté d’une petite
somme pour payer des frais de transaction.
Pour chaque entrée de la transaction, l’utilisateur devra apporter
une preuve de propriété sous forme d’une signature numérique
(qui sera vérifiée par les nœuds du réseau) ;
2 ) Une sortie précise le montant à payer à un portefeuille-
-Montant destinataire. Une sortie de transaction comporte une condition
-Horodatage (exprimée dans un script § [Link]) qui verrouille ce montant, de
manière à ce que seul le destinataire puisse l’utiliser (avec sa signa-
ture numérique). Il y a autant de sorties que de destinataires de la
Figure 3 – La transaction [11] transaction car on peut payer plusieurs personnes dans une même
transaction. Enfin, il y a une sortie spécifique : c’est une sortie
Une même transaction peut concerner un ou plusieurs porte- adressée à soi-même. Si l’émetteur ne veut pas perdre « la mon-
feuilles-émetteurs (la somme des bitcoins transférés doit atteindre, naie de sa pièce », autrement dit si les entrées qu’il consomme
au minimum, le montant de la transaction). De même, il peut y sont supérieures au montant de la transaction (augmenté de quel-
avoir un ou plusieurs portefeuilles-destinataires (par exemple ques frais de transactions), il doit alors se rendre la monnaie à lui-
dans le cas d’un partage de revenus). même, c’est l’objet d’une sortie adressée à lui-même.
Chaque transaction est constituée d’entrées et de sorties : Pour un portefeuille-émetteur, ce procédé d’entrée/sortie consiste,

à utiliser une sortie de transaction précédente non dépensée (Uns-
1 ) Une entrée représente un montant que le portefeuille- pend Transaction Output ou UTXO), afin d’alimenter l’entrée d’une
émetteur possède, il l’a reçu précédemment, et ne l’a pas encore nouvelle transaction. Cela est décrit dans le modèle UTXO [12]
dépensé. Les montants de ces entrées sont des entités indivisibles (figure 4).
(on peut faire la comparaison avec un billet de 50 euros que l’on ne
Les UTXO sont les éléments constitutifs fondamentaux des tran-
peut pas diviser en deux billets, l’un de 33 euros et l’autre de
sactions, ils représentent chacun une valeur arbitraire, discrète et
17 euros).
indivisible de bitcoins, et définissent les entrées et les sorties pour
Pour transférer un montant en bitcoins, l’utilisateur consommera, chaque transaction : toute sortie de transaction non dépensée peut
dans sa totalité, une entrée dont il est propriétaire, puis éventuellement être utilisée comme entrée dans une nouvelle transaction, elle se

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 5

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

UTXOs UTXOs

x BTC Entrée
Sortie Somme de la transaction

Frais de
Sortie
y BTC Entrée transaction

...... Solde de la transaction

z BTC ......

BTC : BiTCoin Retour de la monnaie


UXTO : Unususpend Transaction Output

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.

Figure 4 – Modèle UXTO

Transaction

État n État n+1

É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]

Ensemble du unités de comptes Ensemble des unités de comptes


définies par les champs suivants Champs de la transaction définies par les champs suivants

∙ 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).

TE 6 300 – 6 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

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]

cole, et peuvent valider les transactions, et les blocs. Ils représen-


informations complémentaires sont construites par l’explorateur
tent aussi un éventuel point d’entrée pour la gestion des
et ne figurent pas dans la transaction, par exemple l’adresse Bitcoin
de l’émetteur, le montant des frais, ou des données statistiques sur portefeuilles d’utilisateurs.
les transactions, les validations, les blocs, les cotations du bitcoin… Ces nœuds sont très consommateurs de ressources informati-
On recense un grand nombre d’explorateurs (équivalents d’un ques, que ce soit en calcul, ou en mémoire. Ils doivent répondre à
moteur de recherche pour blockchains) [15]. l’accroissement de la blockchain qui nécessite de plus en plus

20bb84376dbc31f86ba01ecc2f1b8985af9c39ade8613dd33283... 2020-10-27 10:11

bc1qyzxdu4px4jy8gwhcj82zpv7qzhvc0fvumgn... 0.00159571 BTC 3PPzfnT1DmMzp2zkQk62q76aTubCeyJzNL 0.00100789 BTC


bc1qyzxdu4px4jy8gwhcj82zpv7qzhvc0fvumgn... 0.00002734 BTC

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 :

Hash (64 caractères) : 20bb84376dbc31f86ba01ecc2f1b8985af9c39ade8613dd332836f4c7ca5834c


Date de réception : 2020-10-27 10:11
Taille : 224 octets
Transaction incluse dans le bloc Nº : 654433
Total Entrée : 0,00159571 BTC
Total Sortie (Valeur la transaction 0,00100789 BTC + retour monnaie 0,00002734 BTC) : 0,00103523 BTC
Frais de transaction : 0,00056048 BTC
Valeur du nitcoin (BTC) lors de la transaction : 13,59 $

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.

Figure 6 – Exemple de transaction affichée par un explorateur [16]

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 7

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

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

Chaîne de caractères Chaîne de caractères


Fonction de hachage

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.

Ainsi une simple virgule ‘,’ donnera le résultat suivant :


d03502c43d74a30b936740a9517dc4ea2b2ad7168caa0a774cefe793ce0b33e7

Figure 7 – Exemples de la fonction de hachage [18]

TE 6 300 – 8 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

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]

Pourquoi utiliser la cryptographie asymétrique (clés publi-


Dans les cas les plus courants, la signature s’applique à
ques/privées) dans Bitcoin ?
l’ensemble de la transaction, validant, de ce fait, toutes les entrées,
toutes les sorties, et autres données de la transaction. La signature,
« Elle n’est pas utilisée pour « crypter » (rendre secret) les tran- SIGHASH, s’attache un indicateur-suffixe (SIGHASH_ALL) pour indi-
sactions. Au contraire, la propriété utile de la cryptographie quer que toutes les entrées et toutes les sorties de la transaction
asymétrique est la capacité à générer des signatures numéri- sont signées dans leur ensemble.
ques. Une clé privée peut être appliquée à l’empreinte numé-
rique d’une transaction pour produire une signature numé- Cependant la signature peut valider seulement un sous-
rique. Cette signature ne peut être produite que par quelqu’un ensemble des données de la transaction, autrement dit, on peut
ayant la connaissance de la clé privée. Cependant, toute per- signer indépendamment chacune des entrées et des sorties. Dans
sonne ayant accès à la clé publique et à l’empreinte de transac- ce cas, l’indicateur, ajouté à la signature SIGHASH, précise sur
tion peut les utiliser pour vérifier la signature. Cette propriété quelles données s’applique la signature, par exemple :
utile de la cryptographie asymétrique permet à quiconque de – à chacune des entrées et à une seule sortie. Ce type de signa-
vérifier chaque signature sur chaque transaction, tout en ture peut être utilisé pour collecter des fonds (crowdfunding). Cha-
s’assurant que seuls les propriétaires de clés privées peuvent cun signe sa propre entrée destinée à l’objectif de la collecte de
produire des signatures valides » [13]. fonds qui représente l’unique sortie. La transaction ne sera valide
que si suffisamment d’entrées sont rassemblées pour atteindre le
montant souhaité en sortie. Sinon, la transaction ne sera pas
valide ;
– ou à une seule entrée en laissant la sortie sans signature. Un
ECDSA Fonction de hachage exemple peut être le chèque en blanc : l’entrée est signée, mais
k K A pas la sortie, en conséquence chacun pourra écrire sa propre
sens sens adresse Bitcoin, pour déverrouiller ensuite la valeur de sortie avec
unique unique sa propre signature. Mais le montant lui-même est verrouillé par la
CLÉ CLÉ ADRESSE signature de l’entrée.
PRIVÉE PUBLIQUE BITCOIN
Il est aussi possible d’utiliser des adresses multisignatures, cela
ECDSA : Elliptic Curve Digital Signature Algorithm
permet d’imposer des signatures de personnes différentes pour
valider une entrée. C’est utile dans le cas d’une gestion de compte
en indivision ou pour sécuriser des fonds en imposant plusieurs
signatures pour effectuer un paiement. Ces différentes potentialités
Figure 8 – La clé privée génère la clé publique qui fournira l’adresse sont intéressantes pour des utilisateurs qui collaborent dans un
Bitcoin [20] contexte donné, sur un travail commun.

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 9

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Signature Vérification (au nœud du réseau)


asdw23d
aikvdnr5
214jdksf...
asdw23d
Hash
aikvdnr5
214jdksf...
Données Données de Fonction de Hash recalculé
de transaction transaction hachage
destinées à B destinées à B vers
A ?
Clé privée de A Données de Si hash égaux, affiche TRUE B
transaction
signées
numériquement asdw23d
aikvdnr5
214jdksf...
Fonction de Signature Signature Clé publique de A Hash reçu
hachage numérique numérique

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é.

Figure 9 – Authentification et vérification d’intégrité de la transaction [21]

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]

tions incomplètes ou non valides qui seront alors rejetées au pre-


2.3.1 Portefeuille mier nœud rencontré.
L’utilisateur doit posséder un portefeuille pour accéder au proto-
cole Bitcoin, il peut ensuite effectuer des transactions sans avoir de 2.3.3 Vérification et propagation des transactions
nœud en propre. De nombreux portefeuilles sont proposés sur le Tout nœud qui reçoit une transaction effectuera un grand nom-
marché, des portefeuilles PC (sur Windows ou MacOs), des porte- bre de vérifications avant de la valider. Les critères de vérification
feuilles mobiles (Apple iOS, Android), des portefeuilles Web (via sont très variés : transaction bien construite, entrées conformes
un navigateur), des portefeuilles hardware (simple périphérique avec des UTXO correctement référencés dans le registre, signature
USB, par exemple Ledger ou Trezor [22]), des portefeuilles en fournie en correspondance avec celle du propriétaire des UTXO,
papier (les clés peuvent être imprimées sur papier pour stockage). présence des frais de transactions…
Le portefeuille permet de générer des adresses via des paires de
clés (publique/privée). Pour recevoir des Bitcoins, l’utilisateur four- Puis il la transmettra immédiatement aux nœuds voisins aux-
nira son adresse générée à partir de sa clé publique. quels il est connecté. On parle « d’inondation » pour cette tech-
nique de propagation, car en quelques secondes la plupart des
Un portefeuille gère essentiellement les clés de son propriétaire nœuds recevront cette nouvelle transaction. La moyenne est de
avec les adresses correspondantes : il contient des clés et non des 5 secondes pour une propagation à l’ensemble du globe. Chaque
pièces. Ses clés privées lui permettent de contrôler l’accès à ses nœud construit au fur et à mesure un pool temporaire de transac-
propres UTXO. La perte d’une clé entraı̂ne la perte des fonds tions valides : attention, à ce stade, les transactions sont validées
(UTXO) qu’elle contrôle. mais pas encore confirmées.
Un grand nombre de Bitcoins ne sont plus accessibles parce que Ce pool temporaire, où les transactions non confirmées s’ajou-
les propriétaires ont perdu ou oublié leurs « clés privées », cette tent au fur et à mesure de leur vérification, constitue une sorte de
perte représenterait, en 2021, plus de 3 millions de Bitcoins (envi- salle d’attente à partir de laquelle les blocs candidats au minage
ron 20 % des 18,5 millions de Bitcoins en circulation), soit l’équiva- seront constitués. Le terme « bloc candidat » est employé tant
lent de 140 milliards de dollars [23]. qu’il n’a pas encore été l’objet d’une validation et d’un consensus.
Le rôle essentiel du portefeuille est de créer et signer les transac-
tions. Pour cela, il gère les UTXO disponibles et peut ainsi calculer 2.3.4 Description du bloc
le solde des bitcoins en sa possession.
Les blocs (figure 10), éléments constitutifs de base de la block-
2.3.2 Création de transaction chain, seront créés, puis validés par les mineurs selon les règles
du consensus Bitcoin. Un bloc se réfère au bloc qui le précède, il
Dans les cas les plus courants, l’utilisateur doit renseigner très comporte dans son entête l’empreinte de cet unique parent. Cette
peu de paramètres pour créer une transaction : il en précise simple- « filiation » constitue l’enchaı̂nement des blocs (permettant de
ment le montant et l’adresse d’un destinataire. Le logiciel du remonter jusqu’au bloc de genèse).

TE 6 300 – 10 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

Bloc 1 Bloc 2 Bloc N

En-tête En-tête En-tête En-tête

Transaction Transaction Transaction


Transaction

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

Le bloc est un conteneur de transactions, il comporte un en-tête,


composé de plusieurs champs définis ci-dessous, et la liste des Racine HABCDEFEF
transactions à confirmer (jusqu’à 2 000 ou 3 000 transactions, 500 (Root Hash)
en moyenne). Les champs de l’en-tête du bloc sont :
HEFEF HABCD
– le hash du bloc précédent (previous block hash), le bloc parent,
ce qui justifie la liaison entre les deux blocs ;
– l’horodatage (timestamp), indicateur temporel de la création de HEF HEF HCD HAB
ce bloc, mesuré en secondes écoulées depuis le début de l’ère Branches
Unix ; (Hash)
– le niveau de difficulté (difficulty), (§ [Link]), il est utile pour HF HE HD HC HB HA
l’algorithme de preuve de travail ;
– un nombre arbitraire (nonce), utilisé dans l’algorithme de Feuilles
preuve de travail ; (Données transaction) DF DE DD DC DB DA
– la racine de l’arbre de Merkle (merkleRoot), structure de don-
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

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).

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 11

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

En-tête

Version
Identifiant du bloc précédent
dSHA256 dSHA256
Racine de Merkle
Horodatage
Difficulté (bits)
Nonce

Transactions

0x0...0 tx0 txid0


wtxid1 tx1 txid1
wtxid2 tx2 txid2
wtxid3 tx3 txid3
wtxid4 tx4 txid4
wtxid5 tx5 txid5
wtxid6 tx6 txid6
wtxid7 tx7 txid7

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.

Figure 12 – Description de l’en-tête d’un bloc de Bitcoin [26]

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

TE 6 300 – 12 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

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

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 13

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Transaction ou message pour un transfert


de valeur et/ou d’information

État n État n+1

État composé État composé


Transfert d’actif
d’objets ou comptes d’objets ou comptes

Un compte Ethereum Une transaction ou un message Un compte Ethereum


contient les champs suivants : contient les champs suivants : contient les champs suivants :

- un expéditeur identifié par :


- une signature si utilisateur détenteur externe
- identifiant du compte (25 octets) - identifiant du compte (25 octets)
- un identifiant ou une adresse smart contract
- le nonce (compteur) - le nonce (compteur)
- un destinataire (utilisateur ou smart contract)
- le solde en ether - le solde en ether
- une quantité d’Eher à transférer
- le code du contrat (s’il est présent) - le code du contrat (s’il est présent)
- un horodatage
- la mémoire de stockage - la mémoire de stockage
- un champ optionnel de données
- une valeur limite en gas pour l’exécution de la
transaction
- une valeur représentative des frais en Ether
que l’utilisateur paye par étape de calcul

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.

TE 6 300 – 14 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

Compte de Compte de contrat


détenteur externe
<code>
<if>
<then>
Clé privée
<...>

code du mémoire de code du mémoire de


nonce solde nonce solde
contrat stockage contrat stockage

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]

sur 42 caractères hexadécimaux, comportent les champs définis ci-


dessous : compte de contrat) ;
– le montant (value) représentant la quantité d’ether à transférer
– l’identifiant (address) :
du compte de l’expéditeur vers le compte destinataire. S’il s’agit
 H [clé publique], si détenteur externe, d’une création de contrat, ce montant sera une dotation pour le
 H [clé publique, nonce (compteur de contrats créés)], si smart nouveau compte de contrat à créer.
contract ;
Ces premiers champs (similaires à la blockchain Bitcoin) sont
– le compteur (nonce) : simple compteur, ce champ est présent spécifiques aux simples transactions de cryptomonnaies.
sur chaque compte Ethereum. Il comptabilise le nombre de transac-
Le champ suivant n’est utilisé que si la transaction est relative à
tions envoyées depuis ce compte, ou le nombre de contrats créés
par ce dernier (si le compte contient du code). Ce compteur donne un compte de contrat :
aussi une information sur l’ordre dans lequel les transactions doi- – un champ optionnel de données (data), renseigné dans les
vent être exécutées ; deux cas suivants :
– le solde (balance) actualisé du compte, en ether ;  si la transaction est destinée à un compte de contrat, elle
– le code du contrat (codeHash), notifié sous la forme de son déclenchera l’exécution de son code qui aura accès à ces don-
empreinte, est présent uniquement s’il s’agit d’un compte de nées (utilisées comme arguments de la fonction du smart
contrat. Ce code EVM (Ethereum Virtual Machine, voir ci-après) contract),
s’exécutera automatiquement, s’il est appelé par une transaction
 si la transaction a pour but de créer un smart contract, du
ou un message ;
code ajouté dans ce champ permettra d’initialiser et de créer
– la mémoire de stockage (storageRoot) du compte contient le
le smart contract qui possèdera son propre code d’exécution.
hash de la racine de Merkle (§ [Link]) qui encode les contenus du
compte. Enfin les deux derniers champs concernent le coût d’une transac-
tion : avec Ethereum tout se paye (le calcul, la bande passante, le
Monnaie de paiement (programmable) : l’ether stockage, la création d’un contrat…) en gas (unité de facturation).
Unité de facturation : le gas De même, il y a une taxe (5 gas) pour chaque octet de données
composant la transaction ;
À la différence de Bitcoin qui a été créé pour être une monnaie – une valeur-limite (gasLimit), en gas : l’utilisateur limite le mon-
alternative d’échange, l’« ether », crypto-carburant interne tant qu’il souhaite dépenser, ce qui déterminera le nombre maxi-
d’Ethereum, permet d’acheter du « gas » indispensable pour mum d’étapes de calcul autorisé pour l’exécution de la transaction.
payer l’exécution des transactions et des smarts contracts. En effet, chaque étape de calcul représente un coût, et cette valeur-
Un coût est fixé pour chacune des opérations [33] composant limite est une sécurité pour l’utilisateur afin qu’il ne dépense pas
les transactions ou les instructions des contrats, il est exprimé tous ses ethers de façon incontrôlée dans des boucles infinies de
en gas, et est ainsi indépendant des cours volatils de l’ether. calcul (accidentelles ou hostiles). Le montant maximum de gas est

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 15

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Transaction

Numéro

Montant Smart
Contract
Destinataire

gasLimit

gasPrice

Data Ethereum Ethereum


État n État n+1

Exécution
Utilisateur du code
externe

Ordinateur
Ethereum

Figure 15 – Déclenchement de l’exécution d’un smart contract par un utlisateur externe

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 ;

TE 6 300 – 16 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

– 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.

Comment le smart contract communique-t-il


avec le monde extérieur ? 3.3 Blocs et minage
Si chacun des nœuds exécutant le code récupérait directement Comme pour la blockchain Bitcoin, les transactions sont signées,
les données externes via une API (Application Programming vérifiées et diffusées sur le réseau. Les mineurs gèrent un pool de
Interface), cela risquerait d’amener des disparités en cas de transactions afin d’en effectuer une sélection pour constituer un
données variables dans le temps qui ne seraient pas appelées bloc. Une transaction a d’autant plus de chances d’être intégrée
au même instant. Pour parvenir à un consensus sur le résultat, dans un bloc qu’elle propose un prix élevé pour l’évaluation du
la première des choses est de s’assurer que les données gas. Le nombre de transactions à inclure dans le bloc est défini
d’entrée nécessaires à l’exécution du smart contract sont iden- par la limite de gas autorisée pour un bloc. La taille du bloc n’est
tiques. La solution est que l’API pousse les données vers la donc pas fixe, des transactions peuvent être ajoutées tant que la
blockchain pour que tous les nœuds aient les mêmes données somme de leur limite en gas reste inférieure à la limite fixée pour
(au lieu que cela soit le smart contract qui appelle l’API le bloc.
externe). Certaines technologies permettent d’écouter l’évène- L’en-tête du bloc ou header, plus complet que celui de la block-
ment, de récupérer les données de l’API et de les ajouter dans
chain Bitcoin, recense plusieurs champs, dont voici les principaux
une transaction que tous les nœuds reçoivent en même temps.
(figure 16) :
– le hash du bloc précédent (parentHash) : référence au bloc
Les smart contracts sont, le plus souvent, écrits dans le langage parent justifiant la liaison entre deux blocs ;
de programmation Solidity qui est compilé en instructions machine – l’horodatage (timestamp) : indicateur temporel de la création
de bas niveau : les opcodes, ils sont directement exécutables par du bloc ;
l’EVM. Aujourd’hui, l’ensemble des instructions opcode (environ – le niveau de difficulté (difficulty) détermine la quantité de tra-
140) peut être qualifié de Turing complet (suffisant pour permettre vail nécessaire à la preuve de travail ;
à la machine de simuler n’importe quel algorithme, ainsi que des – un nombre arbitraire (nonce) : utilisé dans l’algorithme de
instructions de conditions et de boucles récursives, tout cela avec preuve de travail ;
une mémoire sans limite). Les opcodes sont encodés en bytecode,
– la limite de gas pour un bloc (gasLimit) ;
propre langage d’EVM : « EVM bytecode ».
– la quantité totale de gas consommé par ce bloc (gasUsed) ;
Les smart contracts peuvent être comparés à des agents autono- – les hachages des nœuds racines pour les trois structures de tri
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

mes vivant dans l’environnement d’exécution Ethereum. Ils exécu- de Merkle :


tent du code lorsqu’ils sont appelés par une transaction ou un mes-  l’état des comptes (stateRoot) : racine de l’arbre des comptes
sage, et ils gèrent directement leur propre solde d’ether ainsi que (état le plus récent du registre),
leurs propres données. Ils sont très bien adaptés dans le cadre
d’une massification des relations contractuelles, et répondent bien  l’état des transactions (transactionsRoot) : racine de l’arbre
à la multitude de petits versements. Ils apportent la plus grande des transactions,
confiance dans leur réalisation, et leur automatisation permet de  l’état des reçus (receiptsRoot) : racine de l’arbre des reçus de
réduire les délais, les coûts d’exécution, de vérification, d’arbitrage, toutes les transactions répertoriées dans ce bloc.
de fraude… Enfin, la blockchain garantit l’impossibilité de modifier
Les blocs Ethereum contiennent non seulement toutes les tran-
les termes d’un smart contract.
sactions, mais aussi l’état complet le plus récent (stocké dans la
structure de Merkle). En conséquence, puisque toutes les informa-
3.2.2 Messages (ou transactions internes) tions d’état font partie du dernier bloc, il n’est plus nécessaire de
De la même manière qu’un compte externe envoie une transaction stocker tout l’historique de la blockchain. Et, lorsqu’un nouveau
à un compte de contrat, ce dernier, lors de son exécution peut nœud participe au réseau, il n’a pas besoin de récupérer toute la
envoyer un message à un autre compte de contrat. Ce message pro- chronologie du registre.
voque soit une transition d’état, soit la création d’un nouveau Une fois que les mineurs ont constitué un bloc avec des transac-
contrat. On peut dire que les Smart Contracts « parlent » aux Smart tions valides, ces derniers doivent se lancer dans la compétition de
Contracts, mais cela n’est possible qu’après un premier déclenche- l’exploitation minière avec la preuve de travail (Proof Of Work). Le
ment effectué par un détenteur externe, car ce dernier doit régler premier mineur qui trouve avant les autres la solution avec le bon
d’avance les frais d’exécution pour l’ensemble des contrats. hash, diffuse son bloc gagnant qui sera validé par tous les nœuds,
À l’instar de la transaction, les messages contiennent : après vérification. Chacun l’ajoutera à la chaı̂ne, toutes les transac-
tions du bloc sont alors exécutées.
– un identifiant de l’expéditeur (signature) implicite ;
– le destinataire (recipient) du message (smart contracts) ; Cet algorithme « preuve de travail » apporte la sécurité, et garan-
– le montant (value) qui est la quantité d’ether à transférer à tit le consensus de tous les nœuds sur l’état du registre distribué
l’adresse du contrat ; (tout le monde a les mêmes données).
– un champ optionnel de données (data), à destination du smart Le délai entre deux blocs est réduit à environ 12 secondes, ce qui
contract destinataire ; induit un meilleur débit que celui de Bitcoin (avec un bloc toutes
– une valeur-limite (startGas) représentant le montant maximum les 10 minutes).
de gas affecté pour l’exécution du code.
La chaı̂ne de blocs peut être explorée en temps réel, ainsi que les
En somme, un message est comme une transaction, sauf qu’il transactions qui les composent grâce aux explorateurs de blocs
est produit par un compte de contrat (non pas par un détenteur (pour exemples : [Link] ou [Link]

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 17

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

En-tête de bloc

nonce timestamp

difficulty parentHash

gasLimit gasUsed

stateRoot transactionsRoot receiptsRoot

Figure 16 – Principaux champs de l’en-tête de bloc Ethereum et les trois arbres de Merkle

3.4 DAO culturelles et immatérielles, des ressources naturelles, des produc-


tions économiques et industrielles, des systèmes sociaux.
Ces interactions directes entre utilisateurs, via les smart
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

contracts, permettent de développer des Applications décentrali-


sées (Dapps), ou des Organisations autonomes décentralisées, Qu’est-ce qu’une DAO ? [36]
DAO, terme employé par la communauté Ethereum. Ces applica-
Pour faire un parallèle avec ce qui existe déjà, il s’agit d’une
tions ont leurs propres règles concernant la propriété, les formats sorte de conseil d’administration doté d’un pouvoir de décision
de transaction, et les fonctions de transition d’état. Elles répondent et d’un pouvoir financier. La DAO décide à la majorité de la
à une organisation distribuée totalement administrée par une façon d’allouer ses fonds et des prestataires qu’elle recrute.
logique purement logicielle déployée sur la blockchain. Elle peut décider d’arrêter de travailler avec un prestataire et
Ces organisations sont programmées par des smart contracts et d’en recruter un autre. Elle garde toujours le contrôle des
soumises à l’exécution automatique du code, sans aucune dépen- fonds qu’elle possède en ethers et qui sont dans la blockchain.
dance, et à l’abri de toute influence hiérarchique ou de tout pouvoir Comme les DAO sont conçues autour d’un projet, elles seront
centralisateur, d’où l’expression suivante : « code is law ». Il n’y a conduites au départ à engager la société porteuse sur le projet
plus besoin de faire confiance à qui que ce soit, les règles de gou- d’origine. Mais on peut imaginer que si le projet n’est pas
vernance sont automatisées et codées de façon pérenne et transpa- mené à son terme correctement par la société, la DAO décide
rente dans la blockchain. de rompre son contrat et d’engager une autre société de servi-
ces pour un projet similaire.
Vitalik Buterin définit la DAO comme « une entité vivant sur Inter- Qui participe à une DAO ?
net et ayant une existence autonome, tout en s’appuyant sur des Le groupe de personnes à qui la participation à la DAO est
individus qu’elle embauche pour effectuer les tâches qu’elle ne ouverte sont choisies par ses créateurs. On peut imaginer que
peut pas faire directement ». Son objectif est que la DAO, qui la plupart des DAO vont être financées de façon participative
assure les fonctions d’une organisation, puisse se substituer au par Internet dans un premier temps.
management quotidien de l’entreprise. La participation financière à la DAO est symbolisée par un token
Tim Bansemer, ingénieur spécialisé dans le domaine de la gou- (jeton) qui est attribué aux personnes ayant financé, à propor-
vernance distribuée, qui travaille en étroite collaboration avec la tion de l’apport financier. Si au total 10 personnes investissent
fondation Ethereum, donne cette définition d’une DAO : c’est chacune 500 ethers dans l’organisation, elles vont par exemple
« une combinaison de smart contracts fonctionnant sur une block- recevoir en échange 500 tokens sur un nombre total de tokens
chain publique afin de constituer l’infrastructure d’une organisa- égal à 5 000. Elles posséderont donc 10 % du pouvoir de déci-
tion ». Par exemple, un smart contract engagera un prestataire de sion de la DAO. Ces tokens sont comme des ethers : une sorte
service, ou attribuera à la DAO, en tant qu’organisation, un pour- d’actif virtuel permettant d’interagir sur la blockchain.
centage sur les ventes effectuées. Bien entendu, ces tokens sont librement programmables : on
peut imaginer des tokens ayant un pouvoir plus significatif
En conclusion, les DAO permettent aux humains de se coordon- que d’autres tokens, ou des tokens purement financiers qui
ner en s’appuyant sur une gouvernance distribuée. Elles facilitent n’offrent aucun pouvoir de décision.
la gestion collective de biens communs comme des œuvres

TE 6 300 – 18 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

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é.

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 19

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Tableau 1 – Trois types de blockchain


Caractéristiques Blockchain publique Blockchain de consortium Blockchain privée

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é).

Ouverte à tous, le monde entier voit


Variable : ouverte à tous ou accès Accès restreint, permission
Permission de lecture les transactions (non modifiables et
restreint. nécessaire.
non supprimables).

Permission nécessaire, plus ou


Permission d’écriture Ouverte à tous. Permission nécessaire.
moins limitée.

La validation est donnée par un La validation peut être donnée par


Distribuée, tous les mineurs groupe de décideurs (nombre un acteur unique, ou par un petit
Validation du registre
peuvent y participer. restreint de nœuds) choisis à nombre (désigné par une
l’avance par le consortium. hiérarchie).

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.

Pour inciter la communauté à


Pas de mineurs à rémunérer, pas de Pas de mineurs à rémunérer, pas de
participer, les mineurs sont rému-
frais de transaction, ne nécessite frais de transaction, ne nécessite
Incitations financières nérés en cryptomonnaie, indispen-
pas de cryptomonnaie (jeton pas de cryptomonnaie (jeton
sables pour le fonctionnement de la
numérique optionnel). numérique optionnel).
blockchain.

Forte, due à la preuve de travail. Faible, car la gouvernance ou le


Faible, car l’identité des participants
D’autres mécanismes de validation pouvoir hiérarchique est établi, et la
Consommation d’électricité étant connue, la preuve de travail
plus récents sont moins preuve de travail n’est plus
n’est plus nécessaire.
consommateurs. nécessaire.
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

Intéressante pour une coopération Le consensus est plus rapide, en


Plus il y a de nœuds validateurs, entre plusieurs organisations conséquence le nombre de
plus le réseau est sécurisé. appartenant à la même filière in- transactions traitées à la seconde
dustrielle. est plus élevé.
Avantages/Inconvénients
La pérennité de la blockchain repose Processus décisionnel plus efficace
Lenteur : pour Bitcoin, moins d’une
sur la bonne entente des membres pour la gouvernance de la
dizaine de transactions par seconde.
du consortium. blockchain (mais centralisé).

& Certification, notariat & Smarts contracts


Le registre certifie l’existence, prouve l’authenticité, effectue la L’utilisation de ce script logiciel, qui permet de déclencher auto-
traçabilité. matiquement des actions quand une condition est vérifiée, pré-
Les enregistrements de ce grand livre distribué sont horodatés, sente de nombreux avantages. De plus, la blockchain apporte la
infalsifiables et immuables, ce qui permet aisément de certifier garantie que les conditions d’exécution ne pourront pas être modi-
l’existence d’un document, de prouver la possession d’un diplôme, fiées. Un smart contract peut répondre à de multiples situations :
d’un titre de propriété… procurer à une personne des droits d’accès à certaines données pri-
vées, ou déclencher automatiquement, quasiment en temps réel,
L’enregistrement d’œuvres, ou plus exactement de leur
des micro-paiements… Cette automatisation apporte une grande
empreinte numérique, sur la blockchain est un justificatif de pro-
réactivité, tout en générant des économies importantes dans la
priété intellectuelle. En effectuant l’horodatage de l’empreinte
gestion administrative.
d’une œuvre, la blockchain apportera une preuve d’authenticité et
permettra à l’auteur d’en revendiquer la paternité.
Le token permet les représentations et les échanges, via la
La traçabilité représente aussi une multitude de cas d’usages blockchain, de tout type d’actif matériel ou immatériel à qui il
dans de nombreux secteurs d’activité. L’objectif est d’apporter de donne une identité numérique.
la transparence dans les procédés de fabrication et les chaı̂nes On distingue :
d’approvisionnement pour mieux satisfaire l’acheteur ou le – des tokens Fongibles : ils sont tous identiques, interchan-
consommateur. La blockchain apporte la traçabilité d’un bien de geables et divisibles.
bout en bout et à moindre frais. Le couplage des registres de la
C’est le cas des cryptomonnaies, par exemple un ether est
blockchain avec des capteurs RFID (Radio Frequency Identification),
égal à un autre ether, et il est divisible (on peut réaliser une
permet d’éviter la fraude, dont le coût est élevé dans les supply
transaction de 0,52 ether) ;
chains.

TE 6 300 – 20 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

Industrie automobile

Testaments et héritage Banque, finance, fintech

Tourisme
Dons et fondations

Immobilier
Stockage cloud

Transports publics Transports commerciaux

Droits musicaux Crédits et prêts

Santé Cybersécurité

Donations et contributions
financières
Médias

Éducation
Marketing

Énergie
Droits et contrats
Intégrité des données
juridiques Prospective

Internet des Objets Vote électronique et gouvernement


Assurances
Traçage des armes
Gestion des
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

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…).

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 21

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

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]

par des consommateurs plus impliqués et motivés pour participer


Les actifs immobiliers peuvent aussi être concernés par la block- financièrement à la création de l’œuvre, via l’achat des tokens ;
chain : un appartement ou une maison pourrait être tokenisé. – la collaboration créative et la co-création sont facilitées : la
Les tokens correspondants sont alors achetés par un grand nombre blockchain peut enregistrer nominativement, en temps réel, l’exé-
de propriétaires, via des microtransactions. Cette tokenisation cution de chaque tâche constitutive d’une œuvre, ce qui permettra
donne une certaine liquéfaction au monde physique. ultérieurement de rémunérer, par smart contract, chacun des colla-
borateurs. Ces derniers sont ainsi totalement sécurisés pour le ver-
4.3.2 Secteurs du commerce, transport sement de leur rémunération future, grâce à l’automatisation de
et logistique leur paiement ;
& Preuve de possession – la protection de la propriété intellectuelle : les œuvres seront
enregistrées via leur identifiant (hash), et horodatées. Cette base
Le token, lié à l’actif réel, atteste de la propriété d’un bien qui de données mondiale, sécurisée et transparente, servira de preuve,
peut être un diamant, une œuvre d’art, une montre de valeur, un et permettra la protection de paternité ;
avion… – la gestion des droits, basée sur l’enregistrement des œuvres,
Les caractéristiques du bien (son identifiant, sa provenance, son permettra de déterminer la rémunération des ayants droit. Actuelle-
propriétaire, son historique…) constituent les métadonnées ment, cette tâche est effectuée en France par une vingtaine de
descriptives. Elles sont attachées au token, et seront ainsi enregis- sociétés de perception et de répartition des droits d’auteur (SPRD).
trées dans la blockchain lors d’une transaction. Cette description Avec la blockchain, la production pourra être suivie, en temps réel,
devient alors indélébile, et traçable notamment par rapport aux sur ses différents canaux de distribution, et les flux monétaires cor-
propriétaires successifs. Cela constitue un effet dissuasif pour le respondants pourront être consultés, voire effectués en quasi-
vol et la contrefaçon. temps réel, et sans intermédiaire.
& Points de fidélité En avril 2017, trois des plus importantes sociétés de gestion de
droits d’auteur au monde – la Sacem (Société des Auteurs Compo-
Des tokens sont donnés aux clients en fonction de leur fidélité, et siteurs et Éditeurs de Musique), l’Ascap (American Society for Com-
pourront ensuite être utilisés sous forme de réductions ou de posers Authors and Publishers) et PRS for Music (Performing Right
cadeaux. Society for Music) – ont réalisé un prototype de blockchain pour la
& Traçabilité gestion partagée des informations relatives aux droits d’auteur.
L’objectif était de créer, dans un premier temps, une base de méta-
Le token représente un actif matériel dont le transfert entre diffé- données d’œuvres musicales partagée et décentralisée, avec des
rents sites ou propriétaires peut être suivi et renseigné. capacités de suivi et d’actualisation en temps réel ;
Dans le domaine agroalimentaire, les entreprises peuvent ainsi – la distribution des contenus, avec la blockchain s’effectue direc-
avoir une visibilité de bout en bout de leur chaı̂ne d’approvisionne- tement, sans intermédiaire entre les créateurs de contenus et les
ment. Carrefour effectue, sur des blockchains, la traçabilité de consommateurs.

TE 6 300 – 22 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

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.

Bitcoin (BTC) Le nom de l’unité monétaire (la pièce), du réseau et du logiciel.

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.

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 23

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

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.

« Decentralized Autonomous Organization », c’est-à-dire Organisation Autonome Décentralisée. C’est


DAO une forme d’organisation dont les règles de fonctionnement sont programmées, c’est-à-dire qu’elles
s’appliquent automatiquement quand les conditions spécifiées dans le logiciel sont réunies.

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.

TE 6 300 – 24 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM

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.

Nombre arbitraire ou compteur.


Le « nonce » dans un bloc Bitcoin est un champ de 32 bits (4 octets) dont la valeur est définie de sorte
Nonce
que le hachage du bloc contienne une série de zéros non significatifs. Le reste des champs ne peut pas
être modifié, car ils ont une signification définie.

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]

prouver la propriété d’un certain montant de cryptomonnaie.

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é.

Montant d’une cryptomonnaie remis à un mineur ou à un groupe de mineurs afin de le récompenser


Prime de minage
pour la création d’un nouveau bloc et d’encourager la participation au sein du réseau.

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

Copyright © - Techniques de l’Ingénieur - Tous droits réservés TE 6 300 – 25

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]

BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

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.

WIF Wallet Import Format, c’est un format de clé privée


Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

TE 6 300 – 26 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

P
O
U
Blockchain : principes, Bitcoin R
et Ethereum
La chaı̂ne de blocs de valeurs E
N

par Laurence LECOEUR


S
Ingénieur en Télécommunications, Télécom Paris
Ex-chargée d’études à la recherche de l’Institut National de l’Audiovisuel (INA)
A
et Jean-François GERVAIS
Chef de projet Digital Learning à l’Institut National de l’Audiovisuel
V
O
I
Sources bibliographiques
R
[1] HABER (S.) et STORNETTA (W.S.). – How to nique pair-à-pair. [Link] [18] SHA1 and othe hash functions online gene-
time-stamp a digital document. [Link] coin-paper/bitcoin_fr.pdf (2008). rator. [Link] Xorbin –
[Link]/article/10.1007/BF00196791 SHA-256 hash calculator [Link]

[2]
(1991).

SURETY. – Provable Electronic Record Inte-


[10] [Link]
ges/upload/plan_de_travail_6.jpg
[19]
tools/sha256-hash-calculator
Comprendre la Blockchain visuellement (et
P
[11]
grity, Authenticity, and Ownership. http://
[Link]/digital-copyright-protec-
tion
[Link]
[Link]
tefeuilles-bitcoin-avec-de-faibles-frais-de-
simplement). [Link]
(à 3:11) Calculateur de Hash : [Link]
[Link]/tools/sha256-hash-calculator
L
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

[3] VAUDANO (M.). – La première blockchain de


l’histoire date de 1995, et elle est imprimée [12]
transaction/

GENSLER (G.). – Unspent Transaction Out-


[20] LARS (L.). – Bitcoin, clés privées et propriété.
[Link]
U
sur papier. [Link] et-propriete/ (23/04/2018).
browser/article/2018/09/01/la-premiere-block-
chain-de-l-histoire-date-de-1995-et-elle-est-
put (UTXO). [Link]
en/glossary/unspent-transaction-output-utxo
Blockchain Basics & Transactions, UTXO and
[21] [Link]
[Link]
S
imprimee-sur-papier_5349082_4832693.html Script Code. MIT OpenCourseWare. https://
(2020). [Link]/watch?v=zGDTt9Q3vyM [22] TRÉZOR. – The safe place for your coins.
(Fall 2018). [Link]
[4] VICTOR (F.). – Aux sources de Bitcoin : le PGP
– THE CYBERPUNK CHRONICLES #1. https:// [13] ANTONOPOULOS (A.M.). – Au cœur du Bit- [23] The New York Times. – Tens of billions worth
[Link]/actualites/aux- coin – Programmer la Blockchain ouverte. of Bitcoin have been locked by people who
sources-de-bitcoin-le-pgp-the-cypherpunk- P. 19. Collection O’Reilly (2020). forgot their key. [Link]
chronicles-1/ (2020). com/2021/01/13/business/tens-of-billions-
[14] NARULA (N.). – Transactions and the UTXO worth-of-bitcoin-have-been-locked-by-peo-
[5] Wikipedia. – Adam Back. Hashcash & Bitcoin. model. MIT OpenCourseWare. [Link]
[Link] [Link] (2021).
[Link]/watch?v=VT2o4KCEbes&list=
[6] LARS (L.). – La b-money de Wei Dai : une pré- PLUl4u3cNGP61KHzhg3JIJdK08JLSlcLId&in- [24] [Link]
figuration conceptuelle de Bitcoin. Journal dex=5 (2019).
[25] Wikipedia. – Filtre de Bloom. [Link]
du coin [Link]
[15] [Link] [Link] [Link]/wiki/Filtre_de_Bloom (2021).
b-money-wei-dai-prefiguration-conceptuelle-
[Link]/ [Link]
de-bitcoin/ (2020).
btc/mainnet [Link] [26] LARS (L.). – Qu’est-ce qu’un bloc dans la
technologie blockchain ? [Link]
[7] DAI (W.). – La b-money de Wei Dai : une pré- bloc-blockchain-crypto-explication/ (2020).
figuration conceptuelle de Bitcoin. [Link] [16] Bitcoin Explorer – Transaction. [Link]
[Link]/btc/
[Link] [27] SHA-256 hash calculator. [Link]
prefiguration-conceptuelle-de-bitcoin/ tx/20bb84376dbc31f86ba01ecc2f1b8985af9-
[Link]/tools/sha256-hash-calculator ou
(2020). c39ade8613dd332836f4c7ca5834c [Link]
[8] Wikipedia. – Satoshi Nakamoto. [Link] [17] Institut de gouvernance numérique, Québec [28] BitInfoCharts. – Bitcoin, Ethereum, Dash,
[Link]/wiki/Satoshi_Nakamoto (2021). – Registres distribués, l’évolution des chaı̂- Feathercoin Hashrate historical chart.
nes de blocs. Livre blanc. § 1.4 p. 10 Qu’est- [Link]
[9] NAKAMOTO (S.). – Bitcoin : A Peer-to-Peer ce qui distingue les registres distribués des [Link]
Electronic Cash System. [Link] autres modes de stockage d’information ?
[Link]/literature/bitcoin/ [Link] [Link] [29] [Link]. – Ethereum Whitepaper.
[Link]/[Link] Traduction en français – gouvernance-numrique-ecampus-directeur- [Link]
Bitcoin : un système de paiement électro- [Link] (2019). reum-whitepaper (2021).

Copyright © - Techniques de l’Ingénieur - Tous droits réservés Doc. TE 6 300 – 1

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 BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

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]

A [34] Un programme atomique s’exécute entière-


ment sans pouvoir être interrompu, ce terme
JEANNEAU (C.). – L’âge du web décentralisé.
Blockchain Partner. [Link]
[Link]/wp-content/uploads/2017/06/
[Link]/wp-content/
uploads/2020/03/20190317_CEN-G-FRA-LAM-
BERT_Technologie-blockchain-cot%C3%A9-
dérive de atomos qui signifie « que l’on ne
V peut diviser » : Wikipedia – Atomicité (infor-
matique). [Link]
the_digital_new_deal-org-JEANNEAU-Cle-
[Link] (2018).
[Link]

Rapport de la Direction Générale de Entrepri-


cit%C3%A9_(informatique)
O [35] [Link]
Guides pour Bitcoin. [Link]

Guide pratique pour l’utilisation des crypto-


ses (DGE) : Les verrous technologiques des
blockchains. Suite à une mission CEA, IMT
et Inria. [Link]

I [36] POIROT (S.). – Les Decentralized Autono-


mous Organizations (« DAO »), le futur des
organisations collectives ? [Link]
monnaies : Your gateway to Bitcoin &
beyond. [Link]
les/files/etudes-et-statistiques/rapport-final-
[Link] (2021).

Ethereum EU Blockchain. – Observatory and Forum :


R [Link]/decentralized-autono-
mous-organization-dao-blockchain/ (2020). Ethereum France. – Yellow Paper Ethereum –
Livre Jaune. [Link]
publication de rapports thématiques et de
workshops. [Link]
[37] Voir les travaux de Primavera De Filippi. eu/reports
com/yellow-paper-ethereum-livre-jaune-tra-
[Link] [Link] duction-complete/ Ethereum France (ex-As-
[Link]/2016/04/28/plantoid/ https:// Cours des cryptomonnaies
seth) – Livre Blanc / White Paper Ethereum.

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/

L [38] Ethereum Foundation. – About the Ethereum


Foundation. [Link]
How does Ethereum work, anyway ? Preethi
Kasireddy [Link]
BitInfoCharts. – Bitcoin, Ethereum, Dash,
Feathercoin Hashrate historical chart.
Parution : avril 2022 - Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]

tion/ (2021). [Link]


U [39] Ethereum France. – Validé ; introduction à la
preuve d’enjeu sur eth2. [Link]
com/post/how-does-ethereum-work-anyway

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).

À lire également dans nos bases


DELAHAYE (J.-P.). – Monnaies cryptographi- ture des systèmes. Management des systè-
ques et blockchains – Créer de la confiance. mes d’information (2020).
[H 5 538] Technologies logicielles, Architec-

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

Doc. TE 6 300 – 2 Copyright © - Techniques de l’Ingénieur - Tous droits réservé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]

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BLOCKCHAIN : PRINCIPES, BITCOIN ET ETHEREUM


P
O
Annuaire
U
Organismes – Fédérations – Associations (liste non exhaustive) Documentation – Formation – Séminaires (liste non R
Ethereum Fondation : exhaustive)
[Link] Les meetups d’Ethereum France (ex-Asseth) ont pour but de promouvoir,
développer, expérimenter et mettre en pratique la technologie Ethereum,
Directory of European Blockchain Startups (répertoriant 716 startups dans
15 pays européens)
[Link]
depuis 2016. [Link]
Ethereum Community Conference (EthCC), rassemblement annuel com-
E
FINES SCHLUMBERGER Jacques-André – Quelles synergies entre les
blockchains et les industries culturelles ? Revue européenne des médias
munautaire européen autour de la blockchain Ethereum [Link]
Ethereum Community Conference 5, July 19-21, 2022, Paris
DevCon : réunion annuelle des développeurs et chercheurs de l’écosys-
N
numériques N 49. Hiver 2018-2019.
tème Ethereum [Link]
[Link]
industries-culturelles/

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

Copyright © - Techniques de l’Ingénieur - Tous droits réservés Doc. TE 6 300 – 3

tiwekacontentpdf_te6300 v1 Ce document a ete delivre pour le compte de 7200031372 - nantes universite // [Link]
L’EXPERTISE TECHNIQUE
& SCIENTIFIQUE DE RÉFÉRENCE

Gagnez du temps et sécurisez vos projets


en utilisant une source actualisée et fiable !

15 DOMAINES D’EXPERTISE

 Automatique - Robotique  Mécanique Articles de référence


disponibles en français
 Biomédical - Pharma  Mesures - Analyses et en anglais

 Construction et travaux publics  Procédés chimie - bio - agro


 Électronique - Photonique  Sciences fondamentales
 Énergies  Technologies de l’information
 Environnement - Sécurité
 Génie industriel
Détails des offres et sommaires
à retrouver sur le site
 Ingénierie des transports
[Link]
 Innovation
 Matériaux

+ de 10 000 articles + de 550 bases Service de Questions


de référence et documentaires, aux experts.
Les offres Techniques de
1 000 fiches pratiques 8 Parcours Pratiques
l’Ingénieur permettent
opérationnelles. répartis dans plus
d’accéder à une base
de 90 offres.
complète et actualisée
d’articles rédigés par les
3 000 quiz 1 280 auteurs Les Archives,
meilleurs experts
dans + de 1 000 contribuent chaque technologies anciennes
et validés par des comités
articles interactifs. année à enrichir et versions antérieures
scientifiques, avec :
cette ressource. des articles.

+ de 300 000 utilisateurs de [Link] chaque mois !

NOS ÉQUIPES SONT Par téléphone Par email


À VOTRE DISPOSITION  33 (0)1 53 35 20 20  [Link]@[Link]

[Link]

Vous aimerez peut-être aussi