Glossaire / Lightning et couche 2
Réserve de canal
- Qu'est-ce que la réserve de canal ?
- La réserve de canal est la part du solde d'un canal Lightning que chaque partie a l'interdiction de dépenser, conservée en garantie pour que toute triche avec une ancienne transaction d'engagement coûte toujours quelque chose.
Les deux pairs se fixent une réserve l'un pour l'autre à l'ouverture du canal, et aucun des deux ne peut descendre en dessous tant que le canal existe. Le BOLT 2 suggère 1 pour cent du total du canal et exige que la réserve soit au moins égale à la limite de poussière, qui ne peut pas être inférieure à 354 satoshis. Un portefeuille affichant 100 000 satoshis vous laissera dépenser un peu moins, et cet écart n'est pas un bug.
Comment cela fonctionne
La réserve de canal est fixée par votre pair et non par vous : le champ channel_reserve_satoshis qu'un nœud envoie est le minimum que le nœud situé à l'autre bout doit conserver comme paiement direct.
Le champ est un nombre de 64 bits dans open_channel, type de message 32, et de nouveau dans accept_channel, type 33, si bien qu'un canal ouvert ainsi porte deux réserves, qui n'ont pas besoin de correspondre. La justification de la spécification en donne l'objet : chaque partie maintient sa réserve "so it always has something to lose if it were to try to broadcast an old, revoked commitment transaction". Supprimez-la et le perdant d'un litige de canal ne risque plus rien en publiant un solde périmé en espérant que personne ne regarde.
Deux contrôles maintiennent le chiffre cohérent. Une réserve doit être au moins égale à la limite de poussière concernée, et le canal échoue purement et simplement si la limite de poussière est la plus grande des deux, car une réserve qui peut être élaguée comme poussière ne protège rien ; le canal échoue aussi si les deux soldes d'ouverture se situent à la réserve ou en dessous, ne laissant rien de dépensable. Il existe une exception parce que seul le financeur détient de l'argent au départ : un nouveau canal n'a pas besoin de respecter les deux réserves à la fois, et le protocole se contente de progresser vers elles.
Les canaux à financement double suppriment le champ. Dans l'établissement de canal v2, open_channel2 et accept_channel2 omettent channel_reserve_satoshis, et la réserve est fixée à 1 pour cent des deux contributions de financement additionnées, arrondie à l'inférieur au satoshi entier, ou à la limite de poussière si celle-ci est plus grande. Le splice suit le même principe : retirez de l'argent d'un canal actif et ce qui reste de votre côté doit couvrir la réserve pour la nouvelle capacité. Celui qui paie les frais on-chain supporte une déduction de plus, car sauf si des engagements à frais nuls ont été négociés, le financeur couvre les frais d'engagement au-dessus de sa réserve, plus une marge recommandée pour deux fois ce taux de frais.
Où vous le rencontrez
La réserve de canal est la raison habituelle pour laquelle le montant dépensable d'un portefeuille Lightning est inférieur à son solde.
Sur un solde important, l'écart est invisible, sur un petit il ne l'est pas. Une réserve de 1 pour cent sur un canal de 200 000 satoshis représente 2 000 satoshis, donc un portefeuille qui y détient 2 300 satoshis peut envoyer 300 et refuse tout montant supérieur, avec une erreur de routage, sans explication. Le même plancher se trouve dans chaque canal d'un inconnu que traverse votre paiement, ce qui explique en partie pourquoi les routes échouent près des extrémités d'un canal. Les opérateurs de nœuds le rencontrent comme le solde qui ne bouge jamais : ouvrez un canal de 1 000 000 satoshis, faites-y passer tout ce que vous pouvez, et les 10 000 derniers satoshis restent en place jusqu'à la fermeture du canal.
Le point à retenir : cet argent est toujours le vôtre. Il revient à la fermeture, coopérative ou forcée, moins les frais de fermeture. À mettre en regard de ce qu'un portefeuille Lightning en auto-conservation facture pour vous faire de la place : notre avis sur Phoenix relève 1 000 satoshis pour créer un canal, et cette somme est perdue une fois payée. Une réserve est du capital immobilisé.
Réserve de canal vs limite de poussière
La réserve de canal et la limite de poussière sont des planchers sous un montant, issus de couches différentes. La limite de poussière est une politique de relais de bitcoin concernant les sorties : en dessous, une sortie coûte plus à dépenser qu'elle ne contient, donc les nœuds refusent de relayer la transaction qui la crée. La réserve est une règle sur les soldes de canal, inscrite dans la spécification Lightning pour rendre la triche coûteuse, et elle ne lie que deux pairs. Le BOLT 2 les relie dans un seul sens, en exigeant qu'une réserve soit au moins égale à la limite de poussière pour que la sortie qui la paie reste relayable ; rien ne pousse la limite de poussière vers le haut en direction de la réserve.