{"id":32,"date":"2026-06-25T13:20:04","date_gmt":"2026-06-25T13:20:04","guid":{"rendered":"https:\/\/hoge.gg\/fr\/inside-the-quiet-team-that-kept-geth-alive-through-three-forks\/"},"modified":"2026-06-25T13:20:04","modified_gmt":"2026-06-25T13:20:04","slug":"inside-the-quiet-team-that-kept-geth-alive-through-three-forks","status":"publish","type":"post","link":"https:\/\/hoge.gg\/fr\/inside-the-quiet-team-that-kept-geth-alive-through-three-forks\/","title":{"rendered":"Dans l\u2019ombre du petit groupe qui a maintenu Geth en vie \u00e0 travers trois forks"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Le 15 septembre 2022, \u00e0 06:42:42 UTC, le slot 4 700 013 a finalis\u00e9 la transition du r\u00e9seau principal d&#8217;Ethereum du proof-of-work vers le proof-of-stake. Le bloc a \u00e9t\u00e9 sealed par un validateur ex\u00e9cutant un client de consensus Lighthouse connect\u00e9 \u00e0 un client d&#8217;ex\u00e9cution <a href=\"https:\/\/geth.ethereum.org\" target=\"_blank\" rel=\"noopener\">Geth<\/a>. La contribution de Geth \u00e0 cet instant, cod\u00e9e en dur comme la valeur <code>TerminalTotalDifficulty<\/code> dans <code>params\/config.go<\/code>, est le produit d&#8217;environ neuf mois d&#8217;ing\u00e9nierie concentr\u00e9e par un groupe de moins de dix mainteneurs principaux. Ce m\u00eame groupe a, sur les dix-huit mois suivants, d\u00e9ploy\u00e9 le m\u00e9canisme de retrait dans Shanghai\/Capella (12 avril 2023, epoch 194 048) et le type de transaction transportant des blobs dans Dencun (13 mars 2024, epoch 269 568). Voici le r\u00e9cit de la mani\u00e8re dont un petit groupe d&#8217;ing\u00e9nieurs, profond\u00e9ment sp\u00e9cialis\u00e9 et invariablement poli, a maintenu le client d&#8217;ex\u00e9cution dominant d&#8217;Ethereum en vie \u00e0 travers trois des forks les plus cons\u00e9quents de l&#8217;histoire du r\u00e9seau.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Quand nous parlons de Geth, ce qui est en jeu est la centralisation d&#8217;une monoculture du layer d&#8217;ex\u00e9cution face \u00e0 la part croissante des clients alternatifs \u2014 Nethermind, Besu, Erigon et le plus r\u00e9cent Reth. La part de Geth dans les nodes d&#8217;ex\u00e9cution a chut\u00e9 d&#8217;un inqui\u00e9tant 84 % au milieu de 2022 \u00e0 environ 51 % au premier trimestre 2026, une diversification d\u00e9lib\u00e9r\u00e9e que les mainteneurs eux-m\u00eames ont encourag\u00e9e publiquement. Cette baisse ne s&#8217;est pas produite parce que le groupe s&#8217;est fatigu\u00e9. Elle s&#8217;est produite parce que le groupe, tout en d\u00e9ployant trois forks, a simultan\u00e9ment rendu le codebase assez lisible pour que les clients concurrents atteignent la parit\u00e9 fonctionnelle. L&#8217;historique qui suit est reconstruit \u00e0 partir du <a href=\"https:\/\/github.com\/ethereum\/go-ethereum\" target=\"_blank\" rel=\"noopener\">journal de commits de go-ethereum<\/a>, des <a href=\"https:\/\/github.com\/ethereum\/pm\" target=\"_blank\" rel=\"noopener\">notes de r\u00e9union ethereum\/pm<\/a> et d&#8217;une poign\u00e9e de conversations avec des ing\u00e9nieurs ayant particip\u00e9 aux appels all-core-devs.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Les mainteneurs, nomm\u00e9s<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Le mainteneur principal de Geth depuis environ 2016 est P\u00e9ter Szil\u00e1gyi, un ing\u00e9nieur hongrois dont le handle GitHub <code>karalabe<\/code> est attach\u00e9 \u00e0 une fraction significative des commits les plus architecturalement cons\u00e9quents du codebase. Son travail sur le protocole Snap sync, sur le format de stockage des witnesses qui sous-tend la future transition Verkle, et sur le flux fast-sync qui a rendu Geth utilisable sur du mat\u00e9riel consommateur serait chacun un point culminant de carri\u00e8re s&#8217;il \u00e9tait isol\u00e9. Avec lui pendant la majeure partie de cette p\u00e9riode ont travaill\u00e9 Felix Lange (<code>fjl<\/code>), responsable de la stack de r\u00e9seau devp2p et de l&#8217;interface JSON-RPC ; Marius van der Wijden (<code>MariusVanDerWijden<\/code>), qui supervise le travail sur les faults de consensus et le fuzzing et qui \u00e9tait la figure technique de l&#8217;impl\u00e9mentation de The Merge ; et Sina Mahmoodi (<code>s1na<\/code>), qui a port\u00e9 une grande partie de la sp\u00e9cification EVM et des discussions EOF ces derni\u00e8res ann\u00e9es.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">L&#8217;Ethereum Foundation finance directement le groupe via son programme de <a href=\"https:\/\/ethereum.foundation\/grants\" target=\"_blank\" rel=\"noopener\">bourses et salaires<\/a>, avec des niveaux de financement que la Foundation a p\u00e9riodiquement divulgu\u00e9s dans ses rapports annuels. Le groupe op\u00e8re avec un degr\u00e9 d&#8217;autonomie inhabituel : il n&#8217;y a pas de chef de projet formel, pas de document de roadmap, et pas de syst\u00e8me de ticketing public autre que la page des issues GitHub. La coordination se fait sur l&#8217;appel all-core-devs execution \u2014 \u00ab ACDE \u00bb \u2014 tenu tous les deux Thursdays \u00e0 14:00 UTC et dirig\u00e9 par Tim Beiko depuis 2021. Les notes de r\u00e9union pour chaque appel depuis 2017 sont publiques ; les lire dans l&#8217;ordre chronologique est l&#8217;\u00e9l\u00e9ment le plus proche d&#8217;un registre documentaire de la mani\u00e8re dont les clients d&#8217;Ethereum d\u00e9cident r\u00e9ellement de quoi construire.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Fork un : The Merge<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The Merge a exig\u00e9 de Geth quelque chose qu&#8217;aucun client d&#8217;ex\u00e9cution n&#8217;avait fait auparavant : ne plus choisir sa propre cha\u00eene canonique. La conception proof-of-stake a d\u00e9plac\u00e9 l&#8217;autorit\u00e9 de choix de fork enti\u00e8rement vers le layer de consensus ; le travail de Geth s&#8217;est r\u00e9duit \u00e0 recevoir les messages <code>fork_choice_updated<\/code> et <code>new_payload<\/code> via l&#8217;<a href=\"https:\/\/github.com\/ethereum\/execution-apis\/blob\/main\/src\/engine\/specification.md\" target=\"_blank\" rel=\"noopener\">Engine API<\/a> et \u00e0 ex\u00e9cuter ce qu&#8217;on lui disait. C&#8217;est structurellement plus simple que le mod\u00e8le pr\u00e9-Merge. C&#8217;est aussi une r\u00e9\u00e9criture architecturale profonde, car toute l&#8217;hypoth\u00e8se legacy que Geth g\u00e9rait sa propre t\u00eate canonique \u00e9tait tiss\u00e9e dans le codebase. Les pull requests d&#8217;impl\u00e9mentation de merge dans le d\u00e9p\u00f4t Geth sont un enseignement sur la mani\u00e8re de r\u00e9trofit un changement architectural fondamental sans briser les chemins de sync historiques.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-table\"><table><thead><tr><th>Fork<\/th><th>Activation<\/th><th>Slot \/ block<\/th><th>Release Geth<\/th><th>Lignes modifi\u00e9es<\/th><\/tr><\/thead><tbody><tr><td>The Merge (Bellatrix\/Paris)<\/td><td>15 Sep 2022<\/td><td>Block 15 537 394<\/td><td>v1.10.26<\/td><td>~22 000<\/td><\/tr><tr><td>Shanghai \/ Capella<\/td><td>12 Apr 2023<\/td><td>Epoch 194 048<\/td><td>v1.11.6<\/td><td>~8 400<\/td><\/tr><tr><td>Cancun \/ Deneb (Dencun)<\/td><td>13 Mar 2024<\/td><td>Epoch 269 568<\/td><td>v1.13.14<\/td><td>~14 200<\/td><\/tr><tr><td>Prague \/ Electra (Pectra)<\/td><td>7 May 2025<\/td><td>Epoch 364 032<\/td><td>v1.15.6<\/td><td>~18 900<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Release Geth li\u00e9e \u00e0 chaque fork de consensus. Source : github.com\/ethereum\/go-ethereum, ethereum.org.<\/figcaption><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Van der Wijden a assum\u00e9 le r\u00f4le public lors du d\u00e9ploiement du testnet de Merge, guidant la communaut\u00e9 \u00e0 travers les r\u00e9p\u00e9titions Goerli et Sepolia. Le travail interne a \u00e9t\u00e9 divis\u00e9 plus granular\u00e9ment : Szil\u00e1gyi a r\u00e9\u00e9crit le flux de sync pour accommoder les reorgs dirig\u00e9s par le consensus ; Lange a refactoris\u00e9 devp2p pour supporter le nouveau format de wire pour le type de transaction ; le cycle QA du groupe a dur\u00e9 neuf mois sur des shadow forks du mainnet, chacun r\u00e9p\u00e9tant la transition avec un d\u00e9bit de transaction complet. Les notes all-core-devs de mai \u00e0 ao\u00fbt 2022 se lisent comme une checklist calmement ex\u00e9cut\u00e9e pr\u00e9cis\u00e9ment parce que le travail derri\u00e8re elles avait \u00e9t\u00e9 si m\u00e9thodique.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Fork deux : Shanghai\/Capella et la file de retrait<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Shanghai \u00e9tait un fork plus petit sur le c\u00f4t\u00e9 execution mais politiquement charg\u00e9 : il a activ\u00e9 le m\u00e9canisme de retrait permettant aux ETH stak\u00e9s de quitter la cha\u00eene beacon pour la premi\u00e8re fois. Le travail d&#8217;impl\u00e9mentation de Geth \u00e9tait concentr\u00e9 dans le nouveau type de transaction <code>Withdrawal<\/code> et la mise \u00e0 jour correspondante du state-trie qui cr\u00e9ditait les ETH retir\u00e9s \u00e0 l&#8217;adresse de retrait du validateur. L&#8217;<a href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-4895\" target=\"_blank\" rel=\"noopener\">EIP-4895<\/a> pertinent d\u00e9finissait le format de wire ; l&#8217;impl\u00e9mentation de Geth \u00e9tait largement le travail de Mariano N\u00fa\u00f1ez et de l&#8217;impl\u00e9mentation parall\u00e8le du groupe Erigon, avec des tests cross-client via <a href=\"https:\/\/github.com\/ethereum\/hive\" target=\"_blank\" rel=\"noopener\">Hive<\/a> \u2014 le bac de test multi-clients qui est devenu la fondation de la validation pr\u00e9-d\u00e9ploiement de chaque fork.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ce qui a rendu Shanghai facile sur le c\u00f4t\u00e9 ing\u00e9nierie \u00e9tait la discipline \u00e9tablie lors de Merge : chaque changement devait \u00eatre d\u00e9ploy\u00e9 en lockstep avec au moins deux clients de consensus et passer la matrice de test Hive. Ce qui a rendu cela difficile sur le c\u00f4t\u00e9 social \u00e9tait la file de sortie imminente. Le groupe avait pass\u00e9 dix-huit mois \u00e0 \u00e9couter les validateurs s&#8217;inqui\u00e9ter d&#8217;un \u00ab retrait cliff \u00bb le premier jour. Le cliff r\u00e9el ne s&#8217;est pas produit \u2014 les sorties \u00e9taient g\u00e9r\u00e9es par la limite de churn du layer de consensus, pas par le layer d&#8217;ex\u00e9cution \u2014 mais la gestion des withdrawal-credentials de Geth devait \u00eatre d\u00e9fendable contre chaque cas limite plausible. Les notes de release de v1.11.6 contiennent une discussion discr\u00e8tement approfondie de ces cas limites qui vaut la lecture pour toute personne souhaitant voir comment les clients d&#8217;Ethereum expliquent leur travail entre eux.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Fork trois : Dencun et le type blob<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Dencun \u00e9tait le plus grand effort d&#8217;ing\u00e9nierie depuis Merge. L&#8217;EIP-4844 a introduit un type de transaction enti\u00e8rement nouveau, une nouvelle structure de donn\u00e9es (le blob), un nouveau sch\u00e9ma de engagement KZG, un nouveau chemin mempool et un nouveau sujet gossip pour la propagation des blobs. L&#8217;impl\u00e9mentation blob de Geth a requis simultan\u00e9ment l&#8217;expertise r\u00e9seau de Szil\u00e1gyi, le travail de format de wire de Lange et la v\u00e9rification EVM de Mahmoodi. Le groupe a \u00e9galement d\u00fb coordonner avec les clients de consensus sur le travail de sampling de data-availability que l&#8217;EIP-4844 \u00e9tait con\u00e7u pour permettre dans les futurs forks. Les pull requests Dencun ont \u00e9tal\u00e9 sur neuf mois et produit un corps de code qui, selon les mainteneurs publiquement, a doubl\u00e9 la complexit\u00e9 du mempool de Geth.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Le sch\u00e9ma de engagement KZG m\u00e9rite son propre paragraphe car il est l&#8217;unique pi\u00e8ce du codebase de Geth qui importe depuis <a href=\"https:\/\/github.com\/ethereum\/c-kzg-4844\" target=\"_blank\" rel=\"noopener\">c-kzg-4844<\/a>, une biblioth\u00e8que C maintenue par le groupe de cryptographie de l&#8217;Ethereum Foundation. Int\u00e9grer une d\u00e9pendance C dans un codebase Go est non-idiomatique ; les mainteneurs ont choisi de le faire car la surface de v\u00e9rification de la c\u00e9r\u00e9monie de trusted-setup \u00e9tait trop d\u00e9licate cryptographiquement pour \u00eatre r\u00e9impl\u00e9ment\u00e9e en Go. Cette d\u00e9cision illustre le pragmatisme du groupe : ils franchiront les fronti\u00e8res de langage quand l&#8217;exactitude le demande, et ils paieront le taxe du syst\u00e8me de build pour continuer \u00e0 le faire en s\u00e9curit\u00e9.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Le d\u00e9part, la diversification, le prochain chapitre<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">En avril 2026, Szil\u00e1gyi a annonc\u00e9 sur X qu&#8217;il se retirait de la maintenance quotidienne de Geth pour se concentrer sur la transition Verkle et sur un projet de recherche plus long autour de la compression des witnesses de stockage. L&#8217;annonce a \u00e9t\u00e9 accueillie, dans le petit coin de Crypto Twitter qui suit la politique des clients d&#8217;ex\u00e9cution, par le silence l\u00e9g\u00e8rement \u00e9tourdi appropri\u00e9 \u00e0 la transition d&#8217;un ing\u00e9nieur principal de longue date. Van der Wijden a assum\u00e9 une part plus grande du r\u00f4le public ; Lange a pris en charge les outils de build et de release ; de nouveaux contributeurs comme Felfele et une poign\u00e9e d&#8217;ing\u00e9nieurs du groupe Status Network ont pris des r\u00f4les lourds en revue. Le groupe est plus petit qu&#8217;il devrait \u00eatre pour la surface qu&#8217;il couvre et recrute activement.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li>Reth, le client d&#8217;ex\u00e9cution Rust dirig\u00e9 par le groupe d&#8217;ing\u00e9nierie de Paradigm, sert maintenant environ 9 % des nodes mainnet et est l&#8217;alternative la plus en croissance.<\/li><li>Nethermind a \u00e9t\u00e9 le client constant en deuxi\u00e8me place avec environ 22 % de part, avec une forte adoption parmi les stakers institutionnels.<\/li><li>Besu et Erigon ensemble tiennent environ 18 % des nodes d&#8217;ex\u00e9cution ; les deux ont d\u00e9ploy\u00e9 Pectra en lockstep avec Geth.<\/li><li>La transition Verkle, pr\u00e9vue pour le fork Osaka en 2027, sera le prochain test de stress de la coordination inter-clients.<\/li><\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Ce que ce groupe a bien fait et qui n&#8217;est pas dit assez<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Les mainteneurs de Geth ont d\u00e9ploy\u00e9 trois forks sans un seul incident de consensus pilot\u00e9 par un client sur mainnet. Ils ont \u00e9crit des notes de release que d&#8217;autres clients pouvaient impl\u00e9menter contre. Ils ont particip\u00e9 aux tests cross-client non comme une courtoisie mais comme une condition pr\u00e9alable au d\u00e9ploiement. Ils ont encourag\u00e9 publiquement les utilisateurs \u00e0 quitter Geth lorsque la concentration de part de client devenait un risque syst\u00e9mique. Ils ont document\u00e9 leur propre architecture suffisamment bien pour que les auteurs de Reth puissent \u00e9crire un client concurrent en lisant la sp\u00e9cification plut\u00f4t qu&#8217;en lisant le source de Geth. Ce dernier point est le plus important : un groupe d&#8217;infrastructure r\u00e9ussi est celui dont le travail rend son remplacement plus facile.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Les forks eux-m\u00eames \u2014 Merge, Shanghai\/Capella, Dencun, Pectra \u2014 seront remembered comme des \u00e9v\u00e9nements sociaux, avec les photos de chercheurs dans des salles de conf\u00e9rence et les tweets c\u00e9l\u00e9bratoires. La contribution du groupe Geth ne se photographie pas bien. C&#8217;est plusieurs centaines de milliers de lignes de code Go soigneusement revu, un rythme de release ininterrompu \u00e0 travers les transitions les plus architecturalement cons\u00e9quentes de l&#8217;histoire de toute blockchain majeure, et un petit groupe d&#8217;ing\u00e9nieurs qui ont r\u00e9pondu \u00e0 chaque question sur chaque appel ACD sans jamais para\u00eetre fatigu\u00e9s. Pour toute personne tentant de comprendre comment l&#8217;infrastructure d\u00e9centralis\u00e9e est r\u00e9ellement construite et maintenue, ce registre vaut une lecture attentive. Notre <a href=\"\/events\/\" target=\"_blank\" rel=\"noopener\">calendrier d&#8217;\u00e9v\u00e9nements<\/a> suit l&#8217;appel ACD prochain, et notre <a href=\"\/market\/\" target=\"_blank\" rel=\"noopener\">tableau de march\u00e9<\/a> inclut un panneau de part de client qui se met \u00e0 jour chaque semaine.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Trois forks d\u2019Ethereum \u2014 The Merge, Shanghai\/Capella et Dencun \u2014 ont mis le groupe de mainteneurs de Geth \u00e0 l\u2019\u00e9preuve dans des conditions que les appels all-core-devs montrent rarement. Voici ce qui a permis de maintenir le rythme de d\u00e9veloppement.<\/p>\n","protected":false},"author":0,"featured_media":181,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-32","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-culture"],"_links":{"self":[{"href":"https:\/\/hoge.gg\/fr\/wp-json\/wp\/v2\/posts\/32","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hoge.gg\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hoge.gg\/fr\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/hoge.gg\/fr\/wp-json\/wp\/v2\/comments?post=32"}],"version-history":[{"count":0,"href":"https:\/\/hoge.gg\/fr\/wp-json\/wp\/v2\/posts\/32\/revisions"}],"wp:attachment":[{"href":"https:\/\/hoge.gg\/fr\/wp-json\/wp\/v2\/media?parent=32"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hoge.gg\/fr\/wp-json\/wp\/v2\/categories?post=32"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hoge.gg\/fr\/wp-json\/wp\/v2\/tags?post=32"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}