Échanges sous-marin entre le réseau Bitcoin et Lightning
Comment transférer des sats entre vos canaux LN et vos portefeuilles on-chain ?
Aujourd'hui, nous avons de plus en plus de nœuds Lightning. Cependant la plupart de leur opérateurs ne savent toujours pas comment les utiliser à leur plein potentiel.
Je vais donc tenter d'expliquer dans ce guide, comment vous pouvez utiliser les échanges sous-marin (aka submarine swaps) entre le protocole Bitcoin on-chain et le réseau Lightning.
Vous pouvez retrouver une bonne explication (en EN) de ce que sont les submarine swaps dans cet article. Donc, si vous le pouvez, lisez d'abord cet article, cela vous permettra d’avoir une base de connaissances sur ce sujet.
En gros, avec les submarines swaps nous pouvons déplacer de la liquidité depuis ou vers un portefeuille on-chain vers ou depuis un nœud/wallet LN. C’est un outil très pratique pour gérer au mieux la liquidité dans ces canaux LN, mais cela peut être également détourné comme méthode de “coinjoin” — au sens où cela peut permettre de perdre la trace de vos coins qui ont été KYC (relié à votre identité).
SCÉNARIO A
Cas d’usage : Vous avez un nœud LN et vous avez besoin de déplacer de la liquidité depuis ou vers vos canaux LN. Prenons l'exemple d'un commerçant, avec une boutique en ligne ou physique, qui accepte les paiements via LN.
Dans ce cas de figure, le commerçant a plus de paiements entrants que sortant. Ainsi à la longue ses canaux LN se rempliront. Il devra donc les “vider”, afin de disposer de nouveau de la liquidité pour les futurs paiements de ces clients. Cela signifie qu’il devra déplacer hors de ses canaux LN les sats reçus vers un portefeuille on-chain. Cette opération est appelée “LOOP OUT”.
De manière symétrique, le “LOOP IN” est le même processus, mais dans le sens inverse. Cela permet, depuis n'importe lequel de vos portefeuilles on-chain d’ajouter de la liqudité vers votre nœud/portefeuille LN.
Pour ces deux processus, nous disposons aujourd’hui de quelques services et logiciels simples et peu coûteux :
1 - RTL et/ou ThunderHub
Ces deux applications de gestionnaires de noeud ont intégré la fonction loop out, qui utilise en coulisse les services de Boltz et Loop.
Dans ThunderHub, vous pouvez choisir à partir de quel canal vous voulez loop out ou vous pouvez choisir de laisser ThunderHub calculer la meilleure possibilité. De plus, vous pouvez décider de donner soit une adresse du portfeuille on-chain du nœud ou soit une adresse de tout autre portefeuille on-chain.
RTL fonctionne parfois mieux, surtout quand il est question de montants plus importants. Avec RTL, vous pouvez aussi choisir spécifiquement le canal sur lequel vous souhaitez effectuer le loop out, c’est-à-dire choisir un canal où il y a trop de liquidité de votre côté.
Une fois que vous avez défini les termes du loop out, il faudra attendre un certain temps pour que la transaction soit approuvé on-chain et que les fonds soient bien à l’adresse on-chain indiquée. Vous pouvez suivre le statut du loop out sur la même page.
Remarque : Si vous faites tournez un nœud avec une instance LNbits, vous pouvez également intégrer l'extension Boltz Swap, pour effectuer des échanges sous-marins. En tant que commerçant qui utilise LNbits pour son activité, c'est un outil très pratique pour “vider” mes canaux vers un de mes portefeuilles on-chain, lorsque mes canaux sont remplis par les paiements de mes clients.
2 - CoinOS.io
Cette application est un portfeuille web, avec des fonctionnalités on-chain et LN que j’ai déjà décrit dans ce guide.
Ici, il est suffisant de savoir que CoinOS a intégré la fonctionalité de submarine swap (y compris avec le réseau Liquid). Cette fonctionnalité peut être utilisé de manière anonyme en utilisant une adresse mail jetable et un VPN durant la connexion au service.
Les étapes pour effectuer un swap avec CoinOS sont simples :
Ouvrir un compte dans CoinOS (garder les détails de connexion, si vous voulez les réutiliser)
Créer une facture LN, ou utiliser l'adresse LN fournie par CoinOS, qui sera username@coinos.io. Vous pouvez également utiliser l'adresse LNURL-pay fournie et vous pouvez payer le montant que vous voulez.
Payez cette facture LN / adresse LN / adresse LNURL-p depuis votre nœud (l'utilisation de Thunderhub est beaucoup plus facile pour l'adresse LN/ LNURL, vous pouvez également utiliser le portefeuille Zeus connecté à votre nœud).
Une fois que vous avez les fonds dans CoinOS, effectuez un paiement vers n'importe laquelle de vos adresses BTC on-chain de votre nœud (pratique si vous souhaitez garder ces fonds pour ouvrir de futurs canaux LN) ou de tout autre portefeuille on-chain
C'est fait, vous venez de transférer vos fonds LN à on-chain, avec un minimum de frais, de tracas et en toute confidentialité.
3 - Boltz | FixedFloat | Deezy | DiamondHands | Submarine
Il s'agit là de services de swap en ligne. En suivant une série de seulement 3 ou 4 étapes, vous pouvez transférer vos sats depuis le LN vers n'importe quelle adresse on-chain (mais aussi dans le sens inverse).
Oui, ces services facturent des frais. Mais tout est très transparent et tous les frais sont affichés avant que vous ne cliquiez sur “swap”.
Il suffit de payez une invoice LN avec le portefeuille LN de votre nœud, puis indiquez une adresse on-chain où vous voulez recevoir. Il ne vous reste plus qu’à patienter que le swap s’effectue (cela peut prend plus ou moins du temps dépendant des frais de transaction on-chain).
4 - Ghetto Swap
Il s'agit d'un type de swap disons spécial. Il est recommandé de ne le faire qu'avec vos pairs de confiance ou vos amis.
En pratique, il s'agit d'un transfert de sats de LN vers on-chain, en utilisant la fonction keysend de votre nœud (Thunderhub supporte cette fonctionnalité).
Un Ghetto Swap consiste à pousser vos sats vers un de vos pairs, et celui-ci vous remboursera sur l’adresse on-chain que vous lui avez indiqué. Le motif de cette transaction on-chain sera UNIQUEMENT connu de vous deux. La tx keysend n'est pas une facture LN. Si vous avez un canal commun avec votre ami/pair, vous ne paierez pas de frais et ne passerez pas non plus par un autre nœud, c’est une tx directe. Vous pouvez également le faire si vous n'avez pas de canal commun, mais cela vous coûtera plus cher car la transaction passera par plusieurs nœud, comme un paiement LN régulier.
J’ai écrit un guide à ce sujet pour expliquer les différentes étapes.
5 - BlueWallet LNDHUB
Si sur votre nœud (Umbrel, MyNode, RaspiBlitz, Embassy), vous avez déjà installé et configuré BlueWallet LNDHUB, cette méthode peut vous être utile pour obtenir rapidement et facilement de la liquidité entrante à l’aide d’un portefeuille externe on-chain.
Étapes à suivre :
Connectez l'application mobile BlueWallet (BW) à votre nœud via BW LNDHUB.
Créez un nouveau portefeuille LN (il sera créé sur votre nœud, pas sur les serveurs de BW).
Ce portefeuille LN aura un solde nul, mais utilisera la liquidité de votre nœud.
Faites un backup de ce portfeuille ! Allez dans les détails du portefeuille et sélectionnez “exporter la sauvegarde”. Ça sera sour la forme d’une URL qui pointe vers votre portefeuille LNDHUB.
Dans BW, ouvrez ce portefeuille LN et cliquez sur le bouton “refill - from external source”. Cela fera apparaître un code QR avec une adresse on-chain de votre nœud.
Une fois que vous payez à cette adresse (n'utilisez pas de petits montants <100k sats), votre portefeuille LN aura un solde avec ces sats et votre nœud LN aura également une liquidité accrue de ce montant.
SCÉNARIO B
Cas : Vous êtes un utilisateur régulier, qui veut seulement plus de confidentialité et gagner une annonymat prospective (ie. perdre la trace de quelques sats achetés via un échange KYC ou reçu d'une source quelconque et ne voulez pas être lié de quelque façon que ce soit avec elle).
Dans ce cas d’usage, il n'est pas nécessaire d'avoir votre propre nœud LN car vous pouvez aussi le faire à partir d’un portefeuille LN.
Pour cela, vous avez plusieurs méthodes à disposition :
1 - RoboSats - Échange anonyme via Tor et LN
Utilisez le navigateur Tor pour vour rendre sur la page de RoboSats ou télécharger l’app android via l’apk
Générez une identité anonyme (sauvegardez la clé si vous voulez la réutiliser)
Faites une offre ou accepter une offre déjà existante
Spécifiez où vous souhaitez recevoir les sats (onchain ou LN) — Voici une démo de RoboSats
C'est fait ! Vous venez de recevoir des sats non-KYC sur le portefeuille de votre choix LN ou on-chain — vous avez ici une liste non-exhautive de portefeuilles LN.
2 - Échanges KYC on-chain vers les portefeuilles / canaux LN
Remarque : Vous devriez envisager de ne pas utiliser de plateformes d’échange KYC et de plutôt utiliser ceux proposer sur KYCnot.me.
Le cas d’usage est le suivant : vous avez acheté sur un échange KYC qui ne supporte pas le retrait via LN alors que vous souhaitez approvisionner vos portefeuilles LN. Le retrait ne peut que s’effectuer vers un portefeuille on-chain ce qui peut être pénible car beaucoup de plateformes d’échange vont retarder arbitrairement le retrait, notamment pour nous empêcher d’utiliser directement un service de swap ou simplement à cause de mesures KYC draconiennes.
Vous aurez donc besoin d'un “portefeuille cache” comme décrit dans cet autre guide que j'ai écrit, avec lequel vous ferez le contrôle des pièces, effectuerez vos swaps LN <=> BTC, organiserez par catégorie, etc… Ainsi, vous retirez de l'échange vers ce portefeuille cache et de là vous effectuerez, en plusieurs fois, vos swaps BTC on-chain → BTC-LN, en utilisant les services de swaps d'échange comme boltz.exchange, zigzag.io, fixedfloat.io ou coinos.io (pour plus d’anonymité utilisé ces services via le navigateur Tor).
Par contre, si la plateforme d’échange supporte les retraits on-chain instantanés, c'est parfait, vous pouvez sauter l’étape intermédiaire avec le portefeuille cache et vous retirez directement, en plusieurs fois, vers les services de swaps et de là vers votre portefeuille LN de votre choix.
Pour ce genre de cas d’usage, je vous recommande d'utiliser un portefeuille LN autre que celui de votre nœud public — comme je l'ai décrit dans cet autre guide concernant la gestion de la liquidité entre vos nœuds. Blixt, OpenBitcoin Wallet (OBW), Breeze, et Phoenix sont de bons choix pour cela.
Depuis ce portefeuille LN, vous pouvez également envoyer des fonds vers votre propre nœud (si vous avez besoin de plus de liquidités sortantes) ou vers tout autre “portefeuille HODL” on-chain (en utilisant un service de swap).
3 - Noeud LN via Electrum sur PC
Il s'agit d'un portefeuille LN assez puissant avec des swaps intégrés au logiciel.
Étapes à suivre pour la mise en place :
Téléchargez et installez sur votre PC l'application Electrum wallet. Elle est disponible pour toutes les plateformes.
Créez un portefeuille segwit natif (bech32) pour être entièrement compatible avec le LN.
Faites un backup de toutes les informations (phrase mnémonique, mot de passe, etc…) sur un papier mis en sécurité ou dans votre gestionnaire de mots de passe.
Allez dans les options du portefeuille et activez “Lightning” (Il n’est pas activé par défaut)
Vous pouvez utiliser les canaux trampolines (gérés par ACINQ ou d'autres serveurs) ou vos propres canaux (privés) avec tout nœud LN comme vous souhaitez.
Vous devez d'abord ouvrir quelques canaux. Faites également une sauvegarde du fichier SBC.
Pour faire de la “place” dans ces canaux, vous devrez déplacer une partie de sats, en les envoyant vers un autre de vos portefeuilles LN. Si vous ouvrez un canal avec votre propre nœud, il suffit de les pousser en effectuant un keysend vers votre nœud ou une simple invoice LN à vous-même.
Vous êtes donc prêt à recevoir de nouveaux sats dans ces canaux “Electrum LN”.
Lorsque vous recevez dans ce portefeuille Electrum, vous pouvez faire un swap LN → on-chain, directement depuis le logiciel. Les fonds seront déplacés vers l'une de vos adresses du portefeuille “Electrum on-chain”.
Vous avez ici une démonstration de l'utilisation d'Electrum avec Lightning.
À RETENIR
Via ur un canal LN de, disons, 1M sats, vous pouvez faire passer à terme 21 BTC ou plus, dans les deux sens (tant que la liquidité est suffisante). Lorsque vous fermez ce canal, seul l’UTXO de 1M sats sera “visibles” sur la blockchain qui n’est autre que les 1M sats qui ont été “utilisés” dans la transaction d’ouverture de canal. Tous les autres 20,09 BTC ne sont pas référencé. Et si vous vous y prenez bien, aucune trace de ces mouvements ne pourront être relier à vous.
Vous pouvez également utiliser des fournisseurs de liquidité entrante, qui ouvriront vers vos noeuds des canaux avec beaucoup de liquidité disponible et vous serez prêt à recevoir des sats. Cela signifie que l'UTXO utilisé pour ouvrir le canal n'est pas le vôtre. C'est un autre aspect qui augmente votre confidentialité.
Le fait que votre paiement fasse plusieurs “hops” via plusieurs noeuds augmente également l'anonymat.
Utilisez MPP (multi-part payment) si vous le pouvez et si votre application de portefeuille le supporte, cela permet d’augmenter les chances de réussite du paiement et votre anonymat.
Si vous voulez un nœud LN rapidement, pour une question d'anonymat, ne vous embêtez pas à déployer un nœud complet sur un pc ou un raspberry Pi, surtout si c’est juste pour acheter quelques sats. Pour cela, je recommande d'utiliser Blixt Wallet (c'est un outil très puissant, si vous savez l'utiliser), OBW, ou Electrum. Avec ce genre de portefeuilles, vous pouvez gérer facilement les canaux et la liquidité. De plus, vous pouvez à tout moment les vider et démarrer une nouvelle instance facilement.
L'avenir des transactions est sur le réseau Lightning. Bientôt, les txs on-chain ne seront plus utilisées que pour ouvrir/fermer les canaux LN. Alors préparez-vous dès maintenant, commencez à apprendre à utiliser tous les outils relatifs au réseau Lightning, les portefeuilles LN, mais faites aussi tourner votre propre nœud (même mobile), construisez votre propre réseau de pairs, ainsi que votre propre liquidité sur LN. Un jour viendra où il sera TRES COÛTEUX DE LE FAIRE ! Vous avez été prévenus.
QUE ₿ITCOIN SOIT AVEC TOI !
Si tu apprécies le travail de DarthCoin, tu peux lui envoyer quelques sats via le LN :
en utilisant ses adresses LN darthcoin@getalby.com ou darthcoin@stacker.news
ou simplement en scannant ce QR code avec ton portefeuille LN
Si tu apprécies mon travail (de traduction), tu peux m’envoyer quelques sats via le LN :
en utilisant ma page alby si tu veux me laisser un message
en utilisant mon adresse LN : asi0@getalby.com
ou simplement en scannant ce QR code avec ton portefeuille LN