Un sujet qui fait la une des magazines depuis de nombreuses semaines : tout ce que vous voulez savoir sur la blockchain⊠ou presque.
*Anna SCIUS-BERTRAND est doctorante contractuelle Ă lâĂcole pratique des hautes Ă©tudes.
A la suite de la crise financiĂšre de 2008, sous le pseudonyme Satoshi Nakamoto, est créé un systĂšme de transfert dâargent Ă distance sans avoir recours Ă un tiers de confiance tel que les institutions financiĂšres, câest le bitcoin. Lâune des difficultĂ©s majeures Ă surmonter est de prĂ©venir les doubles dĂ©penses : sâassurer quâune somme ne peut ĂȘtre dĂ©pensĂ©e deux fois simultanĂ©ment, et donc quâune transaction soit non rĂ©versible.
Jusquâalors les institutions financiĂšres assuraient cette fonction en centralisant les comptes de leurs clients et en vĂ©rifiant la validitĂ© de chaque transaction. Le besoin existe de se passer dâune institution centrale, dâun tiers de confiance.
LâidĂ©e nouvelle est de conserver lâhistorique de lâensemble des transactions effectuĂ©es. Dans la blockchain, les transactions sont conservĂ©es dans un registre. Comment garantir son intĂ©gritĂ© ? La solution est un assemblage, Ă©lĂ©gant et trĂšs astucieux, de technologies existantes reposant sur trois concepts clĂ©s : un rĂ©seau pair Ă - pair, la cryptographie asymĂ©trique et le consensus distribuĂ©.
La premiĂšre Ă©tape est de garantir lâidentification unique des participants. Chaque utilisateur est identifiĂ© par un couple de clĂ©s uniques, lequel constitue un portefeuille virtuel. La clĂ© privĂ©e, comme son nom lâindique, doit rester secrĂšte, et la clĂ© publique peut ĂȘtre communiquĂ©e au monde entier sans risque de piratage. Dans le cas du bitcoin, il existe 2 160 adresses diffĂ©rentes : avec 1 milliard dâessais par seconde, il faudrait mille milliards dâannĂ©es pour trouver une clĂ© privĂ©e Ă partir dâune clĂ© publique.
UN REGISTRE GĂRĂ DANS UN RĂSEAU PAIR-Ă-PAIR
Le registre contenant lâhistorique des transactions est rĂ©pliquĂ© dans un rĂ©seau pair-Ă -pair, câest-Ă -dire dans un grand nombre de nĆuds informatiques (unitĂ© de calcul, par exemple un ordinateur, un smartphoneâŠ). Ce rĂ©seau pair-Ă -pair est tel que chaque unitĂ© de calcul est reliĂ©e Ă toutes les autres. Plus le registre sera rĂ©pliquĂ©â plus il sera difficile Ă modifier.
UNE VERSION UNIQUE DU REGISTRE
Enfin, il est nĂ©cessaire que tous les participants au rĂ©seau sâaccordent sur une version unique du registre, qui Ă©volue au cours du temps, ce que rĂ©alise le consensus distribuĂ©. Lorsquâune transaction est effectuĂ©e, une empreinte unique est gĂ©nĂ©rĂ©e, puis stockĂ©e dans un bloc. Les « mineurs » sont des nĆuds du rĂ©seau qui en « travaillant » produisent des preuves de travail. Preuves qui les autorisent Ă ajouter une transaction dans la chaĂźne (un bloc est créé toutes les dix minutes). En fait, chaque mineur du rĂ©seau choisit des transactions en attente pour composer un bloc, quâil cherche Ă ajouter Ă la chaĂźne des blocs prĂ©cĂ©dents. Pour obtenir le droit dâajouter ce bloc, il doit effectuer une opĂ©ration appelĂ©e « hachage », qui consiste Ă calculer une empreinte du bloc qui prend en compte lâempreinte des blocs prĂ©cĂ©dents et qui vĂ©rifie une certaine propriĂ©tĂ©.
LA VALIDATION
Lorsque le bloc est plein, il est envoyĂ© Ă un ensemble de mineurs. Les mineurs commencent par vĂ©rifier la validitĂ© des transactions Ă lâintĂ©rieur du bloc. Dans le cas du bitcoin, la validation dâun bloc sâopĂšre avec la preuve de travail. Il y a alors compĂ©tition entre mineurs: le premier qui rĂ©sout une Ă©nigme cryptographique envoie la solution aux autres mineurs. LâĂ©nigme cryptographique est difficile Ă rĂ©soudre mais la solution est simple Ă vĂ©rifier. Le mineur qui a gagnĂ© est rĂ©tribuĂ©.
Si la solution est approuvĂ©e, le bloc est ajoutĂ© aux blocs prĂ©cĂ©dents, crĂ©ant ainsi une chaĂźne de blocs. La solution est intĂ©grĂ©e au bloc. Elle contient des informations relatives Ă chacune des transactions du bloc : la date, lâheure de crĂ©ation du bloc et la solution du bloc prĂ©cĂ©dent contenant Ă©galement ces mĂȘmes informations.
Dans lâhypothĂšse oĂč un individu voudrait modifier une transaction, il devrait changer le rĂ©sultat de la solution en rĂ©alisant Ă nouveau un long calcul pour la trouver. Il devrait aussi recalculer les solutions des blocs suivants, et ce pour la majoritĂ© des chaĂźnes contenues dans chacun des nĆuds du rĂ©seau. Pour sâassurer que le calcul de la solution ne soit pas trop rapide, la puissance utilisĂ©e pour rĂ©soudre lâĂ©nigme dans le rĂ©seau est Ă©valuĂ©e rĂ©guliĂšrement. Avec ce mĂ©canisme, il est impossible de modifier le contenu des blocs, sauf si 51 % des mineurs forment une coalition. Plus le rĂ©seau sera grand, plus cette coalition sera difficile Ă obtenir.
Il existe deux mĂ©canismes dâincitations pour encourager les mineurs Ă utiliser de la puissance de calcul⊠et de lâĂ©lectricitĂ©. Le premier mineur qui rĂ©sout lâĂ©nigme reçoit un certain nombre de bitcoins, 50 lors de la premiĂšre annĂ©e de bitcoin. La rĂ©tribution est divisĂ©e par quatre tous les ans, ayant pour consĂ©quence la crĂ©ation dâun nombre fini de bitcoins. Au 1er fĂ©vrier 2018 ont Ă©tĂ© minĂ©s 16,8 millions de bitcoins sur les 21 millions programmĂ©s. Pour pallier la diminution croissante de la rĂ©tribution, les participants ont la possibilitĂ© dâajouter un montant Ă lâattention du mineur qui validera le bloc.
Ainsi, la blockchain garantit la sĂ©curisation de transactions sans tiers de confiance et en toute transparence. UtilisĂ©e initialement pour des paiements en ligne, la blockchain tend Ă se propager dans de nombreux domaines, assurances, immobilier, Ă©nergie ou encore santĂ©, Ă©ducation, art. Par exemple, dans le domaine de lâĂ©nergie, la blockchain peut servir Ă certifier les Ă©changes dâĂ©nergie entre particuliers.
Toutefois, la blockchain nâen est quâĂ ses balbutiements. De nombreuses questions restent ouvertes, notamment celle de la consommation Ă©nergĂ©tique due Ă la validation du registre. La complexitĂ© Ă©vacuĂ©e par la porte revient ainsi par la fenĂȘtre.
Le code de bitcoin a Ă©tĂ© publiĂ© en open source, donc il est accessible Ă tous. Depuis 2008, des milliers dâimplĂ©mentations analogues et diffĂ©rentes ont Ă©tĂ© rĂ©alisĂ©es. On compte deux ou trois grandes catĂ©gories de blockchains suivant la façon dont on les voit : publiques, de consortium et privĂ©es, ces deux derniĂšres Ă©tant de mĂȘme nature. Bitcoin est un exemple de blockchain publique : tout internaute peut lire les contenus des blocs, crĂ©er un portefeuille et devenir mineurs ; dans les blockchains de consortium seul un groupe de participants a le contrĂŽle du registre, et ils peuvent dĂ©cider qui peut ou non accĂ©der au registre ou le certifier ; dans les blockchains privĂ©es, un seul individu dĂ©tient le processus de validation. On est bien loin du principe originel de dĂ©centralisation de la gouvernance.
La blockchain publique nâappartient Ă personne, et mĂȘme son crĂ©ateur ne peut plus changer les rĂšgles de fonctionnement une fois quâelle est exĂ©cutĂ©e.