Introduction à l’OP_RETURN dans Bitcoin
L’OP_RETURN est un opcode de script dans Bitcoin qui permet aux utilisateurs d’intégrer de petites données non dépensables dans les transactions. Cela crée un équilibre entre fonctionnalité et efficacité du réseau. Une proposition récente visant à lever la limite de 80 octets a ravivé les discussions sur le rôle de Bitcoin en tant que transporteur de données par rapport à un système de paiement simplifié.
Fonctionnalités de l’OP_RETURN
Introduit dans Bitcoin Core 0.9.0, l’OP_RETURN permet d’ajouter jusqu’à 80 octets d’informations arbitraires, telles que du texte, des hachages ou des identifiants de protocole, aux transactions. Plutôt que de stocker ces données dans des sorties dépensables — qui demeurent dans l’ensemble des transactions non dépensées (UTXO) — les sorties OP_RETURN sont prouvablement non dépensables, ce qui permet aux nœuds de les élaguer et de réduire ainsi la demande de stockage.
Cette capacité soutient des applications non financières, telles que l’horodatage des preuves de propriété, l’intégration de métadonnées pour des protocoles de couche deux (L2) ou la destruction intentionnelle de pièces dans des cas d’utilisation spécifiques.
Cas d’utilisation et impact sur la communauté
Counterparty a été l’un des premiers projets à exploiter l’OP_RETURN de Bitcoin pour intégrer des données directement dans les transactions BTC, facilitant ainsi la création et la gestion d’actifs numériques ainsi que la fonctionnalité d’échange décentralisé sur la blockchain Bitcoin. Des projets récents, comme Citrea, se servent de l’OP_RETURN pour enregistrer des preuves à divulgation nulle de connaissance, tandis que d’autres l’utilisent pour coder des termes contractuels simples.
« La restriction de 80 octets, établie en 2014, avait pour but de décourager le stockage excessif de données tout en remplissant des fonctions essentielles. »
Débat autour de la limite des 80 octets
La communauté Bitcoin débat depuis longtemps de l’objectif de l’OP_RETURN. Certains critiques soutiennent qu’un ajout même modeste de données nuit au rôle fondamental de Bitcoin en tant que registre monétaire, tandis que d’autres y voient une voie d’innovation pratique dans des limites claires. Les partisans affirment qu’il offre un mécanisme contrôlé pour diverses fonctions sans surcharge du réseau.
Dans la prochaine mise à jour de Bitcoin Core, les développeurs prévoient de retirer le plafond par défaut de 80 octets pour OP_RETURN, permettant des insertions de données plus volumineuses et plusieurs entrées OP_RETURN par transaction. Ce changement fait suite à un désaccord prolongé sur l’efficacité de la limite actuelle.
Arguments pour et contre l’augmentation de la limite
Les défenseurs de cette modification estiment que la limite a dépassé son utilité, notant que des pools de minage et des services centralisés acceptent déjà des transactions non standards et riches en données. Selon eux, lever cette restriction simplifierait la construction des transactions, améliorerait l’estimation des frais et alignerait les politiques de relais avec les pratiques des mineurs.
Toutefois, les opposants, y compris certains opérateurs de nœuds et développeurs, mettent en garde que permettre l’intégration de données plus volumineuses pourrait normaliser le stockage massif de données non financières, ce qui encombrerait les blocs. Un participant au débat a averti que cela pourrait augmenter les coûts pour les utilisateurs et concentrer le pouvoir entre les mains des pools de minage qui privilégient les transactions chargées en données.
Conclusion et perspectives d’avenir
Il est crucial de noter que cet ajustement n’affecte que les règles de relais par défaut de Bitcoin Core et ne modifie pas les règles de vérification de consensus. D’autres nœuds, comme Bitcoin Knots, sont libres d’appliquer des limites plus strictes à l’OP_RETURN. L’avenir de cette question reste incertain, et la discussion sur l’OP_RETURN met en lumière les tensions au sein de l’évolution de Bitcoin : favoriser l’innovation tout en essayant de préserver les principes fondamentaux.