Fermer

mai 6, 2018

À quoi pourrait ressembler Lightning?


Après années de conceptualisation et de développement les premières implémentations de Lightning sont maintenant en version bêta . En conséquence, de plus en plus de nœuds apparaissent en ligne chaque jour, un nombre croissant d'utilisateurs ouvrent des canaux les uns avec les autres et certains commerçants ont même commencé à accepter les paiements Lightning.

Mais bien sûr, ce sont encore les premiers [19659005] le réseau de foudre . Alors que les principales implémentations sont utilisables et que certains portefeuilles et autres applications sont disponibles, le réseau de paiement en superposition de Bitcoin devrait s'améliorer au cours des prochaines années dans des domaines allant de l'architecture réseau à la sécurité et la convivialité.

Voici quelques-uns des plus importants projets Lightning actuellement en développement

Canaux à double financement

Le réseau Lightning se compose d'une série de canaux de paiement. Chaque canal de paiement existe entre deux utilisateurs, ce qui permet des transferts de fonds entre eux.

Cependant, à ce stade précoce de développement, les canaux de paiement ne peuvent être financés que par l'une des deux parties. La partie qui finance doit d'abord faire une transaction à sa contrepartie; Ce n'est qu'ensuite que cette contrepartie peut retourner un paiement dans le même canal de paiement.

Le livre blanc Lightning Network proposait toutefois des canaux à double financement, pour lesquels une spécification proposition a maintenant été également faite par ACINQ la société derrière eclair . Comme son nom l'indique, les canaux à double financement permettront aux deux utilisateurs de financer en partie un canal de paiement en déposant chacun un bitcoin. Cela devrait apporter plus de flexibilité à l'expérience utilisateur Lightning, car les utilisateurs peuvent immédiatement envoyer et recevoir un paiement après avoir ouvert un canal.

Swaps sous-marins

Pour effectuer un paiement Lightning, les utilisateurs doivent déposer des fonds dans Lightning. canal. Une fois dans un canal, ces fonds ne peuvent pas être envoyés aux adresses Bitcoin habituelles (à la chaîne) (à moins que le canal ne soit fermé pour la première fois). Cela signifie que bitcoin dans un canal Lightning est quelque peu séparé de bitcoin dans un portefeuille ordinaire, ce qui n'est pas sans rappeler la façon dont l'argent dans un compte est quelque peu séparé de l'argent dans un compte d'épargne. paiements de chaîne plus transparente.

Une solution est Échanges de sous-marins . Développé par Alex Bosworth (mais conceptualisé par Lightning Labs CTO Olaoluwa Osuntokun même avant que ), les échanges sous-marins permettent essentiellement aux utilisateurs d'envoyer des paiements Lightning à un intermédiaire sur le réseau Lightning; cet intermédiaire enverra une quantité correspondante de bitcoin à une adresse Bitcoin régulière (sur la chaîne). Cela fonctionne également dans l'autre sens: les utilisateurs peuvent envoyer régulièrement des paiements sur la chaîne à l'intermédiaire; cet intermédiaire enverra alors une quantité correspondante de bitcoin à un nœud Lightning récepteur sur le réseau Lightning.

Important avec Submarine Swaps, cette conversion est effectuée de manière "atomique". En utilisant une astuce déjà intégrée dans le réseau Lightning, le Le paiement de la foudre et le paiement sur la chaîne peuvent effectivement être liés les uns aux autres. Cela rend impossible pour l'intermédiaire de voler des fonds en ne transmettant pas le paiement. (En accord avec les utilisateurs, il pourrait facturer un petit supplément pour son service.)

Splicing

Une autre solution pour rendre l'expérience utilisateur Lightning plus transparente est appelée "épissage". recharger des fonds dans un canal Lightning existant, ou en "drainer" des fonds, tout en gardant la chaîne ouverte.

L'idée est simple. Tout canal Lightning commence par une transaction d'ouverture, ce qui garantit que les deux utilisateurs consentent à déplacer les fonds dans le canal. Le reste du canal Lightning consiste en une série de transactions ultérieures échangées entre les utilisateurs, qui ne sont généralement pas diffusées sur le réseau Bitcoin. Les fonds dans la transaction d'ouverture ne bougent pas jusqu'à ce que le canal soit fermé.

Lors de l'ajout, les utilisateurs prennent la transaction d'ouverture pour envoyer des fonds à une transaction d'ouverture de remplacement, incluant plus de bitcoin d'un ou des deux utilisateurs. . Une fois cette nouvelle transaction d'ouverture confirmée sur la blockchain, le canal est rechargé. Jusqu'à ce que la nouvelle transaction d'ouverture soit confirmée, les deux utilisateurs peuvent simplement mettre à jour l'ancien et le nouveau canal en même temps pour éviter tout "temps d'arrêt".

Inversement, les utilisateurs effectuent la transaction d'ouverture envoyer des fonds à une adresse régulière (sur la chaîne) et en garder éventuellement une partie dans le canal en utilisant la même astuce. De cette façon, les utilisateurs peuvent faire des transactions sur la chaîne directement à partir d'un canal Lightning.

Eltoo

Chaque fois qu'un nouveau paiement est effectué, les canaux Lightning entre utilisateurs sont mis à jour pour refléter leurs soldes mutuels. L'astuce utilisée pour ce faire inclut actuellement une pénalité pour les utilisateurs qui tentent de tricher en diffusant un solde plus ancien (probablement parce que cet ancien solde les paierait plus). Les utilisateurs tricheurs peuvent perdre tous les fonds qu'ils ont dans un canal.

Le problème est que la diffusion d'anciens soldes n'est pas toujours une tentative de tricherie. Il existe un certain nombre de scénarios dans lesquels les utilisateurs peuvent accidentellement diffuser une balance plus ancienne; par exemple, à cause d'un bug logiciel ou d'une sauvegarde qui a mal tourné. Dans de tels scénarios, une perte complète des fonds de canal est une punition assez lourde.

Première publication le 30 avril 2018, eltoo est la plus récente proposition présentée dans cet article. Développé par l'équipe de développement c-foudre de Blockstream – Dr. Christian Decker et Rusty Russell – et Osuntokun de Lightning Labs, eltoo met à jour une chaîne en construisant une chaîne de transactions verrouillées, où chaque transaction dépense des fonds de la précédente pour refléter le dernier solde de canal.

Si un utilisateur diffuse une transaction plus ancienne (représentant un solde de canal plus ancien), sa contrepartie a le temps de diffuser la dernière transaction.

Une solution comme celle-ci pourrait fonctionner aujourd'hui, mais ce n'est pas pratique en cas d'échec. Il faudrait que l'ensemble de la chaîne de transactions soit diffusée et enregistrée sur la chaîne de blocs Bitcoin, ce qui va plus ou moins à l'encontre du but du réseau Lightning. Decker, par conséquent, a proposé un changement de branche au protocole Bitcoin pour introduire un type de hiérarchie dans ces types de transactions: toute nouvelle transaction peut remplacer toute transaction antérieure sans exiger que tous

Si cette branche souple est adoptée et activée sur le réseau Bitcoin, les utilisateurs de Lightning peuvent créer des canaux dans le style actuel et en utilisant eltoo, en fonction de ce qu'ils préfèrent.

Client compact filtrage des blocs latéraux

Bien que le réseau Lightning soit un protocole de deuxième couche, le blockchain Bitcoin lui-même est toujours pertinent pour les utilisateurs de Lightning à des fins de sécurité. Plus précisément, les utilisateurs de Lightning doivent garder un œil sur la blockchain pour voir si des transactions spécifiques sont incluses. Cela peut exiger beaucoup de ressources, en particulier pour les utilisateurs mobiles.

Une solution pour cela s'appelle Simplified Payment Verification (SPV) et a été décrite dans le livre blanc Bitcoin. Les portefeuilles SPV actuels utilisent une astuce appelée " Bloom filters " pour savoir si des transactions pertinentes ont eu lieu.

Malheureusement, les filtres de Bloom sont plutôt inamicaux car les portefeuilles révèlent essentiellement toutes leurs adresses aux noeuds sur le réseau Bitcoin. Ils ont aussi des problèmes de mise à l'échelle et d'utilisabilité, car chaque portefeuille SPV prend des ressources d'au moins un nœud Bitcoin complet.

Pour résoudre ces problèmes, Osuntokun et Alex Akselrod de Lightning Labs, ainsi que Coinbase le développeur Jim Posen, a conçu une nouvelle solution appelée "filtrage de blocs côté client compact", qu'ils implémentent dans le Neutrino

Le filtrage de bloc côté client compact inverse essentiellement l'astuce que les portefeuilles SPV actuels utilisent. Au lieu que les portefeuilles demandent des transactions pertinentes en créant et envoyant un filtre Bloom à des nœuds complets, les nœuds complets créent un filtre pour tous les portefeuilles Neutrino. Le portefeuille Neutrino utilise ensuite ce filtre pour établir que la transaction pertinente n'a pas eu lieu – ce qui est vraiment tout ce que les utilisateurs doivent savoir pour être sûr qu'ils ne sont pas trompés. (Si le filtre produit une correspondance, Neutrino récupère le bloc correspondant pour voir si la correspondance concerne réellement la transaction exacte au lieu d'un faux positif.)

Il est intéressant de noter que si cette astuce a été conçue avec l'expérience Lightning, elle pourrait être

Watchtowers

Pour éviter d'être trompés, les utilisateurs de Lightning doivent garder une trace des transactions potentielles sur la chaîne qui pourraient les concerner.

Bien que le filtrage de bloc côté client compact devrait rendre les choses beaucoup plus faciles, les utilisateurs ont besoin de "check-in" de temps en temps pour s'assurer qu'ils ne sont pas trompés. S'ils oublient de vérifier, cela crée un risque pour la sécurité.

Les "tours de guet" sont une solution potentielle qui peut être reliée au livre blanc du Lightning Network et qui a depuis été améliorée par le co-auteur du livre blanc de Lightning Network et allumé développeur Tadge Dryja et d'autres. Comme son nom l'indique, Watchtowers pourrait permettre aux utilisateurs d'externaliser la surveillance des chaînes de blocs à des tiers.

Les conceptions actuelles de la Watchtower ne sont pas gravées dans la pierre, mais fonctionneraient à peu près comme ça. Chaque fois que les utilisateurs mettent à jour un canal, ils envoient un petit paquet de données à une Watchtower. La première partie de ce paquet est un "indice" d'une transaction qu'ils devraient regarder comme s'il s'agissait d'une pièce d'un puzzle. Cette indication à elle seule ne révèle rien sur le contenu de la transaction que la Watchtower doit surveiller; les utilisateurs n'abandonnent aucune confidentialité dans ce sens.

Cependant, si la transaction correspondante apparaît dans la blockchain Bitcoin, la Watchtower peut utiliser l'indice pour le reconnaître. Ensuite, avec les données de transaction sur la blockchain elle-même, la Watchtower peut utiliser la deuxième partie du paquet qu'ils ont reçu pour reconstruire la transaction de pénalité. Cette transaction pénalité envoie tous les fonds dans le canal à l'utilisateur qui est trompé. (Ou dans le cas d'eltoo, il diffuse juste le bon équilibre de canal.) La transaction de pénalité peut également être conçue pour permettre à la Watchtower de réclamer une partie des fonds comme une récompense, comme une incitation à faire son travail

sous-traiter la surveillance des canaux à plusieurs tours de guet. Même si l'un échoue, un autre ne le peut pas, limitant le risque pour les utilisateurs de Lightning au point où il est sans doute négligeable.

Paiements multi-chemins atomiques

Qu'est-ce qui fait du réseau Lightning un réseau est que les canaux de paiement entre utilisateurs sont interconnectés. Les utilisateurs peuvent payer à travers les canaux de paiement, via des pairs sur le réseau qui agissent en tant qu'intermédiaires, aux utilisateurs avec lesquels il n'y a pas de canal direct ouvert.

Cependant, un seul paiement doit être routé sur une seule route. Si un utilisateur veut payer 5 mBTC à un autre, non seulement il doit avoir 5 mBTC dans un seul canal, mais tous les intermédiaires sur l'itinéraire doivent également avoir 5 mBTC prêts dans un canal à transférer. Plus un paiement est important, plus les probabilités sont faibles.

Les paiements multitrajets atomiques (AMP) pourraient faire beaucoup pour résoudre cette limitation. Proposé pour la première fois par Osuntokun et Conner Fromknecht de Lightning Labs, l'idée est simple: des paiements plus importants peuvent être «découpés» en plus petits morceaux, chacun ayant sa propre voie du payeur au bénéficiaire, par l'intermédiaire de différents intermédiaires

défi pour réaliser cette solution est que les paiements Lightning peuvent échouer, ce qui, dans ce cas, signifie qu'un paiement est effectué partiellement. Cependant, les paiements partiels peuvent facilement être un plus gros problème que l'absence de paiement: un commerçant ne sera pas satisfait d'un paiement partiel, alors qu'un client ne sera pas content de dépenser de l'argent pour rien.

La solution à ce problème est que les AMP utilisent une extension aux contrats de hachage temporisé qui sont déjà utilisés le long des routes Lightning et qui impliquent le passage de données secrètes le long d'un réseau. En utilisant une astuce similaire à celle utilisée par les portefeuilles déterministes (qui génèrent plusieurs adresses Bitcoin à partir d'une seule graine), les plus petites pièces d'un paiement plus important ne peuvent être échangées par le bénéficiaire que si elles sont toutes: si certaines données secrètes faire le chemin à travers la route entière, le paiement entier échoue.

Échanges atomiques

Le réseau Lightning est conçu comme une couche de mise à l'échelle pour Bitcoin. Mais comme de nombreux altcoins sont des fourchettes logicielles de la ou des bases de code de Bitcoin, il n'est souvent pas difficile de créer des couches de mise à l'échelle similaires pour ces altcoins. Déjà, un petit réseau Lightning de Litecoin existe, et plus de réseaux Lightning sont susceptibles de suivre

Fait intéressant, ces réseaux n'ont pas besoin de rester séparés à l'avenir.

Utiliser un bloc de construction fondamental du réseau Lightning appelé " échange atomique "(premier proposé par Tier Nolan et réalisé sur Lightning par Lightning Labs 'Fromknecht), les canaux de paiement peuvent être reliés différentes blockchains. En d'autres termes, un utilisateur peut envoyer un bitcoin, et tant qu'un nœud sur le réseau est prêt à faire l'échange, un autre utilisateur peut recevoir le paiement comme litecoin.

Bien sûr, cela signifie également que les utilisateurs peuvent envoyer de tels paiements. à eux-mêmes: ils peuvent envoyer bitcoin et recevoir litecoin. En effet, le réseau Lightning pourrait établir un réseau d'échanges de crypto-monnaie sans faille.

Pour plus d'informations à ce sujet, voir: " Échanges atomiques: Comment le réseau Lightning s'étend aux Altcoins .

Usines de canaux

Le principal avantage du réseau Lightning est sans doute son potentiel d'augmenter considérablement la limite supérieure des transactions bitcoin sans surcharger le réseau Bitcoin. Tant que deux utilisateurs ont tous les deux des fonds dans leur canal, ils peuvent se payer un nombre de fois illimité, tout en ne nécessitant que deux transactions en chaîne: une pour ouvrir un canal de paiement et une pour le fermer

deux transactions par canal de paiement pourraient s'ajouter si Bitcoin et le réseau Lightning gagnent plus d'adoption au fil du temps.

Une proposition de ETH Zurich chercheurs Christian Decker (également de Blockstream), Roger Wattenhofer et Conrad Burchert, appelés «Channel Factories», pourraient réduire encore plus le nombre moyen de transactions sur la chaîne requises par canal de paiement, peut-être de manière significative

. un type de canal de paiement qui peut exister entre plusieurs utilisateurs. En attendant, comme n'importe quel canal de paiement, une usine de chaîne n'a besoin que de deux transactions en chaîne. (Si signatures Schnorr sont implémentées sur Bitcoin, ces transactions pourraient être assez compactes, même si cela implique de nombreux utilisateurs.)

Les usines de la Manche peuvent, à leur tour, agir en quelque sorte comme "sous-canaux" pour le réseau Lightning. Les participants d'un Channel Factory peuvent ouvrir et fermer un nombre pratiquement illimité de canaux Lightning entre eux, sans nécessiter de transactions supplémentaires sur la chaîne. Ce faisant, ils pourraient, en théorie, réduire d'un ordre de grandeur le nombre de transactions en chaîne nécessaires pour le réseau Lightning.

Pour plus d'informations sur ce sujet, voir: " This New Scaling Layer pourrait rendre les canaux de paiement dix fois plus efficaces ".

Merci au développeur de Blockstream au développeur de Lightning Labs Conner Fromknecht, au PDG de l'ACINQ Pierre-Marie Padiou et autres

Cet article a été écrit par Andrew Nelson et apparaît à l'origine dans Bitcoin Magazine la source originale d'informations, de nouvelles et de commentaires sur Bitcoin, la blockchain et les monnaies numériques. Suivez-les ici:

                            

                        




Source link