Bitcoin (BTC) : les Watchtowers débarquent sur le Lightning Network !
C’est à travers une proposition diffusé le 29 mai que Conner Fromknecht – Responsable de l’ingénierie cryptographique pour le Lightning Lab – a dévoilé une implémentation des watchtowers pour le Lightning Network du Bitcoin. Ces acteurs tiers ont pour mission de garder un œil sur les canaux du Lightning Network pour traquer et signaler les potentiels mauvais acteurs.
Le problème des nœuds hors ligne
Avant d’entrer dans les détails de cette solution, il convient de revenir sur le problème que peuvent rencontrer les utilisateurs dont le nœud venait à être hors ligne.
Prenons le cas de Alice et Bob qui ont un canal de paiement Lightning Network ouvert. À la création de ce canal, 5000 satoshis ont été crédités de chaque côté, et qu’au cours du temps, Alice a envoyé 1000 satoshis à Bob. Cette transaction amenant les balances à 4000 sat pour Alice et 6000 sat pour Bob.
Imaginons que pour n’importe quelle raison, Bob ne peut plus accéder à son wallet Lightning Network : son nœud est peut-être hors ligne, il n’a pas accès à son ordinateur ou autres.
Dans ce cas, Alice est en mesure de profiter de cette absence en diffusant l’état initial du canal en tant que transaction d’état final de ce dernier. Bob n’ayant pas accès à son wallet, il ne peut pas vérifier le comportement frauduleux d’Alice en vérifiant l’état actuel du canal. La balance en satoshis d’Alice reviendrait alors à 5 000 sat & celle de Bob également.
La solution apportée par les Watchowers
C’est pour éviter ces comportements frauduleux sur le Lightning Network que les watchtowers ont été imaginés. Elles ont pour mission de surveiller les canaux de paiements et la blockchain afin de détecter quelconque tentative de fraude.
Lorsqu’il y a une modification de l’état du canal (transfert entre Alice et Bob), le paiement produit un blob – Binary Large Object – contenant l’état du canal pour chacun des utilisateurs. Pour assurer la confidentialité, ce blob est chiffré avec les clés publiques des deux parties de la transaction.
Ce blob, ainsi que la moitié de l’identifiant de la transaction – txid – de l’état précédent, est envoyé au watchtower qui va les stocker dans une base de données.
Dans le cas où, soit Alice, soit Bob, venait à diffuser un état antérieur à l’état actuel du canal, la moitié de txid dont dispose le watchtower correspondrait avec celle publiée. Ainsi, le watchtower sait que la transaction est frauduleuse et peut déchiffrer le blob correspondant puis, punir le mauvais acteur en envoyant les fonds dans le wallet de l’utilisateur honnête.
Jusqu’à ce que la transaction soit accessible de manière publique sur la blockchain Bitcoin, le watchtower ne connait ni l’utilisateur qui fraude, ni le montant impliqué.
Ce système est fonctionnel, en l’état, sur le mainnet du Lightning Network.
« Le système de watchtower peut être utilisé sur le mainnet tel qu’il est aujourd’hui, mais il n’en est qu’à ses débuts. Nous exécutons l’ensemble des changements sur nos nœuds depuis quelques mois maintenant, mais ce n’est que cette semaine que nous avons lancé la proposition publique » Olaoluwa Osuntokun CTO du Lightning Labs.
Les différentes phases du déploiement
Comme l’a annoncé le CTO, cette implémentation n’est qu’une première phase dans le développement des watchtowers.
En effet, dans cette première phase appelée altruistic phase, les watchtowers remplissent leur mission sans moyenner des frais. Cette phase sera par la suite, suivie de la mise en place d’un système de récompense. Le montant de celles-ci, dépendront de combien demanderont les watchtowers et de combien les utilisateurs seront prêt à payer pour le service.
Le CTO a également révélé que le Lightning Labs travaille sur un protocole de découverte automatique des watchtowers, permettant de rendre l’ensemble du procédé décentralisé.
Sachant que le principal coût pour opérer un tel service réside dans le stockage – 1TB conseillé – et qu’il nécessite également de disposer d’un nœud Lightning Network, il est probable que cette solution attende la mise en place du système de récompense pour devenir pérenne.
[es_tradingview symbol= »bitfinex:btcusd » interval= »D » height= »500″ colors= »Light »]