Le réseau Liquid offre des fonctionnalités avancées, telles que les transactions confidentielles, les actifs émis, les swaps atomiques, les swaps inter-chaînes avec Lightning, la multisignature générique et le support des portefeuilles matériels avec Jade. Il prend en charge des protocoles plus avancés comme les prêts adossés à des actifs avec des escrows pouvant également être sécurisés par des covenants, et des contrats d'options entièrement collatéralisés.
Ces fonctionnalités peuvent améliorer les processus de la finance traditionnelle qui nécessitent une confiance dans des tiers, permettant plus d'automatisation, réduisant les frictions et ouvrant des marchés sans autorisation. Cependant, en pratique, ces fonctionnalités sont assez compliquées à intégrer, à développer et à combiner dans des produits plus innovants.
En tant que fournisseurs techniques de Liquid, Blockstream s'engage à faciliter le développement sur Liquid et, au cours des derniers mois, nous avons développé de nouveaux outils pour l'écosystème Liquid. Ces nouveaux efforts de développement ont abouti à la création du nouveau Liquid Wallet Kit (LWK), une collection d'outils Rust pour créer des portefeuilles Liquid.
Liquid Wallet Kit (LWK)
L'objectif de LWK est de fournir tous les éléments nécessaires au développement d'applications de portefeuilles Liquid et de simplifier la vie des développeurs en répondant aux points de douleur courants des outils actuels.
Nous avons opté pour une approche modulaire qui permet aux développeurs d'utiliser uniquement ce dont ils ont besoin, avec la possibilité de facilement étendre LWK pour des cas d'utilisation plus complexes. Nous voulons que LWK soit un outil de référence, piloté à la fois par Blockstream et les participants de Liquid, qui peut aider à réduire les frictions pour l'intégration de Liquid, définir des standards pour l'écosystème et industrialiser l'innovation Liquid.
LWK est construit en utilisant le langage de programmation Rust, ce qui nous permet de prendre en charge Windows, Linux et macOS, et de tirer parti des bibliothèques existantes rust-elements et elements-miniscript.
Blockstream présente officiellement LWK, une collection d'outils Rust pour créer des portefeuilles Liquid.
Blockstream présente officiellement LWK, une collection d'outils Rust pour créer des portefeuilles Liquid.
Fonctionnalités
LWK tire parti des innovations récentes de l'écosystème Liquid : les descripteurs Liquid et les transactions partiellement signées Elements (PSET).
Les descripteurs Liquid (également appelés descripteurs CT) sont utilisés pour créer des portefeuilles en lecture seule. Cela permet aux utilisateurs et aux développeurs de portefeuilles de séparer clairement les clés privées dans les applications Liquid et de les utiliser uniquement lorsque nécessaire, à savoir lors de la configuration et de la signature des transactions.
Les transactions sont transmises des portefeuilles en lecture seule aux signataires à l'aide des PSET, un format flexible pour encoder les données de transaction. Les signataires peuvent traiter ces données et afficher les informations pertinentes à l'utilisateur, qui peut décider s'il est approprié de signer la transaction.
Les signataires peuvent être soit des portefeuilles logiciels "à chaud", définis par des mnémoniques stockés sur l'ordinateur ou le téléphone mobile, soit des signataires matériels, comme le Blockstream Jade, qui peuvent être utilisés pour améliorer la sécurité de la configuration. Le support initial pour Jade est déjà inclus, avec des travaux supplémentaires sur d'autres signataires matériels en cours.
Les descripteurs CT et les PSET sont des standards ouverts qui permettent l'interopérabilité entre toutes les applications conformes, et pas seulement LWK.
LWK prend actuellement en charge les backends légers, Electrum et Esplora, de sorte que les utilisateurs ne sont pas obligés de synchroniser un nœud complet pour obtenir leurs transactions. Le support du backend Elements est également prévu.
Grâce aux descripteurs CT, LWK peut prendre en charge une large gamme de scripts, allant de la signature unique à la multisignature générique, et même à des scripts plus complexes qui pourraient convenir à certaines applications, tels que la multisignature avec sécurité décroissante et les scripts basés sur des covenants.
Nous nous sommes également concentrés sur les liaisons pour les langages populaires, notamment Python, Swift et Kotlin pour faciliter l'intégration mobile, et WebAssembly (Wasm), ce qui permet même à LWK de fonctionner dans le navigateur !
Toutes les fonctionnalités incluses dans LWK sont accessibles via une application CLI basée sur un serveur JSON-RPC. Vous pouvez l'installer et commencer à découvrir les capacités de LWK dès maintenant.
Par exemple, vous pouvez utiliser LWK pour créer un portefeuille multisignature avec une combinaison de Jades et de signataires logiciels. Ensuite, utilisez le portefeuille pour émettre des actifs et gérer tout le cycle de vie, réémettre, distribuer et brûler des actifs en utilisant les signataires impliqués dans le portefeuille.
Statut actuel
LWK est un projet relativement jeune, ayant commencé son développement fin 2023 et open-source plus tôt cette année. Il est actuellement en pré-version 1.0, et considéré comme prêt pour les tests bêta et les retours de la communauté. La portée souhaitée pour LWK est ambitieuse, nous avons l'intention qu'il soit la meilleure option pour les développeurs de portefeuilles et d'applications Liquid.
Certaines API peuvent encore changer, et nous prévoyons d'y travailler avant la version 1.0. Notre priorité était d'atteindre un état où il est facile pour tout développeur de contribuer et d'itérer, même sans une compréhension complète de l'ensemble du projet.
Feuille de route
Dans les mois à venir, nous prévoyons d'améliorer LWK de plusieurs façons. Nous voulons itérer sur l'interface des pièces internes pour aller vers leur stabilisation. Nous voulons également fournir un support pour davantage de signataires matériels et définir la version Liquid de l'interface des portefeuilles matériels (HWI).
Nous prévoyons d'améliorer les liaisons de langage existantes, tout en ajoutant le support pour de nombreux autres langages de programmation qui montrent une demande de la communauté. Cependant, certains groupes ont pris l'initiative et ont commencé à créer des liaisons de langage supplémentaires comme le dépôt lwk-dart/flutter de l'équipe Bull Bitcoin.
Nous prévoyons également de fournir un support pour les protocoles existants tels que LiquiDEX, ainsi que pour tous les protocoles basés sur des covenants.
Prenez contact
Nous croyons que Liquid a le potentiel d'être la base sur laquelle de nouveaux produits financiers peuvent être construits.
LWK vise à faciliter aux développeurs l'utilisation de fonctionnalités telles que la lecture seule, le support HWW, les scripts complexes, et bien plus encore dans leurs applications Liquid. Par exemple, vous pouvez utiliser LWK pour créer un portefeuille multisignature avec plusieurs dispositifs Jade, et émettre, réémettre et brûler des actifs avec ce portefeuille.
LWK est une bibliothèque jeune avec une interface évolutive qui sera peaufinée, améliorée et étendue dans les mois à venir. Nous encourageons les développeurs à essayer et à contribuer à LWK, et à nous contacter sur GitHub ou Telegram.
Nous organiserons également une démonstration de LWK jeudi 18 avril à 17h CET / 10h CDT sur Build On L2. C'est ouvert au public et aucune inscription n'est requise, il suffit de surveiller le lien en direct sur le flux Liquid 𝕏. Nous espérons vous y voir tous. Venez avec des questions !