Donner aux utilisateurs de crypto un meilleur rendement
Un nouveau système de cryptage et de routage des devises, co-inventé par les chercheurs du MIT, peut accroître l’efficacité – et, en fin de compte, les bénéfices – de certains réseaux conçus pour accélérer les transactions notoirement lentes des chaînes de blocs.
Les cryptocurrences sont prometteuses pour les transactions financières de poste à poste, ce qui pourrait rendre les banques et les cartes de crédit obsolètes. Mais il y a un problème d’évolutivité : Bitcoin, par exemple, ne traite qu’une poignée de transactions par seconde, alors que les principales cartes de crédit en traitent des centaines ou des milliers. C’est parce que la chaîne de blocage – sur laquelle sont construites les cryptocurrences des livres numériques – prend beaucoup de temps pour traiter les transactions.
Une nouvelle solution est celle des « réseaux de canaux de paiement » (PCN), où les transactions sont effectuées avec une participation minimale de la chaîne de blocage. Des paires d’utilisateurs du PCN forment des comptes séquestre hors de la chaîne de blocage avec une somme d’argent dédiée, formant ainsi un grand réseau interconnecté de comptes communs. Les utilisateurs acheminent les paiements par l’intermédiaire de ces comptes, mais ne font qu’appuyer sur la chaîne de blocage pour établir et fermer les comptes, ce qui accélère considérablement les choses. Les comptes peuvent également percevoir des frais minimes lorsque les transactions sont acheminées par leur intermédiaire.
Cependant, des systèmes de routage inefficaces ralentissent même ces solutions rapides. Ils épuisent fréquemment les soldes des utilisateurs sur ces comptes, les obligeant à investir beaucoup d’argent sur chaque compte ou à rééquilibrer fréquemment leurs comptes sur la chaîne de blocage. Dans un document présenté le mois prochain au symposium USENIX sur la conception et la mise en œuvre de systèmes en réseau, les chercheurs présentent « Spider », un système de routage plus efficace qui permet aux utilisateurs d’investir seulement une fraction des fonds dans chaque compte et de traiter environ quatre fois plus de transactions avant de se rééquilibrer sur la chaîne de blocage.
« Il est important d’avoir un routage équilibré et à haut débit dans les PCN pour s’assurer que l’argent que les utilisateurs mettent sur des comptes communs est utilisé efficacement », déclare le premier auteur, Vibhaalakshmi Sivaraman, étudiante diplômée du Laboratoire d’informatique et d’intelligence artificielle (CSAIL). « Ce devrait être une entreprise efficace et lucrative. Cela signifie qu’il faut acheminer autant de transactions que possible, avec aussi peu de fonds que possible, pour que les NCP en aient pour leur argent ».
Sivaraman est accompagné de Shaileshh Bojja Venkatakrishnan, ancien post-doc, de Parimarjan Negi et Lei Yang, étudiants diplômés du CSAIL, et de Mohammad Alizadeh, professeur associé de génie électrique et d’informatique et chercheur au CSAIL, de Radhika Mittal de l’université de l’Illinois à Urbana-Champaign, et de Kathleen Ruan et Giulia Fanti de l’université Carnegie Mellon.
Paiements par paquets
Les PCN reposent largement sur des comptes communs bidirectionnels – où les deux parties peuvent recevoir et envoyer de l’argent – afin que l’argent puisse être acheminé entre tous les utilisateurs. L’utilisateur B peut avoir un compte commun avec l’utilisateur A, tout en se liant séparément à l’utilisateur C. Les utilisateurs A et C ne sont pas directement connectés, mais l’utilisateur A peut envoyer de l’argent à l’utilisateur C via les comptes communs A-B et B-C.
Pour échanger des fonds, chaque partie doit approuver et mettre à jour les soldes de leurs comptes communs. Les paiements ne peuvent être acheminés que sur des canaux disposant de fonds suffisants pour traiter les transactions, ce qui pose des problèmes majeurs.
Les systèmes traditionnels envoient les transactions par le chemin le plus court possible, sans connaître le solde d’un utilisateur donné ni le taux d’envoi sur ce compte. Cela peut amener l’un des utilisateurs du compte commun à traiter un trop grand nombre de transactions et à atteindre un solde nul, ce qui l’empêche d’effectuer d’autres transactions. De plus, les utilisateurs ne peuvent envoyer qu’un paiement intégral. Si un utilisateur veut envoyer, par exemple, 10 bitcoins, les systèmes actuels tentent de pousser le montant total sur le chemin le plus court possible. Si ce chemin ne peut pas supporter les 10 bitcoins à la fois, ils chercheront le chemin le plus court suivant, et ainsi de suite – ce qui peut ralentir ou faire échouer complètement la transaction.
Inspiré d’une technique de communication sur Internet appelée commutation par paquets, Spider divise chaque transaction complète en petits « paquets » qui sont envoyés sur différents canaux à des rythmes différents. Cela permet au régime d’acheminer des parties de ces paiements importants vers des comptes potentiellement peu provisionnés. Chaque paquet a alors beaucoup plus de chances d’atteindre sa destination sans ralentir le réseau ou être rejeté pour une raison ou une autre en raison de sa taille.
« Le chemin le plus court peut provoquer des déséquilibres entre les comptes qui épuisent les principaux canaux de paiement et paralysent le système », explique M. Sivaraman. « Acheminer l’argent de manière à ce que les fonds des deux utilisateurs sur chaque compte commun soient équilibrés nous permet de réutiliser les mêmes fonds initiaux pour soutenir autant de transactions que possible ».
Tous en file d’attente
Une autre innovation consistait à créer des files d’attente sur des comptes encombrés. Si un compte ne peut pas traiter les transactions entrantes qui exigent qu’il envoie de l’argent, au lieu de les rejeter, il les met en file d’attente. Ensuite, elle attend les transactions qui lui permettront de reconstituer ses fonds – dans un délai raisonnable – pour pouvoir traiter ces transactions.
« Si vous êtes en attente, mais que je vous envoie des fonds dans la seconde qui suit, vous pouvez alors utiliser n’importe lequel de ces fonds pour envoyer vos transactions en attente », explique M. Sivaraman.
Les chercheurs ont également adopté un algorithme – construit par Alizadeh et d’autres chercheurs – qui surveille l’encombrement des centres de données pour identifier les retards dans les files d’attente des comptes encombrés. Cela permet de contrôler le taux des transactions. Supposons que l’utilisateur A envoie des fonds à l’utilisateur C par l’intermédiaire de l’utilisateur B, qui a une longue file d’attente. Le destinataire C envoie à l’expéditeur A, avec la confirmation de paiement, une information représentant le temps d’attente de la transaction chez l’utilisateur B. Si ce temps est trop long, l’utilisateur A fait passer moins de transactions par l’utilisateur B. Au fur et à mesure que le temps d’attente diminue, le compte A fait passer plus de transactions par B. De cette façon, en surveillant uniquement les files d’attente, Spider est en mesure de s’assurer que le taux de transactions est à la fois équilibré et aussi élevé que possible.
En fin de compte, plus l’acheminement des PCN est équilibré, plus la capacité requise – c’est-à-dire l’ensemble des fonds sur tous les comptes communs – est faible pour un débit de transactions élevé. Dans les simulations PCN, Spider a traité 95 % de toutes les transactions en utilisant seulement 25 % de la capacité nécessaire dans les systèmes traditionnels.
Les chercheurs ont également effectué des tests sur des transactions délicates appelées « DAG », qui sont des paiements unidirectionnels où un utilisateur est inévitablement à court de fonds et doit se rééquilibrer sur la chaîne de blocage. Une mesure clé de la performance des PCN sur les transactions DAG est le nombre de transactions hors chaîne activées pour chaque transaction de la chaîne de blocage. À cet égard, Spider est capable de traiter huit fois plus de transactions hors chaîne pour chaque transaction sur chaîne. En revanche, les régimes traditionnels ne prennent en charge que deux fois plus de transactions hors chaîne.
« Même avec des rééquilibrages extrêmement fréquents, les systèmes traditionnels ne peuvent pas traiter toutes les transactions DAG. Mais avec un rééquilibrage à très basse fréquence, Spider peut les compléter tous », explique Sivaraman.
Ensuite, les chercheurs rendent Spider plus robuste aux transactions DAG, ce qui peut provoquer des goulots d’étranglement. Ils explorent également les questions de confidentialité des données et les moyens d’inciter les utilisateurs à utiliser Spider.