Aller au contenu
buybitcoinsmart

Glossaire / Lightning et couche 2

Submarine swap

Qu'est-ce qu'un submarine swap ?
Un submarine swap échange du bitcoin on-chain contre du bitcoin sur le Lightning Network en une seule étape atomique, en utilisant le même hachage de paiement des deux côtés pour qu'aucune des parties ne puisse prendre l'argent et disparaître.

Les deux côtés de l'échange vivent sur des couches différentes, et c'est là toute la difficulté. Un swap la résout en faisant qu'un seul secret débloque les deux branches : le contrat on-chain et le paiement Lightning sont liés à un même hachage, donc soit les deux se règlent, soit les deux sont remboursés. Alex Bosworth a décrit la technique en 2018.

Comment cela fonctionne

Un submarine swap est un seul secret qui dépense deux contrats situés sur des couches différentes.

Imaginez que vous déteniez des bitcoins on-chain et que vous vouliez un solde Lightning. Le fournisseur de swap génère une préimage aléatoire, la hache, et vous émet une facture Lightning engagée sur ce hachage. Vous payez une transaction on-chain ordinaire vers un script qui dit : le fournisseur peut réclamer ces fonds en révélant une préimage correspondant au hachage, ou vous pouvez les récupérer après l'expiration d'un verrou temporel. Le fournisseur voit vos fonds se confirmer, révèle la préimage on-chain pour les réclamer, et cette même préimage est ce qui règle la facture Lightning dans votre portefeuille. Une valeur, deux règlements, aucune fenêtre où un côté détient les deux.

Les verrous temporels sont ce qui rend l'opération sûre et pas seulement pratique. La voie de remboursement on-chain doit expirer après la branche Lightning, pour que si le fournisseur traîne, votre paiement Lightning ait déjà échoué et se soit dénoué avant que votre remboursement on-chain devienne réclamable. Inversez cet ordre et le fournisseur pourrait garder la préimage jusqu'à ce que votre remboursement soit dépensé, puis régler le côté Lightning.

La même construction fonctionne en sens inverse et fait le travail opposé. Dans un reverse swap, vous payez une facture Lightning et le fournisseur vous paie on-chain, ce qui convertit un solde de canal en stockage à froid sans fermer de canal. Lightning Labs a regroupé les deux sens sous le nom de Loop, publié en version alpha le 20 mars 2019, Loop Out étant le sens inverse et celui que les gens utilisent pour libérer de la place pour recevoir.

Ce que le swap ne supprime pas, c'est une exposition à la contrepartie d'un genre plus modéré. Votre argent ne peut pas être volé, car chaque voie est imposée par script ou expire. Il peut être retardé : un fournisseur qui passe hors ligne au milieu d'un swap vous laisse attendre un verrou temporel, soit quelques minutes sur la branche Lightning et parfois des heures sur la branche on-chain.

Où on le rencontre

Les swaps sont la plomberie derrière des fonctionnalités qui ne les mentionnent jamais.

Les portefeuilles mobiles qui vous permettent de « recharger depuis votre solde on-chain » sans ouvrir de canal exécutent en général un submarine swap en coulisses. Les portefeuilles qui offrent un passage en un geste du Lightning vers une adresse de portefeuille matériel exécutent le sens inverse. Les opérateurs de nœuds les utilisent comme un commerce utilise un dépôt de nuit, vidant les canaux pleins vers le stockage on-chain et rétablissant la capacité d'être payé. Boltz et Loop sont les deux noms que vous rencontrerez le plus souvent dans les outils et la documentation.

Deux coûts méritent d'être connus avant d'en utiliser un. Premièrement, le fournisseur prélève des frais de service en plus des frais de minage on-chain, et sur les petits montants les frais de minage dominent : échanger 50 000 satoshis quand la chaîne demande 20 sat/vB est une mauvaise affaire, quelle que soit la qualité du taux du fournisseur. Deuxièmement, une branche est une transaction on-chain, donc toute l'opération attend des confirmations même si la moitié Lightning est instantanée.

Submarine swap vs atomic swap

Un submarine swap échange du bitcoin contre du bitcoin entre deux couches ; un atomic swap échange deux actifs différents entre deux chaînes différentes. Les deux utilisent le même mécanisme de hachage et de verrou temporel, d'où la confusion entre les noms. La différence est ce qui change de mains : après un submarine swap vous détenez le même actif à un autre endroit, on-chain au lieu d'un canal, tandis qu'après un atomic swap vous détenez quelque chose d'entièrement différent, et vous avez assumé le risque de prix de cet actif. Les submarine swaps sont une plomberie courante utilisée quotidiennement. Les atomic swaps entre chaînes restent rares en pratique, car ils exigent que les deux chaînes prennent en charge des contrats compatibles et que les deux parties restent en ligne.

À ne pas confondre avec

Questions fréquentes

Un fournisseur de swap peut-il voler mes bitcoins ?

Non. Chaque voie d'un submarine swap est imposée par script : le fournisseur ne peut réclamer vos fonds on-chain qu'en révélant la préimage qui paie aussi votre facture Lightning, et sinon le verrou temporel vous rend l'argent.

Pourquoi un petit submarine swap coûte-t-il si cher ?

Parce qu'une branche est une transaction on-chain ordinaire, donc elle paie les frais de minage en vigueur quel que soit le montant. Échanger des dizaines de milliers de satoshis pendant une période de frais élevés peut coûter une large part du montant échangé.

Termes associés

Plus de termes : Lightning et couche 2

Lire cette page en anglais