La société sCrypt, spécialisée dans la création de scripts et de contrats sur blockchain, a remporté le Hackathon des Olympiades Bitcoin 2024 (piste Litecoin) en démontrant la possibilité d’effectuer un paiement sur une blockchain tout en recevant un actif sur une autre. L’équipe de deux ingénieurs logiciels, Mihael Šinkec et Yusuf Idi Maina, a utilisé la vérification de paiement simplifiée (SPV) et l’opcode OP_CAT sur le BTC Signet, illustrant une transaction où un acheteur a utilisé Litecoin pour acquérir des jetons BTC Ordinal.
sCrypt a affirmé que cette démonstration élargit les perspectives pour les applications DeFi, permettant l’échange direct d’un type d’actif numérique contre un autre entre les parties impliquées. Cela élimine le besoin de coordination entre les deux parties et réduit la dépendance à des intermédiaires tiers tels que les plateformes d’échange.
Annonce du gagnant de la piste Litecoin aux #Bitcoinolympics 🥁🥁 Pour avoir proposé une interopérabilité sans confiance entre #Bitcoin et #Litecoin en utilisant l’opcode #OPCAT.
Les gagnants : 🏆 @scryptplatform & @gashinge9989 Félicitations !! https://t.co/rChp0J78eU— Litecoin Foundation ⚡️ (@LTCFoundation) 8 septembre 2024
Šinkec a expliqué que la création d’une telle transaction en utilisant le code ASM brut de BTC (code d’assemblage utilisé pour créer des scripts personnalisés) serait complexe, c’est pourquoi ils ont opté pour le SDK de sCrypt. Ce SDK permet aux développeurs de travailler dans un environnement plus familier, comme TypeScript, afin de se concentrer sur la logique des contrats. Šinkec et Maina ont vérifié les préimages de transaction sur la pile et les ont validées par un « appel de fonction simple » dans un covenant BTC.
Ce processus utilise également la vérification de paiement simplifiée (SPV) sur Litecoin, reconstruisant la racine de Merkle d’une transaction à partir de ses données et de son chemin Merkle, puis la comparant à l’en-tête de bloc de la transaction. Grâce à la SPV, le client peut vérifier la validité de l’en-tête de bloc sans avoir besoin de télécharger l’intégralité de la blockchain.
Dans une explication publiée sur Medium, Šinkec a mentionné qu’il était difficile de vérifier une preuve de transaction Litecoin en utilisant le script BTC, car les deux blockchains reposent sur des algorithmes de preuve de travail (PoW) différents. L’équipe a utilisé un oracle capable d’attester de la validité des transactions Litecoin et des signatures de Lamport pouvant être vérifiées dans le script BTC.
La preuve SPV de Litecoin a ensuite été utilisée pour déverrouiller un jeton BTC Ordinal placé dans un covenant BTC et transférer l’actif à l’adresse BTC du destinataire. Un « covenant » permet à un programmeur d’imposer des contraintes sur la manière dont des pièces spécifiques peuvent être dépensées dans de futures transactions.
Importance de l’OP_CAT
En expliquant la transaction de covenant, Šinkec a déclaré :
« L’activation de l’OP_CAT sur BTC ouvre de nombreuses possibilités, telles que les covenants et la validation des preuves de Merkle. Nous avons exploité ces deux mécanismes pour mettre en œuvre une liste de vente Ordinal en tant que covenant sur BTC. Cela permet d’accepter Litecoin comme option de paiement sans passer par un intermédiaire, tel qu’un échange. »
L’OP_CAT est un opcode qui existait dans le protocole Bitcoin original de 2009, permettant aux programmeurs de concaténer deux éléments sur la pile. Cela ouvre la voie à des scripts de transaction plus sophistiqués, élargissant ainsi le champ d’application et les cas d’utilisation potentiels de Bitcoin.
Cependant, de manière similaire à la limitation « temporaire » de la taille de bloc de 1 Mo imposée à BTC, l’OP_CAT et d’autres opcodes originaux ont été désactivés très tôt dans l’histoire de Bitcoin, par crainte que des acteurs malveillants ne les utilisent pour « spammer » ou submerger le réseau avant qu’il ne dispose des ressources nécessaires pour contrer de telles actions. La blockchain BSV a réactivé l’OP_CAT ainsi que d’autres opcodes originaux en 2019/2020, l’une des nombreuses initiatives qui ont élargi la fonctionnalité de BSV et restauré la vision originale de Satoshi Nakamoto pour Bitcoin.
Des efforts sont également en cours pour réactiver l’OP_CAT sur le réseau principal de BTC, mais au moment de la rédaction, cela n’a pas encore eu lieu. Pour l’instant, le projet de transaction inter-chaînes de sCrypt fonctionne uniquement sur le BTC Signet, un réseau de test alternatif plus fermé pour les applications blockchain et les expérimentations avec de nouveaux types de transactions. L’OP_CAT a été réactivé sur le BTC Signet.
Étant donné que le projet primé de sCrypt relie les blockchains Litecoin et BTC Signet, il est plus théorique qu’immédiatement utilisable dans l’état actuel des choses. Cependant, l’OP_CAT fonctionne sur BSV et cela fait cinq ans maintenant, ce qui signifie que les développeurs pourraient utiliser ce processus pour activer les paiements inter-chaînes. BSV a maintes fois prouvé que des utilisations plus créatives de la technologie blockchain sont à la portée des développeurs innovants en quête de nouvelles opportunités.
Regardez : sCrypt souhaite étendre l’initiative du hackathon à un plus large public.
Vous débutez dans le monde de la blockchain ? Consultez la section Blockchain pour Débutants de CoinGeek, le guide ultime pour en savoir plus sur la technologie blockchain.