Actu-crypto

🔒
❌ About FreshRSS
There are new articles available, click to refresh the page.
☐ ☆ ✇ Comprendre la cryptomonnaie

L’individu souverain, la technique et le nouveau Moyen Âge

By: Ludovic Lars —

J’ai rĂ©cemment participĂ© Ă  la traduction en français du livre The Sovereign Individual, qui sort ce vendredi 15 mai chez Konsensus Network sous le titre L’Individu souverain : Survivre et prospĂ©rer face Ă  l’effondrement de l’État-providence. Cet ouvrage, coĂ©crit en 1997 par William Rees-Mogg et James Dale Davidson, est un texte de prospective, emblĂ©matique par les prĂ©dictions qu’il faisait sur les consĂ©quences politiques de la rĂ©volution numĂ©rique, alors balbutiante Ă  l’époque. Riche en contexte historique et long de quatre-cents pages, il apporte des Ă©lĂ©ments de rĂ©flexion qui n’ont pas vieilli aujourd’hui.

William Rees-Mogg Ă©tait un lord anglais et avait Ă©tĂ© Ă©diteur du Times de 1967 Ă  1981. James Dale Davidson Ă©tait un investisseur amĂ©ricain. Au moment de la publication initiale du livre, les deux hommes gĂ©raient une lettre d’information financiĂšre depuis 1984. Ils avaient alors dĂ©jĂ  publiĂ© deux livres Ă  succĂšs (Blood in the Streets en 1987 et The Great Reckoning en 1993), oĂč ils formulaient dĂ©jĂ  des prĂ©dictions, notamment sur le monde financier et la gĂ©opolitique. L’Individu Souverain constituait pour eux un parachĂšvement de leur vision de l’avenir.

Dans cet ouvrage, ils soutenaient qu’une nouvelle phase de l’histoire de l’humanitĂ© s’ouvrait — l’ùre de l’information — et qu’elle allait permettre aux individus de s’émanciper du joug des États-nations. Revenant sur l’histoire de l’humanitĂ©, du nĂ©olithique Ă  l’époque moderne en passant par le Moyen Âge, ils examinaient les dynamiques rĂ©gissant l’évolution politico-Ă©conomique du monde. Ils mettaient en avant le caractĂšre libĂ©rateur du progrĂšs technique, et prĂ©disaient en particulier l’émergence d’une monnaie numĂ©rique Ă©chappant au contrĂŽle Ă©tatique, chose qui se matĂ©rialiserait avec Bitcoin au dĂ©but des annĂ©es 2010.

Aux États-Unis, le livre s’est rapidement popularisĂ© dans les cercles libertariens, grĂące au portrait peu flatteur qu’il faisait des États centralisĂ©s et des idĂ©ologies qui les soutenaient. Il s’est aussi diffusĂ© dans la Silicon Valley, en raison du point de vue techno-optimiste des auteurs. Il a plus tard connu un succĂšs croissant au sein de la communautĂ© de Bitcoin (et du milieu des cryptomonnaies en gĂ©nĂ©ral), inspirant notamment Francis Pouliot, Jameson Lopp ou Naval Ravikant. En France, il est aujourd’hui mis en avant par le mĂ©dia indĂ©pendant Le Bunker, par la plateforme Zone Franche, et par l’infopreneur Olivier Roland, qui a Ă©crit son propre livre sur le sujet.

À l’heure oĂč la stabilitĂ© de l’ordre mondial est remise en question et oĂč les États deviennent de plus en plus autoritaires, la thĂšse de l’individu souverain est plus que jamais d’actualitĂ©. Cet article constitue une analyse et une critique de cette thĂšse. Le progrĂšs technique va-t-il nous libĂ©rer et sommes-nous Ă  la veille du Moyen Âge ? C’est ce Ă  quoi nous allons tenter de rĂ©pondre ici.

La thùse de l’individu souverain

La thĂšse de l’ouvrage de Rees-Mogg et Davidson est que la rĂ©volution numĂ©rique (dite « de l’information ») va provoquer l’effondrement de l’État-providence moderne et conduire Ă  l’avĂšnement d’une souverainetĂ© individuelle rĂ©elle. Cette souverainetĂ© s’exercera par le renversement du rapport entretenu par les autoritĂ©s politiques et les individus : ces derniers ne seront plus considĂ©rĂ©s comme des sujets ou des citoyens, et comme des « vaches Ă  lait » (p. 238) pour les plus productifs, mais comme des « clients » (pp. 117–118). Et, comme le dit le dicton, le client est roi.

Le concept de « souverainetĂ© de l’individu » n’est pas tout rĂ©cent, puisqu’il a Ă©mergĂ© avec la pensĂ©e libĂ©rale anglo-saxonne (John Locke) et qu’il a Ă©tĂ© formulĂ© par John Stuart Mill en 1859, qui Ă©crivait : « Sur lui-mĂȘme, sur son corps et son esprit, l’individu est souverain1. » Le terme a ensuite Ă©tĂ© repris dans son acception la plus radicale par les anarchistes individualistes amĂ©ricains, comme Josiah Warren ou Benjamin Tucker, puis par les thĂ©oriciens du libertarianisme moderne, notamment Murray Rothbard.

LĂ  oĂč les auteurs se diffĂ©rencient de cette idĂ©ologie libĂ©rale est que leur discours n’est pas prescriptif (ou du moins pas explicitement), mais descriptif : ils veulent montrer que le sens de l’histoire va vers plus de libertĂ©. Le livre n’est donc pas un manifeste politique en tant que tel, mais un manuel de survie face Ă  la « grande transformation » (p. 234) qui est en train d’avoir lieu. Ils se basent (entre autres) sur les travaux d’un historien amĂ©ricain du XXe siĂšcle nommĂ© FrĂ©dĂ©ric Lane, qui Ă©tait spĂ©cialiste du bas Moyen Âge et qui avait dĂ©veloppĂ© une analyse Ă©conomique de la violence politique2.

Suivant les idĂ©es de Lane, les auteurs Ă©laborent leur propre modĂšle prĂ©dictif. Ils dĂ©crivent comment les « facteurs mĂ©gapolitiques » conditionnent la forme institutionnelle des États en faisant varier ce qu’ils appellent « les rendements de la violence » :

« En modifiant les coûts et les gains potentiels liés à la coercition, la mégapolitique détermine la capacité de certains à imposer leur volonté à autrui. » (p. 48)

Les facteurs qu’ils identifient appartiennent Ă  quatre grandes catĂ©gories :

  1. Les conditions topographiques : les grandes plaines alluviales propices au développement de grands centres de civilisation, les montagnes jouant un rÎle protecteur, les littoraux fragmentés favorisant le commerce3, etc. ;
  2. Les causes climatiques : la tempĂ©rature gĂ©nĂ©rale qui affecte directement la production agricole, et donc la puissance politique de l’État qui domine la rĂ©gion ;
  3. Les agents infectieux : les bactéries et les virus derriÚre les épidémies, qui provoquent des fluctuations démographiques massives, limitant de ce fait la taille des grands empires ;
  4. Les innovations techniques : les outils qui permettent au pouvoir d’asseoir sa domination ou Ă  l’inverse Ă  l’individu de se dĂ©fendre.

Pour les auteurs, la technologie — ou la technique, si l’on veut Ă©viter de faire un amĂ©ricanisme — constitue Ă  l’époque moderne le « facteur dĂ©terminant de l’équilibre entre le coĂ»t et les bĂ©nĂ©fices liĂ©s Ă  l’exercice du pouvoir » (p. 52). L’évolution technique liĂ©e Ă  l’ùre de l’information (la micro-informatique, le cyberespace et la cryptographie) va libĂ©rer l’individu, en provoquant une baisse des rendements de la violence. Les États ne pourront plus contrĂŽler leurs citoyens comme ils l’ont fait jusqu’à prĂ©sent, ce qui conduira Ă  l’émancipation des individus. Ce discours n’est d’ailleurs pas sans rappeler celui des cypherpunks, qui Ă©crivaient Ă  la mĂȘme Ă©poque.

La taille des entitĂ©s souveraines va ainsi grandement diminuer, pour ne parfois concerner qu’une poignĂ©e d’individus. On assistera Ă  la dĂ©sagrĂ©gation des grands États, pour donner une multitude de micro-juridictions. Le monde connaitra une nouvelle pĂ©riode de fĂ©odalitĂ© qui rappellera celle du Moyen Âge, tout en s’en distinguant fondamentalement. En effet, grĂące Ă  la gĂ©nĂ©ralisation d’Internet, les individus pourront davantage se rĂ©unir en « groupes d’affinité » (p. 157), chose qui existait sous forme embryonnaire dans les ordres religieux et militaires mĂ©diĂ©vaux comme les chevaliers de Malte. Cette dĂ©marche se retrouve aujourd’hui dans le concept de l’État-rĂ©seau de Balaji Srinivasan (ancien directeur technique de Coinbase et associĂ© gĂ©nĂ©ral chez Andreessen Horowitz), qui le dĂ©finit comme « une communautĂ© en ligne hautement alignĂ©e, dotĂ©e d’une capacitĂ© d’action collective, qui finance l’acquisition de territoires Ă  travers le monde et finit par obtenir la reconnaissance diplomatique d’États dĂ©jĂ  existants ».

L’Europe occidentale en 1444 (source : u/ratkatavobratka, 2021)

De maniĂšre gĂ©nĂ©rale, les entitĂ©s souveraines se feront concurrence, et les personnes procĂšderont Ă  un arbitrage juridictionnel : elles choisiront oĂč elles voudront rĂ©sider et travailler en fonction des conditions offertes (fiscalitĂ©, sĂ©curitĂ©, infrastructures) par ces micro-États. Ce sera une application du « thĂ©orĂšme de non-Ă©quivalence4 » formulĂ© par les auteurs, qui affirme que les individus rĂ©agiront Ă  une hausse d’impĂŽt, non pas en rĂ©duisant leur consommation mais en dĂ©mĂ©nageant :

« À l’ùre de l’information, cependant, la rĂ©action du contribuable rationnel ne consistera plus Ă  Ă©pargner davantage pour absorber l’augmentation prĂ©visible de ses impĂŽts ; il choisira plutĂŽt de transfĂ©rer sa rĂ©sidence ou d’effectuer ses transactions ailleurs. De mĂȘme que les producteurs choisissent les fournisseurs les plus avantageux, la capacitĂ© Ă  sĂ©lectionner son prestataire de protection deviendra un levier bien plus dĂ©terminant pour prĂ©server ses revenus. » (p. 221)

Il s’agira d’un « vote avec ses pieds », d’une « dĂ©fection5 » (p. 218) affectant indirectement la politique de l’État. Les individus les plus productifs iront enrichir les juridictions fiscalement avantageuses et davantage focalisĂ©es sur les missions rĂ©galiennes, tandis que les grands États-providence s’appauvriront considĂ©rablement, et seront contraints Ă  revoir Ă  la baisse leurs politiques redistributives.

La rĂ©volution de l’information

Tout comme la dĂ©couverte de la poudre Ă  canon et celle de l’imprimerie ont mis fin Ă  la fĂ©odalitĂ© au moment de la Renaissance, la rĂ©volution de l’information va mettre un terme Ă  l’ùre de l’État-nation. Les anciens modes de production Ă©taient soumis Ă  la « tyrannie de l’endroit » (p. 174) : la rattachement de la production Ă  un bien foncier (terre ou usine) rendait les producteurs particuliĂšrement vulnĂ©rables Ă  l’impĂŽt et aux revendications sociales, et c’est pour cette raison que la crĂ©ation de richesse permise par la rĂ©volution industrielle a Ă©tĂ© rĂ©cupĂ©rĂ©e par l’État. À l’inverse, la rĂ©volution de l’information va permettre aux entreprises de dĂ©centraliser leur mode de production et de transcender cette tyrannie de l’endroit, en devenant davantage mobiles. Les auteurs le rĂ©sument bien : « Le gigantisme des usines a coĂŻncidĂ© avec l’ùre de l’État-providence. À l’inverse, la micro-informatique miniaturise les institutions. » (p. 135)

Internet joue un grand rĂŽle dans la thĂšse soutenue par les auteurs. À la suite de John Perry Barlow, auteur d’une DĂ©claration d’indĂ©pendance du cyberespace en 1996, ils professent que « le cyberespace, tel le royaume imaginaire des dieux d’HomĂšre, forme un univers distinct de notre monde terrestre familier, fait de fermes et d’usines » (p. 174). Ils considĂšrent que l’activitĂ© se fera dans le cadre de la « multinationale virtuelle » (p. 222), association d’individus souverains s’adaptant facilement aux conditions du marchĂ©. Ce type de production est devenu rĂ©alitĂ© aujourd’hui avec l’émergence des digital nomads, dont le modĂšle a Ă©tĂ© exposĂ© en 2007 par l’influenceur Tim Ferriss dans son best-seller de dĂ©veloppement personnel, La Semaine de quatre heures.

Rees-Mogg et Davidson soutiennent aussi que la rĂ©volution de l’information va mener Ă  la crĂ©ation d’une monnaie numĂ©rique, appelĂ©e « cybermonnaie », qui repose sur la cryptographie asymĂ©trique et Ă©chappe au contrĂŽle de l’État. Ils Ă©crivent :

« Avec l’émergence du commerce en ligne, l’apparition de la cybermonnaie est inĂ©luctable. Cette nouvelle forme de monnaie sapera la capacitĂ© des États Ă  dĂ©terminer qui pourra accĂ©der au statut d’individu souverain. Ce changement s’explique en grande partie par le rĂŽle de la technologie de l’information, qui affranchira les dĂ©tenteurs de patrimoine de la confiscation dĂ©guisĂ©e que constitue l’inflation. [
] Cette monnaie numĂ©rique est appelĂ©e Ă  jouer un rĂŽle central dans le cybercommerce. Elle se prĂ©sentera sous la forme de suites chiffrĂ©es de nombres premiers de plusieurs centaines de chiffres. Unique, anonyme et vĂ©rifiable, cette monnaie pourra ĂȘtre utilisĂ©e pour les transactions les plus importantes, mais aussi ĂȘtre fractionnĂ©e Ă  l’infini pour rĂ©gler des montants microscopiques. Elle s’échangera instantanĂ©ment et sans aucune restriction sur un marchĂ© mondial pesant plusieurs milliers de milliards de dollars. » (p. 191)

À l’époque, le modĂšle eCash de David Chaum Ă©tait dĂ©ployĂ© de façon expĂ©rimentale dans certaines banques amĂ©ricaines depuis 1995. Les auteurs n’étaient donc pas les seuls Ă  prĂ©dire l’émergence d’une monnaie numĂ©rique libre : le constat Ă©tait partagĂ© par Milton Friedman par exemple. Cet idĂ©al de monnaie numĂ©rique a fini par se matĂ©rialiser sous la forme de Bitcoin, conçu par Satoshi Nakamoto en 2008 : une monnaie rĂ©sistante Ă  la censure et rĂ©sistante Ă  l’inflation, confidentielle et programmable, adaptĂ©e aux gros transferts vers l’étranger comme aux petits paiements.

Une autre vision prophĂ©tique rĂ©alisĂ©e dans L’Individu souverain est l’adoption de l’intelligence artificielle au sein de la population gĂ©nĂ©rale. Les auteurs prĂ©voient en effet que les individus pourront augmenter leurs capacitĂ©s de façon surprenante grĂące Ă  des « serviteurs » ou « assistants numĂ©riques » (p. 150). Ils Ă©voquent notamment la cas de « juristes numĂ©riques » qui « automatiseront la sĂ©lection des clauses contractuelles, en utilisant des processus d’intelligence artificielle tels que les rĂ©seaux neuronaux, pour rĂ©diger des contrats privĂ©s personnalisĂ©s en fonction des conditions juridiques internationales » (p. 185). Certains individus pourraient ainsi devenir extrĂȘmement puissants : « Un gĂ©nie excentrique, Ă©paulĂ© par ses serviteurs numĂ©riques, pourrait thĂ©oriquement rivaliser avec l’influence d’un État-nation dans une guerre informatique. » (p. 169)

Cette prĂ©diction rappelle inĂ©vitablement les agents d’IA, ces systĂšmes qui effectuent des tĂąches de maniĂšre autonome en concevant des flux opĂ©rationnels et en interagissant avec le monde rĂ©el Ă  la place de l’utilisateur. L’intelligence artificielle, qui jusque-lĂ  Ă©tait restĂ©e confinĂ©e Ă  quelques utilisations prĂ©cises (AlphaGo), s’est popularisĂ©e Ă  partir de 2022 avec le succĂšs de la premiĂšre version ouverte de ChatGPT (basĂ©e sur GPT-3). Puis la pratique de l’IA agentique s’est dĂ©veloppĂ©e Ă  partir de cette base, pour se faire connaitre par le biais de Clawdbot/OpenClaw en 2025. Aujourd’hui, l’individu a dĂ©sormais la possibilitĂ© de dĂ©multiplier ses capacitĂ©s, en disposant d’outils puissants pour automatiser les tĂąches les plus redondantes, comme la programmation logicielle, la traduction, l’écriture d’articles ou la gestion des courriels.

Ainsi, nous ne pouvons que constater que Rees-Mogg et Davidson ont Ă©tĂ© visionnaires sur un certain nombre de sujets. Toutefois, on peut largement nuancer cette opinion, trop rĂ©pandue parmi les dĂ©fenseurs du livre et de la thĂšse de l’individu souverain. Le discours des auteurs semble relever de la pensĂ©e dĂ©sidĂ©rative au moins sur deux points : le rĂŽle libĂ©rateur de la technique et l’imminence de la dĂ©centralisation politique.

La technique, libératrice ou tyrannique ?

MĂȘme Rees-Mogg et Davidson se contentent de dĂ©crire les choses telles qu’elles sont censĂ©es se passer, on comprend qu’ils ont un point de vue positif sur la rĂ©volution numĂ©rique, ayant une bienveillance toute promĂ©thĂ©enne Ă  l’égard du progrĂšs technique rĂ©cent et Ă  venir. Ils Ă©ludent ainsi la perspective inverse : que le progrĂšs technique en cours amĂšne une plus grande servitude en mĂȘme temps qu’un plus grand confort. De leur propre aveu, c’est ce qui s’est passĂ© lors de la « rĂ©volution agricole » et de la rĂ©volution industrielle ; pourquoi serait-ce diffĂ©rent cette fois-ci ?

Une technique particuliĂšre n’est jamais neutre et influence la sociĂ©tĂ© entiĂšre dans un sens particulier. Dans le cadre politique, elle vient changer les « conditions mĂ©gapolitiques » de la rĂ©gion dans laquelle elle est adoptĂ©e. Une innovation peut donc apparaitre comme un outil d’indĂ©pendance pour l’individu, tout en favorisant en rĂ©alitĂ© la mainmise gĂ©nĂ©rale de l’État.

Les moyens de transport et de communication, par exemple, sont utiles aux individus pour se dĂ©placer entre les juridictions et pour Ă©changer des informations et des richesses. Mais ils permettent surtout la centralisation au niveau politique : les ordres peuvent ĂȘtre transmis plus rapidement aux gouverneurs de province et les troupes peuvent ĂȘtre envoyĂ©es plus facilement en cas de sĂ©cession. Le dĂ©veloppement des transports terrestres, maritimes, ferroviaires et aĂ©riens, ainsi que le dĂ©ploiement des communications modernes (tĂ©lĂ©graphe, tĂ©lĂ©phone, TCP/IP), ont favorisĂ© l’émergence d’États-continents centralisĂ©s comme la RĂ©publique populaire de Chine ou les États-Unis. Le cas d’Internet est emblĂ©matique : il a, de par son architecture distribuĂ©e, Ă©tĂ© un outil fantastique pour dĂ©mocratiser la connaissance de l’individu, mais il a aussi largement contribuĂ© Ă  la diffusion de propagande de masse, Ă  la surveillance gĂ©nĂ©ralisĂ©e et Ă  l’abrutissement global.

La numĂ©risation de la monnaie peut aussi ĂȘtre examinĂ©e sous ce prisme. Elle a certes amenĂ© l’argent liquide Ă©lectronique qu’est Bitcoin (dont le potentiel est sous-exploitĂ© aujourd’hui), mais elle a Ă©tĂ© essentiellement l’occasion de dĂ©ployer la surveillance et le contrĂŽle financier Ă  des domaines qui ne l’étaient pas avant, d’abord dans le systĂšme bancaire, et bientĂŽt directement par les États eux-mĂȘmes, par l’intermĂ©diaire de la monnaie numĂ©rique de banque centrale. Bitcoin constitue bien plus une rĂ©action Ă  cette numĂ©risation de la monnaie, une valorisation des propriĂ©tĂ©s de la « monnaie physique » et une opposition aux « institutions financiĂšres qui servent de tiers de confiance pour traiter les paiements Ă©lectroniques », qu’une volontĂ© de faire advenir une monnaie intĂ©gralement numĂ©rique. De mĂȘme, David Chaum avait en son temps dĂ©veloppĂ© ses mĂ©thodes cryptographiques (et son fameux systĂšme eCash) parce qu’il se catastrophait de l’informatisation de la sociĂ©tĂ©6.

L’intelligence artificielle est Ă©galement concernĂ©e par ce cotĂ© double : elle est en effet particuliĂšrement puissante dans un certain nombre de domaines (on regardera l’illustration de cet article pour s’en convaincre), mais demeure dans sa conception une chose trĂšs centralisĂ©e et sensible Ă  l’intervention Ă©tatique. L’entrainement des meilleurs modĂšles d’IA (Claude, ChatGPT, Gemini) requiert une infrastructure informatique monstrueuse (datacenters), de sorte que ces derniers sont contrĂŽlĂ©s par des grandes sociĂ©tĂ©s plus ou moins soumises au pouvoir amĂ©ricain (OpenAI, Anthropic, Google). Du cĂŽtĂ© de l’infĂ©rence, on peut logiquement dĂ©ployer localement des modĂšles open source (comme Qwen ou Deepseek) Ă  l’aide d’une carte graphique performante valant aujourd’hui une poignĂ©e de milliers d’euros. Toutefois, cette façon de faire est significativement moins efficace : les modĂšles concernĂ©s sont moins bons et le coĂ»t de maintenance locale est non nĂ©gligeable (sans parler du fait que les concurrents sont actuellement subventionnĂ©s). On peut donc aisĂ©ment prĂ©dire aisĂ©ment que l’essentiel de la production par IA se fera par le biais des modĂšles propriĂ©taires et hĂ©bergĂ©s de maniĂšre centralisĂ©e.

Vue aĂ©rienne d’une site de datacenters dĂ©diĂ©s Ă  l’entrainement d’intelligence artificielle Ă  Mount Pleasant, dans le Wisconsin, en 2025 (source : Microsoft)

Dans ce registre, il est intĂ©ressant de citer Peter Thiel, cofondateur controversĂ© de PayPal et de Palantir, qui Ă©tait l’auteur de la prĂ©face de la réédition de 2020 de The Sovereign Individual. Il Ă©crit ainsi (en Ă©cho Ă  une dĂ©claration prĂ©cĂ©dente) :

« L’intelligence artificielle laisse entrevoir la possibilitĂ© de rĂ©soudre enfin ce que les Ă©conomistes appellent le « problĂšme du calcul Ă©conomique » : l’IA pourrait thĂ©oriquement permettre de contrĂŽler de maniĂšre centralisĂ©e l’ensemble d’une Ă©conomie. Ce n’est pas un hasard si l’IA est la technologie prĂ©fĂ©rĂ©e du Parti communiste chinois. La cryptographie forte, Ă  l’autre extrĂȘme, laisse entrevoir la perspective d’un monde dĂ©centralisĂ© et individualisĂ©. Si l’IA est communiste, la crypto est libertarienne7. »

La rĂ©volution de l’information est bel et bien en train de bouleverser le monde, pour le meilleur et pour le pire. Si le progrĂšs technique est aujourd’hui en plein essor, il pourrait nous conduire Ă  la pire des dystopies, oĂč intelligence artificielle cĂŽtoierait identitĂ© informatisĂ©e, monnaie numĂ©rique de banque centrale, surveillance gĂ©nĂ©ralisĂ©e et Ă©conomie planifiĂ©e — la technocratie. Il est donc avisĂ© d’avoir un certain discernement et de ne pas se rĂ©jouir bĂ©atement de toutes les nouvelles avancĂ©es techniques que nous propose sans cesse l’élite technologique, cette « élite cosmopolite de l’ùre de l’information » (p. 270).

Le nouveau Moyen Âge n’est pas pour tout de suite

Dans L’Individu souverain, ainsi que dans leurs autres ouvrages, Rees-Mogg et Davidson prĂ©sentent une conception cyclique de l’histoire, et se basent sur les Ă©vĂšnements passĂ©s pour prĂ©dire l’avenir. DĂšs le dĂ©but du livre, ils font ainsi remarquer que l’histoire occidentale est marquĂ©e un « mystĂ©rieux cycle de cinq siĂšcles » depuis la GrĂšce antique : Ă  chaque fois, un « grand bouleversement » provoque « l’apparition d’une nouvelle phase d’organisation sociale » (p. 33). En 508 avant JĂ©sus-Christ, c’étaient les rĂ©formes dĂ©mocratiques de ClisthĂšne ; en l’an 1, la naissance du Christ marquant l’apogĂ©e Ă©conomique antique ; en 476 ap. J.-C., l’effondrement de l’Empire romain d’Occident et le dĂ©but de l’« Âge sombre » ; vers l’an mil, l’instauration de la fĂ©odalitĂ© en Europe occidentale initiant une restructuration ; et en 1492, le dĂ©but de l’époque moderne avec la dĂ©couverte de la poudre Ă  canon, la Renaissance et la RĂ©forme protestante. Dans cette logique, l’an 2000 devrait amener avec lui le dĂ©but d’une nouvelle Ăšre — l’ùre de l’information — oĂč l’organisation sociale reposerait sur une sorte de fĂ©odalitĂ© technologique, marquĂ©e par une division politique forte et par un dĂ©veloppement technique avancĂ©. Cette pĂ©riode nouvelle prendrait les atours d’un nouveau Moyen Âge, sans pour autant en prĂ©senter les inconvĂ©nients principaux.

Si cette façon de prĂ©senter les choses est sĂ©duisante, elle est peu mĂ©thodique en ce que la sĂ©lection des Ă©vĂšnements est arbitraire et ne repose sur aucun critĂšre prĂ©cis, hormis le ressenti dans la mĂ©moire collective8. L’intuition des auteurs sur les variations historiques est nĂ©anmoins bonne, et on peut percevoir un autre cycle : le cycle des civilisations, qui a notamment Ă©tĂ© mis en lumiĂšre par l’historien et essayiste français Philippe Fabry. Depuis l’émergence des premiĂšres civilisations au nĂ©olithique, le monde a connu des hauts et des bas, mesurĂ©s selon le niveau d’urbanisation, de commerce et d’unification politique.

Dans ce cadre, le « Moyen Âge » correspondait Ă  une pĂ©riode de transition entre deux Ăšres civilisationnelles : l’AntiquitĂ© grĂ©co-romaine et la ModernitĂ© europĂ©o-amĂ©ricaine. Il a permis une relative « concurrence entre les juridictions9 » prĂ©cisĂ©ment parce qu’il constituait l’aboutissement d’un long processus de dĂ©civilisation. Cette indĂ©pendance s’accompagnait ainsi d’une dominance du mode de vie rural et d’un bas niveau d’échanges Ă©conomiques avec l’étranger.

Plus encore, le Moyen Âge n’était pas la premiĂšre pĂ©riode de ce genre : en GrĂšce, la disparition de la civilisation mycĂ©nienne lors de l’effondrement de l’ñge du bronze au XIIe siĂšcle avant JĂ©sus-Christ a conduit Ă  des « siĂšcles obscurs » qui ont durĂ© plus de 400 ans. La reconstruction a eu lieu ensuite, lors de l’époque archaĂŻque, qui a donnĂ© la GrĂšce antique que nous connaissons, avec les citĂ©s-États d’AthĂšnes ou de Sparte. Il s’en est suivi un mouvement d’unification politique (Ă  l’échelle de l’époque), d’abord sous l’égide de la MacĂ©doine vers 330 av. J.-C. (Alexandre le Grand), puis de Rome au IIe siĂšcle avant notre Ăšre.

Essor et dĂ©clin civilisationnel dans le Levant mĂ©ridional entre l’ñge du bronze et l’ñge de fer (source : Pierre de Miroschedji)

Le monde est donc soumis Ă  des forces au long cours autrement plus immuables que l’innovation technique. Bien que celle-ci atteigne aujourd’hui un niveau inĂ©dit dans l’histoire de l’humanitĂ© (cybernĂ©tique, intelligence artificielle, manipulation gĂ©nĂ©tique, neurotechnologie), elle n’en demeure pas moins assujettie au cycle civilisationnel, qui est une dynamique humaine10. La technique, en tant qu’elle constitue une extension de la vie humaine, a seulement pour effet de ralentir le cycle, pas d’y mettre un terme.

Le processus de dĂ©civilisation et de dĂ©centralisation du monde est un processus lent et graduel : il peut ĂȘtre ponctuĂ© par des Ă©vĂšnements spectaculaires, mais ceux-ci sont l’expression de mutations plus profondes. Rome ne s’est pas effondrĂ©e en un jour par exemple ; il lui a fallu un demi-millĂ©naire. Il parait de ce fait trĂšs illusoire de croire qu’un changement brutal va se produire, et ce d’autant plus que ce potentiel dĂ©clin n’a pas encore commencĂ©. Le monde n’a jamais Ă©tĂ© aussi riche qu’aujourd’hui. La tendance Ă  la centralisation politique (qui a dĂ©butĂ© autour de l’an mil en Europe) ne montre aucun signe d’inversement, malgrĂ© les conflits militaires qui marquent l’actualitĂ© de ces derniĂšres annĂ©es.

L’heure est donc aux grands empires, qui seuls peuvent exercer une souverainetĂ© concrĂšte : les États-Unis, l’Union europĂ©enne, la Chine, l’Inde. Les petites entitĂ©s soi-disant « souveraines » sont en rĂ©alitĂ© soumises au bon-vouloir de ces grands empires11. Elles persisteront probablement, ne serait-ce que pour permettre Ă  l’élite de jouir de son statut, mais ne constitueront pas de rĂ©elles solutions viables avant des siĂšcles.

La pratique comme maĂźtre-mot

On peut ainsi conclure que la thĂšse de l’individu souverain est intĂ©ressante, mais peine Ă  convaincre dans son entiĂšretĂ©. Rees-Mogg et Davidson sont beaucoup trop optimistes sur la possibilitĂ© de libertĂ© politique des individus. L’État est une institution de servitude qui orchestre la contrainte depuis des millĂ©naires, et qui ne sera pas renversĂ©e du jour au lendemain par un procĂ©dĂ© technique, fĂ»t-il aussi gĂ©nial que Bitcoin.

Toutefois, malgrĂ© ce postulat erronĂ©, le livre prĂ©sente une vĂ©ritable valeur en ce qu’il incite Ă  la pratique. S’il a eu le succĂšs qu’on lui connait, c’est parce qu’il a apportĂ© beaucoup Ă  ceux qui l’ont lu. MĂȘme si les auteurs ne donnent pas de conseils directs (hormis des investissements en lien avec leur lettre d’information, non reproduits dans la version en français), leurs analyses ouvrent la voie Ă  des actions dans le monde rĂ©el. Il pousse ainsi Ă  agir plutĂŽt que de se plaindre, Ă  anticiper plutĂŽt que de subir. Et, Ă  dĂ©faut de prĂ©dire l’effondrement de l’État-providence, il permettra Ă  l’individu d’ĂȘtre libre dans un monde qui ne l’est pas.

On sera ainsi amenĂ©s Ă  voir d’un bon Ɠil l’entrepreneuriat, notamment par le biais d’Internet, qui modifie le marchĂ© Ă  aller chercher. Avoir un flux de trĂ©sorerie issu du cyberespace nous rendra moins facilement saisissable et imposable. On voyagera et on profitera des disparitĂ©s entre les juridictions en dĂ©plaçant certains aspects de notre vie Ă  l’étranger, voire en s’expatriant dĂ©finitivement. On se regroupera en communautĂ©s basĂ©es sur des intĂ©rĂȘts communs. On filtrera notre flux d’information, en personnalisant nos sources documentaires, plutĂŽt qu’en s’abreuvant du discours gĂ©nĂ©ral des mĂ©dias de masse.

Certains trouveront Ă  redire de ce mode de vie nomade, mais la dĂ©marche a le mĂ©rite de pousser les gens Ă  se frotter Ă  la rĂ©alitĂ©, qualitĂ© trop peu rĂ©pandue de nos jours. La rĂ©flexion est, et a toujours Ă©tĂ©, censĂ©e nourrir l’action. Et ce sont nos actions qui dĂ©terminent ce Ă  quoi le monde de demain ressemblera. Pour citer Peter Thiel : « La lecture de L’Individu souverain en 2020 est un moyen de rĂ©flĂ©chir attentivement Ă  l’avenir que nos propres actions contribueront Ă  façonner. »


Références et notes

James Dale Davidson et William Rees-Mogg, L’Individu souverain : Survivre et prospĂ©rer face Ă  l’effondrement de l’État-providence. Konsensus Network, 2026. 411 pages. À retrouver sur la boutique en ligne de l’éditeur (10 % de rĂ©duction avec le code promo lugaxker) et sur Amazon.

Illustration : image gĂ©nĂ©rĂ©e avec GPT Image 1.5, Ă  partir du tableau Le Voyageur contemplant une mer de nuages peint en 1818 par Caspar David Friedrich. Texte : rĂ©digĂ© intĂ©gralement sans LLM. Traduction : sauf prĂ©cision contraire, les traductions sont rĂ©alisĂ©es par l’auteur au moyen de DeepL.

  1. John Stuart Mill, De la libertĂ©, trad. Dupont-White (Guillaumin et Cie, 1860), p. 18. ↩
  2. Voir notamment Frederic C. Lane, « Economic Consequences of Organized Violence », The Journal of Economic History, vol. 18, n° 4 (dĂ©cembre 1958), pp. 402–417. ↩
  3. L’argument du littoral accidentĂ© qui favorise le commerce fait penser Ă  la thĂšse de la « thalassographie articulĂ©e » de David Cosandey, formulĂ©e la mĂȘme annĂ©e, en 1997. ↩
  4. Le thĂ©orĂšme de non-Ă©quivalence est appelĂ© ainsi en rĂ©fĂ©rence Ă  l’équivalence ricardienne, selon laquelle, lors d’une relance budgĂ©taire, les acteurs Ă©conomiques rĂ©duisent leur consommation par anticipation d’une future hausse d’impĂŽt. Ce thĂ©orĂšme de Rees-Mogg et Davidson est prĂ©sentĂ© dans The Bitcoin Handbook d’Anil Patel, traduit en français chez Konsensus Network. ↩
  5. Dans le livre Exit, Voice, and Loyalty Ă©crit 1969 par l’économiste amĂ©ricain Albert Hirschmann, le terme « dĂ©fection » (exit) s’oppose Ă  la « prise de parole » (voice) et au « loyalisme » (loyalty) dans la gouvernance des organisations. Hirschmann Ă©crivait notamment : « Ce n’est que lorsque les pays commenceront Ă  vraiment se ressembler, grĂące Ă  la modernisation et Ă  l’évolution des communications, que le danger des dĂ©fections prĂ©maturĂ©es et excessives se prĂ©sentera. » ↩
  6. En 1985, David Chaum Ă©crivait : « L’informatisation prive les individus de la capacitĂ© de surveiller et de contrĂŽler la façon dont les informations les concernant sont utilisĂ©es. (
) Nous sommes en train de jeter les bases d’une sociĂ©tĂ© du fichage, dans laquelle les ordinateurs pourraient ĂȘtre utilisĂ©s pour dĂ©duire le mode de vie, les habitudes, les dĂ©placements et les frĂ©quentations des individus Ă  partir de donnĂ©es collectĂ©es dans le cadre de transactions de consommation ordinaires. L’incertitude quant Ă  la sĂ©curitĂ© des donnĂ©es contre les abus de ceux qui les conservent ou les exploitent peut avoir un « effet paralysant », amenant les gens Ă  modifier leurs activitĂ©s observables. À mesure que l’informatisation se gĂ©nĂ©ralise, ces problĂšmes risquent de s’aggraver considĂ©rablement. » — Voir « Security without identification: transaction systems to make big brother obsolete », in Communications of the ACM, vol. 28, no. 10, octobre 1985, p. 1030. ↩
  7. Peter Thiel, « Preface », in James Dale Davidson et William Rees-Mogg, The Sovereign Individual (Touchstone, 2020), p. 6. ↩
  8. Pourquoi parler de l’instauration de la dĂ©mocratie athĂ©nienne et ignorer la rĂ©volution anglaise du XVIIe siĂšcle par exemple ? ↩
  9. Rees-Mogg et Davidson vantent notamment les « marches », ces « rĂ©gions frontaliĂšres mĂ©diĂ©vales » qui Ă©taient « le théùtre d’un enchevĂȘtrement de souverainetĂ©s » et avaient dĂ©veloppĂ© « des formes institutionnelles et juridiques singuliĂšres » (p. 166). ↩
  10. Philippe Fabry, citĂ© plus haut, affirme que le processus de dĂ©civilisation dĂ©coule d’un effondrement dĂ©mographique, dĂ» en partie Ă  la baisse de la natalitĂ©. Une sociĂ©tĂ© qui dĂ©cline dĂ©mographiquement a en effet tendance Ă  connaitre une dĂ©croissance Ă©conomique, ce qui diminue l’incitation Ă  la centralisation politique. ↩
  11. Dans sa prĂ©face de 2020, Peter Thiel a mis en perspective la thĂšse de l’individu souverain en mentionnant la prise de contrĂŽle de la Chine sur la citĂ©-État d’Hong Kong, qui correspondait, pour les auteurs, « au type de juridiction qui [
] prospĂ©rera Ă  l’ùre de l’information » (p. 303). ↩
☐ ☆ ✇ Comprendre la cryptomonnaie

Le bloc de genĂšse de Bitcoin

By: Ludovic Lars —

Lorsqu'il a conçu le prototype de Bitcoin en janvier 2009, Satoshi Nakamoto a dû construire un premier bloc à partir duquel la chaßne s'est allongée. Ce bloc il l'a appelé le bloc de genÚse (« genesis block » en anglais) en référence au premier livre de la Torah et de la Bible, qui raconte la création du monde par Dieu.

Par convention, on considÚre qu'il s'agit du bloc de hauteur 0 (ou « bloc 0 ») au-dessus duquel les autres blocs sont successivement empilés. Examinons plus en détail ce que contient cet élément fondateur de Bitcoin en procédant à une dissection minutieuse !

 

Un bloc fondateur

Le bloc de genĂšse est une donnĂ©e essentielle du protocole Bitcoin car il constitue la base Ă  partir de laquelle on peut dĂ©terminer la chaĂźne la plus longue (c'est-Ă -dire celle ayant le plus de preuve de travail accumulĂ©e) et par consĂ©quent la validitĂ© des transactions du registre. Il est thĂ©oriquement le seul bloc Ă  devoir ĂȘtre inscrit en dur dans le protocole, mĂȘme si d'autres l'ont Ă©tĂ© par la suite.

Tel que l'écrivait Satoshi Nakamoto :

« La chaßne de blocs est une structure en forme d'arbre qui a pour racine le bloc de genÚse, chaque bloc pouvant avoir plusieurs candidats à sa suite. »

Bloc de genĂšse embranchements

Le code de novembre 2008 (fourni par Satoshi à Hal Finney, Ray Dillinger et James A. Donald notamment) contenait déjà une premiÚre version du bloc de genÚse, horodatée au 10 septembre 2008, 18:02:08 UTC. Néanmoins, un nouveau bloc a été construit en janvier 2009 spécialement pour le lancement du prototype.

Le bloc de genÚse que nous connaissons est ainsi présent dans la version 0.1 du logiciel de Bitcoin, publiée le 8 janvier 2009. Un commentaire au sein du code le décrit :

Genesis Block:
GetHash()      = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
txNew.vin[0].scriptSig     = 486604799 4 0x736B6E616220726F662074756F6C69616220646E6F63657320666F206B6E697262206E6F20726F6C6C65636E61684320393030322F6E614A2F33302073656D695420656854
txNew.vout[0].nValue       = 5000000000
txNew.vout[0].scriptPubKey = 0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704 OP_CHECKSIG
block.nVersion = 1
block.nTime    = 1231006505
block.nBits    = 0x1d00ffff
block.nNonce   = 2083236893
CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
  CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
    CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
    CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
  vMerkleTree: 4a5e1e

Ce bloc pÚse trÚs exactement 285 octets. Le voici représenté en hexadécimal brut :

0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000

Le bloc de genĂšse est composĂ© d'un entĂȘte de 80 octets et d'une unique transaction, la transaction de rĂ©compense. Son identifiant (le rĂ©sultat du hachage de l'entĂȘte par double SHA-256) est 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f. Les zĂ©ros qui dĂ©butent cet identifiant indiquent qu'une preuve de travail a Ă©tĂ© rĂ©alisĂ©e.

Notez que les différentes informations contenues dans le bloc sont souvent transmises avec un ordre des octets inverse (dit « little-endian » ou « petit-boutiste »). Nous donnerons ici les informations dans l'ordre ordinaire (qu'on appelle « big-endian » ou « gros-boutiste ») à l'aide du préfixe 0x.

 

L'entĂȘte

Comme tous les blocs dans le protocole, le bloc de genĂšse possĂšde un entĂȘte donnant 6 informations diffĂ©rentes. Voici cet entĂȘte en dĂ©tail :

01000000 - version
0000000000000000000000000000000000000000000000000000000000000000 - identifiant du bloc précédent
3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a - racine de Merkle
29ab5f49 - horodatage
ffff001d - valeur cible
1dac2b7c - nonce

 

La version du bloc

0x00000001

La version du bloc indique l'ensemble des rÚgles respectées par le bloc. Cette version 1 indiquait un respect des rÚgles du protocole originel défini par Satoshi. D'autres versions ont été introduites plus tard : la version 2 pour l'application du BIP-34 en mars 2013, la version 3 pour l'activation du BIP-66 en juillet 2015, et la version 4 pour celle du BIP-65 en décembre 2015. Le champ de version a par la suite été utilisé pour que les mineurs signalent leur intention d'appliquer un soft fork (conformément au BIP-9).

 

L'identifiant du bloc précédent

0x0000000000000000000000000000000000000000000000000000000000000000

Puisqu'il s'agit du premier bloc de la chaßne, le champ utilisé pour donner l'identifiant du bloc précédent est fixé à zéro par convention.

 

La racine de Merkle

0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b

La racine de Merkle correspond Ă  l'empreinte finale de l'arbre de Merkle des transactions. Puisqu'il n'y a qu'une seule transaction dans le bloc de genĂšse, il s'agit simplement de l'identifiant de cette transaction.

 

L'horodatage

0x495fab29

L'horodatage indique la date et l'heure à laquelle le mineur a trouvé le bloc. Il est donné par le nombre de secondes depuis le 1er janvier 1970 00:00:00 UTC. Ici, le nombre correspond à 1 231 006 505 secondes : le bloc de genÚse est donc horodaté au 3 janvier 2009 à 18:15:05 UTC.

Toutefois, il ne faut pas croire que cet horodatage indique l'instant précis du lancement effectif du réseau. Ce dernier a en effet été réalisé un peu plus tardivement : le bloc 1 est ainsi horodaté au 9 janvier 2009 à 02:54:25 UTC, soit 5 jours, 8 heures, 39 minutes et 20 secondes plus tard.

 

La valeur cible

0x1d00ffff

La valeur cible est la valeur minimale que l'identifiant du bloc peut avoir pour que ce dernier constitue une solution au problÚme de preuve de travail de Bitcoin. Moins cette valeur cible est haute, plus il est facile de trouver une solution et de miner un bloc. Elle est donc inversement proportionnelle à la difficulté du réseau.

La valeur cible du bloc de genĂšse correspond Ă  la plus grande valeur possible dans Bitcoin, ou la difficultĂ© la plus basse pour le dire autrement. Elle est encodĂ©e comme un nombre flottant oĂč le premier octet reprĂ©sente un exposant et oĂč la mantisse est dĂ©terminĂ©e par les 3 octets suivants. Ici, elle est Ă©gale Ă  0x00ffff × 256(0x1d - 3) c'est-Ă -dire 0x00000000ffff0000000000000000000000000000000000000000000000000000.

La preuve de travail du bloc est valide car l'identifiant est effectivement (largement) inférieur à cette valeur cible :

0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f ≀
0x00000000ffff0000000000000000000000000000000000000000000000000000

On définit la difficulté du minage comme l'inverse de la valeur cible multipliée par la valeur cible de base :

difficulté = cible_de_base / cible

La difficulté du bloc de genÚse est donc de 1.

AprÚs le lancement du réseau, la difficulté a stagné à ce niveau pendant prÚs d'un an avant d'enfin commencer à augmenter le 30 décembre 2009.

Au sein du code, le champ de la valeur cible est appelĂ© nBits, car ce paramĂštre dĂ©signait (avant que Satoshi n'en modifie le sens) le nombre de bits de tĂȘte Ă  mettre Ă  zĂ©ro pour que la solution soit valide. Dans la version de novembre 2008, le champ Ă©tait en effet fixĂ© Ă  20, ce qui correspondait Ă  5 zĂ©ros de tĂȘte en reprĂ©sentation hexadĂ©cimale, soit une valeur cible de 0x00000fffff....

 

Le nonce

0x7c2bac1d

Le nonce (mot qui provient de l'expression anglaise « for the nonce » signifiant « pour la circonstance, pour l'occasion ») désigne le nombre que le mineur fait varier pour calculer la preuve de travail. Il n'a aucune signification particuliÚre, étant déterminé au hasard.

 

L'ensemble des transactions

L'ensemble des transactions forme la seconde partie du bloc. Le voici en détail :

01 - nombre de transactions
01000000 - version
01 - nombre d'entrées
0000000000000000000000000000000000000000000000000000000000000000 - identifiant de transaction de la sortie précédente
ffffffff - index de la sortie précédente
4d - taille du script de déverrouillage
04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 - script de déverrouillage
ffffffff - numéro de séquence
01 - nombre de sorties
00f2052a01000000 - montant
43 - taille du script de verrouillage
4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac - script de verrouillage
00000000 - temps de verrouillage

 

Le nombre de transactions

0x01

Le bloc contient une seule transaction : la transaction de rĂ©compense qui rĂ©munĂšre le mineur (ici Satoshi) pour la preuve de travail rĂ©alisĂ©e. Le bloc ne comporte ainsi aucune autre transaction, tout comme les blocs minĂ©s dans les premiers jours. Il a fallu attendre le 12 janvier et le bloc 170 pour voir la premiĂšre transaction effective du rĂ©seau ĂȘtre confirmĂ©e : celle entre Satoshi et Hal Finney.

Toutes les données restantes du bloc appartiennent à la transaction de récompense.

 

La version de la transaction

0x00000001

La version de la transaction indique comment celle-ci doit ĂȘtre interprĂ©tĂ©e. Elle est fixĂ©e Ă  1 conformĂ©ment au protocole initial. Aujourd'hui, il existe Ă©galement une version 2 qui autorise l'usage des verrous temporels relatifs (voir BIP-68).

 

Le nombre d'entrées de la transaction

0x01

La transaction contient une seule entrée : la base de piÚce, ou coinbase, qui permet de créer ex nihilo les nouveaux bitcoins et de recueillir les frais de transaction. Cette entrée est donc purement superflue, mais permet de conserver une certaine cohérence dans l'implémentation logicielle. Elle est constituée des champs identifiant la sortie précédente (théorique), d'un script de déverrouillage et d'un numéro de séquence.

 

L'identifiant de transaction de la sortie précédente

0x0000000000000000000000000000000000000000000000000000000000000000

Ce champ est utilisé dans les transactions pour dire à quel sortie transactionnelle correspond une entrée, en donnant l'identifiant de la transaction qui a créé la sortie. Puisqu'il s'agit d'une transaction de récompense qui ne fait pas référence à une sortie transactionnelle précédente, ce champ est fixé à 0 par convention.

 

L'index de la sortie précédente

0xffffffff

Ce champ est utilisé dans les transactions pour dire à quel sortie transactionnelle correspond une entrée, en donnant la position de la sortie dans la transaction qui l'a créée. Puisqu'il s'agit d'une transaction de récompense qui ne fait pas référence à une sortie transactionnelle précédente, ce champ est fixé au maximum par convention.

 

Le script de déverrouillage (scriptSig)

0x04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73

Dans Bitcoin, le script de déverouillage est combiné à un script de verrouillage précédent et détermine la validité d'une dépense. Il contient généralement les signatures nécessaires à la dépense d'une piÚce et est par conséquent souvent appelé scriptSig. Dans le cas d'une transaction de récompense, l'entrée ne fait référence à aucune sortie transactionnelle existante et ce script peut donc contenir des données arbitraires.

Ici, le script se présente de la maniÚre suivante :

<valeur cible> <nonce supplémentaire> <chaßne de caractÚres>

Ainsi, il est constitué de trois informations :

  • Tout d'abord, la valeur cible du bloc, donnĂ©e en sens inverse, conformĂ©ment Ă  la façon dont elle est reprĂ©sentĂ©e dans le code : 0xffff001d
  • Ensuite, un nonce supplĂ©mentaire (0x04), ou extra nonce, mis en place par Satoshi dans le code du logiciel. Le nonce supplĂ©mentaire du bloc de genĂšse a pour valeur 4, et ceux des blocs suivants sont croissants : celui du bloc 1 est aussi Ă©gal Ă  4, celui du bloc 2 Ă  11, celui du bloc 3 Ă  14, etc. La variation de ce nonce supplĂ©mentaire au sein des blocs a permis de mettre en Ă©vidence un motif particulier, appelĂ© le « Patoshi Pattern », qui dĂ©termine prĂ©cisĂ©ment les blocs minĂ©s par Satoshi et qui dĂ©montre que sa fortune s'Ă©lĂšve Ă  plus de 1 125 150 bitcoins.
  • Enfin, une chaĂźne de caractĂšres aujourd'hui emblĂ©matique, encodĂ©e en UTF-8, qui est :
    The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

    Cette courte phrase correspond à la une du Times du 3 janvier 2009, qui annonçait que le ministre des finances du Royaume-Uni était sur le point de renflouer les banques pour la deuxiÚme fois. Le Times étant un quotidien anglais, cela a mené à des spéculations quant à l'identité de Satoshi, qui écrivait également dans un anglais britannique.

The Times 3 janvier 2009 chancelier ministre des finances renflouement des banques

Cette phrase présente dans le script de la transaction de récompense possÚde un rÎle double :

  • PremiĂšrement, elle prohibe l'antidatage : sa prĂ©sence dans le premier bloc, Ă  partir duquel toute la chaĂźne est construite, prouve que le rĂ©seau de Bitcoin n'a pas Ă©tĂ© lancĂ© avant le 3 janvier 2009. Cependant, cela ne veut pas dire que le bloc de genĂšse date bien du 3 janvier : en effet, il a pu ĂȘtre construit entre le 3 janvier (date de l'horodatage dĂ©clarĂ©) et le 8 janvier (date de publication du code).
  • DeuxiĂšmement, elle indique symboliquement ce Ă  quoi Bitcoin s'oppose en faisant rĂ©fĂ©rence au contexte monĂ©taire et financier de l'Ă©poque : le renflouement des grandes banques d'investissement par les États et par les banques centrales suite Ă  la crise financiĂšre de 2007-2008. Il est d'ailleurs possible que Satoshi ait choisi cette date prĂ©cisĂ©ment pour sĂ©lectionner cette une.

Ce script de la base de piĂšce est encore utilisĂ© de nos jours par les mineurs pour de multiples raisons. À l'instar de Satoshi, ils peuvent inclure des informations arbitraires dans le bloc et faire passer un message public au monde. Ç'a Ă©tĂ© le cas de la coopĂ©rative F2Pool qui, le 11 mai 2020, a Ă©voquĂ© l'injection de liquiditĂ© de la RĂ©serve FĂ©dĂ©rale en rĂ©action Ă  la crise du covid-19 au sein du bloc 629 999 (le bloc prĂ©cĂ©dant le troisiĂšme halving) :

NYTimes 09/Apr/2020 With $2.3T Injection, Fed's Plan Far Exceeds 2008 Rescue

Les regroupements de mineurs peuvent Ă©galement s'identifier en indiquant leur nom, ce qui permet de juger de la dĂ©centralisation du rĂ©seau, mĂȘme si cette pratique reste purement dĂ©clarative.

Enfin, les mineurs se servent encore de ce champ pour faire varier un nonce supplĂ©mentaire, le nonce de l'entĂȘte ne permettant plus depuis 2012 d'essayer suffisamment de possibilitĂ©s par rapport Ă  la difficultĂ© Ă©levĂ©e du rĂ©seau.

 

Le numéro de séquence (nSequence)

0xffffffff

Le numéro de séquence de l'entrée est maximal, ce qui fait que la transaction est considérée comme finale.

À l'origine, le numĂ©ro de sĂ©quence dans les entrĂ©es avait pour objectif de permettre les Ă©changes rĂ©pĂ©tĂ©s au sein de contrats, tels que les canaux de paiement. Ce modĂšle imaginĂ© par Satoshi n'Ă©tait pas suffisamment sĂ©curisĂ© et a par consĂ©quent Ă©tĂ© abandonnĂ©. Cependant, la rĂšgle de finalitĂ©, qui fait que la transaction est considĂ©rĂ©e comme finale (pas de temps de verrouillage) si les numĂ©ros de sĂ©quence de toutes les entrĂ©es sont maximaux (comme ici), a Ă©tĂ© conservĂ©e.

Aujourd'hui, ce numéro de séquence est utilisé pour déterminer le temps de verrouillage relatif d'une entrée et pour signaler Replace-by-Fee.

 

Le nombre de sorties de la transaction

0x01

La transaction contient une seule sortie, celle créditant Satoshi de son revenu de minage. Cette sortie est constituée d'un montant et d'un script de verrouillage.

 

Le montant

0x000000012a05f200

Le montant de la sortie est donné dans la plus petite unité du systÚme, unité qu'on a appelé le satoshi en hommage au créateur de Bitcoin. Ce montant correspond ici à 5 milliards de satoshis, soit 50 bitcoins. Il s'agit de la limite maximale du taux de création monétaire de l'époque (50 bitcoins par bloc).

 

Le script de verrouillage (scriptPubKey)

0x4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac

Le scrpt de verrouillage est l'ensemble des conditions à fournir pour pouvoir dépenser la piÚce correspondante. Ici, il possÚde la forme :

<clé publique> CHECKSIG

oĂč la clĂ© publique est 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f. Il s'agit donc d'une sortie transactionnelle de type Pay to Public Key (P2PK), un schĂ©ma utilisĂ© dans les dĂ©buts de Bitcoin, qui demande une simple signature pour dĂ©bloquer les fonds. Cela explique le nom donnĂ© couramment Ă  ce script : scriptPubKey.

Bien souvent, cette sortie est rĂ©trospectivement attribuĂ©e Ă  l'adresse 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, obtenue en prenant l'empreinte de la clĂ© publique. Cela est nĂ©anmoins purement esthĂ©tique car c'est bien la clĂ© publique elle-mĂȘme qui a servi Ă  recevoir les bitcoins, pas l'adresse.

Fait intĂ©ressant : cette sortie transactionnelle n'est pas considĂ©rĂ©e comme dĂ©pensable par le protocole en raison de la façon dont le bloc de genĂšse est exprimĂ© dans le code. Cette erreur de programmation pourrait ĂȘtre corrigĂ©e par un hard fork, mais cela ne serait ni utile (Satoshi n'a pas touchĂ© Ă  ses bitcoins depuis qu'il a disparu), ni mĂȘme souhaitable (incompatibilitĂ© du protocole). Les 50 premiers bitcoins créés sont donc probablement brĂ»lĂ©s Ă  tout jamais.

 

Le temps de verrouillage (nLocktime)

0x00000000

Le temps de verrouillage (donnĂ©e globale appartenant Ă  la transaction) dĂ©termine la date Ă  partir de laquelle cette transaction pourra ĂȘtre confirmĂ©e. En Ă©tant fixĂ© Ă  zĂ©ro, celui-ci est dĂ©sactivĂ©.

 

Les autres chaĂźnes

Si le bloc de genĂšse constitue un fondement du protocole Bitcoin, il sert Ă©galement de base aux diffĂ©rentes branches minoritaires de Bitcoin qui possĂšdent le mĂȘme historique jusqu'Ă  leurs scissions respectives : Bitcoin Cash, Bitcoin SV, Bitcoin Gold ou encore eCash/XEC. D'autres protocoles possĂšdent leur propre bloc de genĂšse et certains d'entre eux ont Ă©galement incorporĂ© la une d'un journal ou d'un magazine pour garantir que le lancement du rĂ©seau ne s'est pas rĂ©alisĂ© avant la date donnĂ©e. Ainsi, le bloc de genĂšse de Litecoin (datant du 7 octobre 2011) contient la phrase suivante :

NY Times 05/Oct/2011 Steve Jobs, Apple’s Visionary, Dies at 56

Celui de Dash (datant du 19 janvier 2014) inclut la une suivante :

Wired 09/Jan/2014 The Grand Experiment Goes Live: Overstock.com Is Now Accepting Bitcoins

 


Source

Bitcoin Wiki, Genesis block

☐ ☆ ✇ Comprendre la cryptomonnaie

Pay to Script Hash (P2SH) pleinement expliqué

By: Ludovic Lars —

Bitcoin est un systĂšme de monnaie programmable et constitue la premiĂšre implĂ©mentation de ce qu’on appelle les smart contracts ou contrats autonomes. À chaque transaction, des scripts sont exĂ©cutĂ©s pour vĂ©rifier que les fonds dĂ©pensĂ©s remplissent les conditions voulues par l’utilisateur prĂ©cĂ©dent. De nombreuses conditions sont peuvent ĂȘtre mises en place (divulgation d’un secret, verrou temporel, multisignature), mĂȘme si le plus souvent les fonds sont simplement dĂ©pensĂ©s grĂące Ă  la signature d’un utilisateur unique.

Bitcoin repose sur un modĂšle de piĂšces (UTXO), oĂč chaque piĂšce est verrouillĂ©e par un script incomplet Ă©crit sur la chaĂźne. Lors d’une transaction, les piĂšces de bitcoin en entrĂ©e sont dĂ©verrouillĂ©es par un script complĂ©mentaire. Puis, de nouvelles piĂšces sont créées Ă  partir des anciennes grĂące Ă  de naouveaux scripts de verrouillage, ce qui perpĂ©tue le caractĂšre programmable du systĂšme.

Transaction : UTXO et scripts

Lorsque j’ai dĂ©couvert comment les transactions fonctionnaient et ce qu’elles permettaient, j’ai Ă©tĂ© fascinĂ© par l’élĂ©gance de cette solution. NĂ©anmoins, en approfondissant ma recherche, j’ai Ă©tĂ© perturbĂ© par l’existence d’une chose qui diffĂ©rait des autres, une exception : le schĂ©ma Pay to Script Hash, qu’on abrĂšge couramment en P2SH.

 

Les différents schémas : P2PK, P2PKH, P2MS et P2SH

Des scripts sont impliquĂ©s dans chaque transaction du rĂ©seau Bitcoin. Le langage de script est constituĂ© de plus d’une centaine de codes opĂ©ration, de sorte qu’un large Ă©ventail de possibilitĂ©s s’offre Ă  nous vis-Ă -vis des conditions qu’on souhaite imposer.

Cependant, dans le but d’amĂ©liorer la communication entre les diffĂ©rentes applications et de limiter le risque de perte, certains standards de scripts, ou schĂ©mas, ont Ă©mergĂ©.

 

P2PK : Pay to Public Key

Le premier schĂ©ma s’appelle Pay to Public Key (P2PK), qu’on peut traduire littĂ©ralement en français par « payer Ă  la clĂ© publique ». Il s’agit d’envoyer des fonds vers la clĂ© publique (public key) d’un utilisateur, que lui seul pourrait dĂ©penser en signant avec sa clĂ© privĂ©e. Le script de verrouillage (parfois appelĂ© scriptPubKey) permettant ce type d’envoi est :

<clé publique> CHECKSIG

Au moment de la dĂ©pense, l’utilisateur doit utiliser un script de dĂ©verrouillage (parfois appelĂ© scriptSig) contenant simplement sa signature :

<signature>

Pour l’expliquer en français, l’exĂ©cution successive de ces deux scripts permet de vĂ©rifier que la signature fournie par l’utilisateur correspond Ă  sa clĂ© publique, auquel cas elle est valide.

Si le schĂ©ma P2PK Ă©tait utilisĂ© dans les premiers jours de Bitcoin, notamment pour recevoir les gains de minage, il est aujourd’hui tombĂ© en dĂ©suĂ©tude au profit d’un schĂ©ma rival : P2PKH.

 

P2PKH : Pay to Public Key Hash

Pay to Public Key Hash (P2PKH), littĂ©ralement « payer Ă  l’empreinte de la clĂ© publique », est le deuxiĂšme type de schĂ©ma apparu dans Bitcoin dĂšs le dĂ©but, grĂące Ă  la conception de Satoshi Nakamoto. Ce schĂ©ma permet non pas de rĂ©aliser un paiement vers une clĂ© publique, mais vers l’empreinte d’une clĂ© publique, et de faire en sorte que le systĂšme de script de Bitcoin vĂ©rifie quand mĂȘme que la signature correspond Ă  la clĂ© publique lors de la dĂ©pense des fonds. L’empreinte de la clĂ© publique est alors considĂ©rĂ©e comme la donnĂ©e essentielle de l’adresse, qui dans ce cas commence toujours par un 1, comme par exemple 1DzxhUphLFq8FZPGbFgLF8Ssz3hMX9EuMp.

Le script de verrouillage ici est :

DUP HASH160 <empreinte de la clé publique> EQUALVERIFY CHECKSIG

Et le script de déverrouillage est :

<signature> <clé publique>

Pour le dire en français, l’exĂ©cution des deux scripts permet de :

  • VĂ©rifier que le passage de la clĂ© publique fournie par la fonction de hachage HASH160 (l’empreinte) est Ă©gale Ă  l’empreinte qui est spĂ©cifiĂ©e dans le script ;
  • VĂ©rifier la signature fournie correspond Ă  la clĂ© publique fournie.

L’avantage de ce schĂ©ma est qu’il permet d’avoir des adresses plus courtes (l’information Ă  encoder n’est que de 20 octets au lieu de 65 octets pour une clĂ© publique), chose pour laquelle Satoshi Nakamoto l’a implĂ©mentĂ©. De plus, en ne rĂ©vĂ©lant la clĂ© publique qu’au moment de la dĂ©pense, ce schĂ©ma accroĂźt aussi la sĂ©curitĂ© contre la menace (trĂšs hypothĂ©tique) de l’ordinateur quantique.

 

P2MS : Pay To MultiSig

Le schĂ©ma Pay To MultiSig (P2SH), littĂ©ralement « payer Ă  la multisignature », s’est popularisĂ© dĂ©but 2012. Il s’agit essentiellement d’un schĂ©ma qui permet d’exiger la signature de M personnes faisant partie d’un groupe de N participants, via le script de verrouillage :

M <clé publique 1> ... <clé publique N> N CHECKMULTISIG

Le script de déverrouillage correspondant est :

<leurre (0)> <signature 1> ... <signature M>

Pour plus d’informations sur la multisignature, je vous invite à lire mon article sur les adresses multisignatures.

C’est ce schĂ©ma, particuliĂšrement exigeant au niveau de la mise en place, qui a motivĂ© la crĂ©ation du schĂ©ma P2SH.

 

P2SH

Pay to Script Hash (P2SH), littĂ©ralement « payer Ă  l’empreinte du script ». Ce schĂ©ma reprend l’idĂ©e derriĂšre P2PKH, Ă  la seule diffĂ©rence que la donnĂ©e hachĂ©e ici n’est pas une clĂ© publique, mais le script lui-mĂȘme ! Le script en question est alors appelĂ© script de rĂšglement (redeem script) et son empreinte est la donnĂ©e constituante de l’adresse, cette derniĂšre commençant toujours par un 3 Ă  l’instar de 3DyDCGSC59yYY46dnRH7Vw1iKbV8zeW36q.

Ce type de schĂ©ma a pour avantage de permettre Ă  un utilisateur d’y inclure n’importe quel script et de pouvoir recevoir des fonds de la quasi-totalitĂ© des portefeuilles existants. Le fardeau de la construction et du dĂ©verrouillage du script revient donc au dĂ©tenteur de l’adresse, non Ă  celui qui envoie les fonds, ce qui simplifie grandement la communication.

Le script de verrouillage pour le schéma P2SH est :

HASH160 <empreinte du script de rĂšglement> EQUAL

Et le script de déverrouillage est un script de la forme :

[éléments de déverrouillage] <script de rÚglement>

En français, cela veut dire que le systĂšme de script originel de Bitcoin va vĂ©rifier que le hachage du script de rĂšglement est Ă©gal Ă  l’empreinte inscrite dans le script. Et c’est tout.

Comment ça, « c’est tout » ? Le script de rĂšglement n’est pas exĂ©cutĂ© ? N’importe qui connaissant le script pourrait dĂ©penser les bitcoins ?

Comme on va le voir, ce n’est pas le cas et le script de rĂšglement est bien exĂ©cutĂ©, bien que ce ne soit pas indiquĂ© explicitement.

 

RĂšgles et exceptions : OP_EVAL et P2SH

Dans la vie, il y a souvent une maniĂšre Ă©lĂ©gante de faire les choses, qui demande parfois plus d’efforts initiaux mais qui prĂ©serve l’ordre et la simplicitĂ©, et une maniĂšre grossiĂšre, plus facile Ă  implĂ©menter mais qui complique les choses et crĂ©e le dĂ©sordre.

Ainsi, dans le systĂšme lĂ©gislatif d’un pays, il est plus facile de crĂ©er et de faire voter de nouvelles lois execeptionnelles que de rĂ©former en profondeur le systĂšme. Cette tendance Ă  l’inflation lĂ©gislative fait qu’on se retrouve avec des pays comme la France, qui cumule 73 codes juridiques en vigueur et qui vit de 214 taxes et impĂŽts ainsi que d’une myriade de cotisations sociales.

En informatique comme en droit, l’ajout de nouvelles exceptions crĂ©e de la dette technique, rendant le systĂšme plus complexe Ă  apprĂ©hender, plus difficile Ă  maintenir et plus susceptible de ne pas fonctionner comme attendu. P2SH fait partie de ces exceptions.

 

Le code opération mort-né : OP_EVAL

L’idĂ©e d’implĂ©menter un schĂ©ma de script qui utilise l’empreinte d’un autre script comme identifiant est nĂ©e en 2011, afin de reproduire ce qui est rĂ©alisĂ© dans la schĂ©ma P2PKH. Toutefois, cette idĂ©e n’a pas Ă©tĂ© dĂ©veloppĂ©e initialement comme P2SH, mais Ă  travers OP_EVAL, un nouveau code opĂ©ration permettant l’exĂ©cution rĂ©cursive d’un script Ă  l’intĂ©rieur d’un autre script.

L’ajout de ce code opĂ©ration, proposĂ© le 18 octobre 2011 par Gavin Andresen, devait ĂȘtre implĂ©mentĂ© comme un soft fork, via le remplacement de l’instruction nulle OP_NOP1.

Un schéma standard aurait également été ajouté. Le script de verrouillage imaginé pour ce schéma était :

DUP HASH160 <empreinte du script de rĂšglement> EQUALVERIFY EVAL

Le script de déverrouillage correspondant était :

[éléments de déverrouillage] <script de rÚglement>

Pour le dire en français, l’exĂ©cution des deux scripts cĂŽte Ă  cĂŽte aurait permis de :

  • VĂ©rifier que le hachage du script de rĂšglement soit Ă©gal Ă  l’empreinte spĂ©cifiĂ©e dans le script de verrouillage ;
  • VĂ©rifier que l’exĂ©cution du script de rĂšglement combinĂ© aux Ă©lĂ©ments de dĂ©verrouillage soit bien valide.

NĂ©anmoins cette solution n’a pas Ă©tĂ© acceptĂ©e, celle-ci ayant Ă©tĂ© jugĂ©e trop dangereuse au niveau du pouvoir de rĂ©cursion. À la place c’est un autre modĂšle, plus restrictif, qui a prĂ©valu : le schĂ©ma P2SH.

 

Comment fonctionne P2SH ?

P2SH a Ă©tĂ© proposĂ© le 3 janvier 2012 comme alternative Ă  OP_EVAL et Ă  d’autres propositions. Il a Ă©tĂ© intĂ©grĂ© au protocole Bitcoin le 1er avril sous la forme d’un soft fork activĂ© par les mineurs.

L’exĂ©cution de ce type de script fonctionne exactement comme le schĂ©ma liĂ© Ă  OP_EVAL, Ă  l’exception qu’une partie du script n’est pas explicitement indiquĂ©e. D’une part, la vĂ©rification de la correspondance entre l’empreinte indiquĂ©e et le script de rĂšglement est bien rĂ©alisĂ©e par le script de verrouillage. En effet, celui-ci devient (comme on l’a vu) :

DUP HASH160 <empreinte du script de rĂšglement> EQUALVERIFY EVAL

D’autre part, l’évaluation du script de rĂšglement est effectuĂ©e implicitement grĂące Ă  une exception ajoutĂ©e au code source. DĂšs que les nƓuds du rĂ©seau reconnaissent le schĂ©ma, ils l’interprĂštent diffĂ©remment. Ainsi dans Bitcoin Core, on peut observer la condition suivante au sein de la fonction VerifyScript de l’interprĂ©teur :

// Additional validation for spend-to-script-hash transactions:
if ((flags & SCRIPT_VERIFY_P2SH) && scriptPubKey.IsPayToScriptHash())
{
    ...
}

Cette exception permet l’exĂ©cution du script de rĂšglement aprĂšs l’exĂ©cution des deux scripts (dĂ©verrouillage et verrouillage). D’oĂč le fait qu’on indique les Ă©lĂ©ments de dĂ©verrouillage avant de pousser le script de rĂšglement dans le script de dĂ©verrouillage :

[éléments de déverrouillage] <script de rÚglement>

Si cette solution est pratique, elle crĂ©e une complexitĂ© et n’est pas trĂšs Ă©lĂ©gante. Comme l’a dit Gavin Andresen dans l’explication du BIP-16 :

ReconnaĂźtre une forme « spĂ©ciale » de scriptPubKey et rĂ©aliser une validation supplĂ©mentaire quand elle est dĂ©tectĂ©e, c’est laid. Cependant, l’avis gĂ©nĂ©ral est que les alternatives sont soit encore plus laides, soit plus complexes Ă  implĂ©menter, et/ou Ă©tendent le pouvoir du langage d’expression de maniĂšre dangereuse.

L’implĂ©mentation initiale de P2SH a donc compliquĂ© les choses. Mais cela ne s’est pas arrĂȘtĂ© pas lĂ , car l’activation de SegWit en 2017 a ajoutĂ© de la complexitĂ© au modĂšle.

 

SegWit, P2SH-P2WPKH et P2SH-P2WSH

En aoĂ»t 2017, la mise Ă  niveau SegWit a Ă©tĂ© intĂ©grĂ©e Ă  Bitcoin (BTC) sous la forme d’un soft fork. Celle-ci avait pour objectif de corriger la mallĂ©abilitĂ© des transactions, d’augmenter la capacitĂ© transactionnelle, d’amĂ©liorer la vĂ©rification des signatures et de faciliter les modifications futures du protocole.

Pour ce faire, SegWit implĂ©mentait un nouveau modĂšle de transaction, oĂč les signatures sont situĂ©es dans une partie sĂ©parĂ©e de la transaction appelĂ©e le tĂ©moin (d’oĂč le nom de Segregated Witness). Afin d’implĂ©menter ce changement comme un soft fork, il a Ă©tĂ© nĂ©cessaire d’introduire un moyen d’accĂ©der au nouveau type de transaction sans briser la compatibilitĂ© avec les anciennes adresses.

C’est ainsi que 4 nouveaux types d’adresse ont vu le jour : deux nouveaux types « natifs », P2WPKH (Pay to Witness Public Key Hash) et P2WSH (Pay to Witness Script Hash), incompatibles avec portefeuilles ne supportant pas SegWit ; et deux types « imbriquĂ©s » associĂ©s, P2SH-P2WPKH et P2SH-P2WSH, qui permettent la transition grĂące Ă  l’emploi de P2SH.

Pour ces deux derniers types d’adresse, le schĂ©ma utilisĂ© est P2SH avec un script de rĂšglement de la forme :

<version SegWit> <empreinte>

Dans la version 0 de SegWit (la seule qui existe pour le moment), l’empreinte est affectĂ©e Ă  une clĂ© publique ou Ă  un script selon sa longueur : si elle est de 20 octets, elle est interprĂ©tĂ©e comme une empreinte de clĂ© publique ; si elle est de 32 octets, elle est interprĂ©tĂ©e comme une empreinte de script. Cette empreinte est aussi appelĂ©e « programme ».

Ce script est anyone-can-spend puisque le script de rÚglement suffit à déverrouiller la piÚce :

<script de rĂšglement>

Comme pour P2SH, la connaissance du script de rÚglement ne suffit pourtant pas à dépenser les fonds, car une nouvelle exception est ajoutée au code de façon à ce que les éléments de déverrouillage soient transférées dans le témoin. Dans Bitcoin Core, cette exception se traduit par :

// P2SH witness program
if (flags & SCRIPT_VERIFY_WITNESS) {
    ...
}

SegWit a ainsi apportĂ© un nouveau lot de complexitĂ©, et notamment un deuxiĂšme niveau de rĂ©cursion. Dans le cas du schĂ©ma P2SH-P2WSH, on a en effet une sĂ©rie de 3 scripts imbriquĂ©s. Le premier script est le script de dĂ©verrouillage que l’on a prĂ©sentĂ© au dĂ©but de cet article :

HASH160 <empreinte du script de rĂšglement> EQUAL

Le deuxiÚme script est le script de rÚglement spécifique à P2SH :

<version SegWit> <empreinte du script SegWit>

Le troisiĂšme est le script SegWit, indiquĂ© dans le tĂ©moin avec les Ă©lĂ©ments de dĂ©verrouillage au moment de la dĂ©pense des fonds. Par exemple, il peut s’agir d’un script de multisignature comme vu prĂ©cĂ©demment :

2 <clé publique 1> <clé publique 2> 2 CHECKMULTISIG

qu’on complĂšte avec les Ă©lĂ©ments :

0 <signature 1> <signature 2>

 

Conclusion

Pay to Script Hash (P2SH) est donc une maniĂšre imparfaite mais trĂšs pratique de permettre aux utilisateurs de payer Ă  l’empreinte d’un script, c’est-Ă -dire Ă  une adresse simple qui correspond Ă  un script. La rĂ©cursion qui intervient dans l’exĂ©cution du script aurait pu ĂȘtre implĂ©mentĂ©e de maniĂšre plus Ă©lĂ©gante grĂące au code opĂ©ration OP_EVAL, mais ce dernier a Ă©tĂ© jugĂ© trop dangereux par la communautĂ© pour voir le jour.

En ajoutant une nouvelle exception au protocole pour ĂȘtre exĂ©cutĂ©, le schĂ©ma P2SH reprĂ©sente un vecteur de complexitĂ©. De plus, cette complexitĂ© est dĂ©multipliĂ©e par l’incorporation de SegWit, qui ajoute de nouvelles exceptions rigides Ă  P2SH et qui finit de dĂ©tourner complĂštement le fonctionnement originel du systĂšme de script de Bitcoin.

NĂ©anmoins, ce qui est fait est fait, et aujourd’hui ces changements commencent Ă  ĂȘtre connus dans l’écosystĂšme, et on peut donc espĂ©rer que cette complexitĂ© n’impacte pas trop les nouveaux dĂ©veloppeurs. En particulier, le schĂ©ma P2SH est rĂ©pandu dans tout l’écosystĂšme, par les protocoles associĂ©s Ă  Bitcoin tel que Bitcoin Cash, Litecoin ou Dash. Seuls les dĂ©veloppeurs de Bitcoin SV ont se sont opposĂ©s Ă  cette particularitĂ© de maniĂšre catĂ©gorique et ont choisi de dĂ©sactiver P2SH en fĂ©vrier 2020.

Ce qu’il faut retenir de tout ceci, c’est que Bitcoin, au-delĂ  de son aspect technique, est un systĂšme Ă©conomique et social. Il Ă©volue selon les exigences de ses utilisateurs, si bien qu’il est impossible de le comprendre sans apprĂ©hender les dynamiques sous-jacentes qui ont Ă©tĂ© Ă  l’Ɠuvre dans le passĂ©.

 


Sources

Gavin Andresen, BIP-11 (M-of-N Standard Transactions), 18 octobre 2011.
Gavin Andresen, BIP-12 (OP_EVAL), 18 octobre 2011.
Gavin Andresen, BIP-16 (Pay to Script Hash), 3 janvier 2012.
Mike Hearn, On consensus and forks, 12 août 2015.
Eric Lombrozo, Johnson Lau et Pieter Wuille, BIP-141 (Segregated Witness), 21 décembre 2015.

❌