Effectuer des paiements Lightning avec une application mobile ne nécessite ni surveillance de la blockchain ni confiance dans l’entité avec laquelle vous avez ouvert un canal. Votre interlocuteur n’a en effet aucune raison de tricher en publiant un état ancien de la balance des fonds puisque les bitcoins ne vont que dans un sens : de vous vers lui. Publier un état obsolète ne peut que vous être favorable.
En revanche, pour un appareil qui n’est connecté que par intermittence, recevoir des paiements est plus problématique. L’exigence est double : être en mesure de surveiller de la blockchain et disposer d’un canal alimenté non pas par vous, mais par votre contrepartie. Acinq propose aujourd’hui des compromis permettant de surmonter ces deux obstacles qui empêchaient jusqu’alors de recevoir des paiements lightning avec un smartphone.
Surveillance de la blockchain
Avec la configuration actuelle on dispose de 24 heures pour réagir en cas de triche, ce qui signifie qu’un wallet Lighning doit monitorer la blockchain au minimum une fois par jour afin de pouvoir réagir si votre contrepartie tente de publier un état obsolète de la balance qui vous serait défavorable. Les concepteurs d’Eclair Mobile ont abandonné l’idée des « watch towers », c’est à dire d’un tiers qui surveillerait pour vous la blockchain, solution jugée ni pérenne ni viable économiquement, et opté pour une autre stratégie : repousser le temps de clôture des canaux à deux semaines (le maximum prévu par le protocole) et faire tourner une légère tâche en arrière-plan qui se connectera occasionnellement – au moins une fois pas semaine – aux serveurs Electrum d’Acinq ou à votre propre serveur Electrum si vous l’avez configuré. Eclair Mobile vérifiera alors que les transactions de financement de vos canaux n’ont pas été dépensées et, en cas de problème, qui vous enverra une notification vous demandant de redémarrer l’application le plus rapidement possible. Si votre appareil est déconnecté plus de deux semaines vos fonds ne sont pas pour autant perdus puisque il est assez peu probable que votre contrepartie, qui n’a aucun moyen de savoir que vous n’êtes pas connecté, prenne le risque de perdre tous ses fonds en essayant de vous voler. Comme la vaccination il suffit donc théoriquement qu’un nombre raisonnable d’appareils soient de temps en temps connectés pour fournir à tout le monde un niveau correct de protection.
Balance du canal
Le second problème à résoudre était celui de la balance du canal. Pour que vous puissiez recevoir un paiement il faut que votre interlocuteur ait financé un canal vers vous. L’idée retenue par Acinq c’est d’utiliser la fonctionnalité push_msat qui permet d’envoyer sans condition des fonds à votre contrepartie lorsque vous ouvrez un canal avec elle, afin de payer à l’avance les liquidités entrantes. À partir d’aujourd’hui, lorsque vous ouvrez un canal vers le nœud testnet d’Acinq, un canal vers votre nœud sera automatiquement ouvert avec 1% du montant du premier canal.
Si les retours sont concluant la fonctionnalité pourrait être intégrée à Eclair Mobile d’ici quelques semaines.
Démonstration en vidéo :
En savoir plus : medium.com/@ACINQ