A
A

Les Devs de Bitcoin Core sous le feu des critiques

jeu 29 Fév 2024 ▪ 8 min de lecture ▪ par Nicolas T.
S'informer Blockchain

Les ordinals et autres inscriptions continuent de semer la zizanie. Les accusations de connivence fusent à l’encontre des développeurs de Bitcoin Core.

bitcoin

Bitcoin Core

Plusieurs développeurs en charge de Bitcoin Core sont chahutés à cause de leur passivité vis-à-vis des « inscriptions ». C’est-à-dire les ordinals et autres données arbitraires adossés à des ponzis comme le shitcoin ORDI.

Pour rappel, Bitcoin Core est une implémentation du protocole Bitcoin. Il est le descendant direct de l’œuvre de Satoshi Nakamoto. Il s’agit à la fois d’un nœud et d’un wallet dont le code est entretenu par des centaines de contributeurs.

Les évolutions du code sont proposées via des (« Pull Requests »). La plupart sont mineures, mais certaines sont majeures. Ce sont les fameux BIP (Bitcoin Improvement Proposals) et les soft forks.

Une poignée de développeurs appelés « maintainers » ont le pouvoir d’autoriser les modifications du code. Ce petit conclave a le dernier mot pour l’implémentation Bitcoin Core qui représente 98 % des nœuds.

Depuis le récent départ du vétéran Van der Laan, les cinq mainteneurs sont Michael Ford, Andrew Chow, Russ Yanofsky, Gloria Zhao et Hennadii Stepanov.

Cependant, voici le classement des véritables poids lourds ayant le plus contribué via des BIP :

Luke Dash – second plus important contributeur – a déclenché la controverse en invitant Bitcoin Core à mettre le holà sur les inscriptions.

Données arbitraires non grata

La Pull Request de Luke Dash date du 05 janvier 2023. Elle est intitulée : « Witness scripts being abused to bypass datacarriersize limit ».

C’est-à-dire en bon français : « Des scripts sont utilisés de manière abusive pour contourner la limite concernant la quantité de donnée arbitraire pouvant être insérée dans les transactions bitcoin ».

Voici la description de la Pull Request :

« Le filtre -datacarriersize est censé limiter la taille des données arbitraires autorisées dans les transactions. Cependant, depuis la fin de l’année 2022, des assaillants ont trouvé un moyen de contourner cette limite pour insérer leur spam en utilisant les opcodes OP_FALSE et OP_IF au lieu d’utiliser OP_RETURN. »

Explication.

Les filtres (policy rules) empêchent certaines transactions toxiques d’être relayées par les nœuds jusque dans un bloc. Le but est d’éviter certaines attaques DDoS.

Par exemple, Bitcoin Core ne relaie pas les transactions pesant plus de 100 000 voctets, ou encore celles payant moins de 1 sat/voctet en frais de transaction.

Datacarriersize fait référence à l’opcode « Op_Return ». Ce dernier fut créé en 2014 pour offrir une alternative aux techniques plus nocives d’insertion de données arbitraires. Il offre un espace limité de 83 octets par transaction. C’est-à-dire de quoi entrer un hash SHA-256 (32 octets) ainsi qu’une balise d’identification.

Luke Dash considère comme un bug le fait que -Datacarriersize n’ait pas été appliqué à toutes les données de transaction lors des soft forks Segwit et Taproot.

Aux origines du « bug »

Sont souvent pointées du doigt les soft forks SegWit et Taproot qui ont augmenté, puis supprimé la taille maximale des scripts de transaction. C’est toutefois aller un peu vite en besogne. Pour Luke Dash :

« La taille maximale des script n’a pas été supprimée dans le but d’injecter des données arbitraires. Par ailleurs, il a toujours été possible de dépasser les limites instaurées par le protocole (‘consensus rule’). Si le script était trop volumineux, il n’était tout simplement pas exécuté. Les filtres anti-spam ont toujours été appliqués en tant que ‘policy rule’, et c’est là leur place idéale. »

En l’absence de filtres, des shitcoiners peuvent transformer les transactions bitcoin en jetons de casinos. Problème, ces centaines de milliers d’inscriptions volumineuses rallongent le temps d’installation d’un nœud. Le délai d’IBD (Initial Blockchain Download) varie aujourd’hui entre 2 jours et 3 semaines ! Sans parler de la hausse prématurée des frais de transaction et du cout de la mémoire nécessaire.

Le Bitcoin a besoin d’un grand nombre de nœuds pour être décentralisé. Il est donc vital de restreindre autant que possible la croissance de la blockchain et de l’UTXO set. Une blockchain ne peut pas être un parking de jpegs.

Op_Return est le témoignage qu’il fut un temps où toute utilisation dévoyée des transactions bitcoin venant alourdir les nœuds était perçue comme une attaque.

Malheureusement, les mainteneurs de Bitcoin Core refusent d’envoyer un message fort en mettant à jour les filtres. Cette dérive rappelle la Big Block War, lorsque certains ont voulu sacrifier la décentralisation sur l’autel d’un débit de transactions plus élevé.

Zizanie

Les mainteneurs Andrew Chow, Gloria Zhao et Marco Falke sont critiqués depuis que le bitcoiner Unhosted Marcellus a découvert une modification furtive de la documentation de Bitcoin Core :

Pour résumer, le mainteneur Marco Falke a réécrit la documentation à propos de -Datacarriersize juste après le début de la mode des ordinals.

Description originelle :

« Taille maximale des données arbitraires dans les transactions relayées. »

Nouvelle description :

« Relaie les transactions dont les données arbitraires situées dans les scripts de clés publiques ne dépassent pas cette taille : (80 octets). »

Les contributeurs AJ Towns, Gibbs ont donné leur feu vert (ACK) à cette réécriture de l’Histoire digne du roman 1984. Ils sont accusés d’avoir insidieusement réduit la portée de -Datacarriersize. Le but étant de justifier l’inaction à propos des nouvelles techniques d’insertion de données dans les transactions.

Après la découverte de cette modification passée sous silence, le mainteneur Achow (Blockstream) a déclaré de manière effarante que la modification de la documentation était une manière de supprimer le bug…

« J’ai entendu dire que vous étiez un excellent programmeur et que vous avez corrigé un bug dans le code du protocole bitcoin en moins de deux. Pourriez-vous m’en dire plus ? »

Ce contorsionnisme visant à protéger le cirque des inscriptions est inquiétant. L’insertion de shitcoins dans les transactions ne devrait même pas prêter à débat. C’est un bug, point barre.

Face à cette Commedia dell’arte, Luke Dash a pris les devants en développant le patch « ordirespector ».

Ordisrespector est un filtre anti-spam qui ne relaie pas les transactions comprenant des ordinals. MYNODE et Umbrel le proposent déjà à leurs clients. Vous trouverez le correctif ici :

« Correctif pour filtrer les spams « ordinals ».
Il ne s’agit pas d’un changement de protocole ou d’un softfork/hardfork, juste d’un filtre anti-spam inoffensif (s’il fonctionne correctement). »

Notons pour terminer que la pool du mineur Marathon a récemment provoqué un tollé en proposant d’insérer elle-même les inscriptions (contre rétribution) afin de contourner les filtres…

S’il n’y a pas de solution évidente et implacable au problème, de plus en plus de monde réalise que la passivité n’est pas tenable.

Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.


A
A
Nicolas T. avatar
Nicolas T.

Reporting on Bitcoin, "the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy".

DISCLAIMER

Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.