dimanche 8 mars 2015

Faciliter les transactions internationales grâce au protocole Ripple

Version compacte compliquée


Ripple est un protocole qui permet d'effectuer des transactions financières au niveau international.
Bien que le protocole existe depuis 2004, c'est l'utilisation dans l’implémentation de 2011 d'une base de donnée distribuée couplé avec un mécanisme de consensus pour en garantir l'intégrité, qui a rendu le système fiable et robuste. Le protocole est basé sur l'émission de dettes (IOU) lors de la transaction. Chaque utilisateur peut déclarer quel instrument financier il veut acheter/vendre et à quel prix. Comme le protocole est basé sur la dette, cela requière que chaque partie ait confiance en l'autre. Chaque utilisateur doit déclarer à qui il fait confiance pour quel instrument et pour quel montant. Pour compléter le système, une crypto-monnaie a été intégré dans le protocole, le XRP. Le XRP n'a pas besoin de relation de confiance pour être échangé car il ne repose pas sur le système de dette, les transactions en XRP et le montant de XRP de chaque utilisateur étant intégré dans la blockchain. Grâce à toutes les informations qui ont été enregistrées dans la base de donnée distribuée, le protocole Ripple va automatiquement essayer de matcher les ordres en utilisation un algorithme de pathfinding parcourant le graphe formé par les relations de confiances. Si l’algorithme n'arrive pas à trouver un chemin satisfaisant, il essayera de passer par une gateway qui effectuera une conversion de l'instrument d'entrée en XRP puis il cherchera une autre gateway qui effectuera la conversion des XRP vers l'instrument désiré. L’algorithme a 2 utilités principales : permettre de convertir l'instrument d'entrée en l'instrument de sortie en prenant le minimum de risque de contrepartie via les relations de confiance, mais aussi de trouver le meilleur taux de conversion. L’implémentation de la blockchain faite par Ripple est basée sur une white list de serveurs (Unique Node List) qui vont valider les transactions qui font consensus à 80%, ce qui permet un temps de confirmation de quelques secondes en contrepartie d'une faible décentralisation et donc d'une sécurité relative. Le business plan de Ripple Labs est basé sur la vente des XRP qui ont été pré-minés, ce qui fait qu'il est déconseillé aux particuliers d'investir dans cette crypto-monnaie. Néanmoins, les partenaires commerciaux de Ripple Labs sont incités à en acheter (à prix réduit), ce qui s'apparente à rentrer dans le capital de la société, et aussi à prendre part au système de consensus en ayant leur propre serveur dans la white list.

Le protocole et le réseau


Ripple est un protocole open source de payement en ligne, tout le monde peut l'utiliser librement et gratuitement. Mais Ripple est aussi un réseau qui est l'implémentation officielle du protocole et qui est maintenue par Ripple Labs. Ripple Labs est une entreprise à but lucratif, c'est elle qui est en charge du développement du réseau.

Selon Chris Larsen, le CEO de Ripple Labs, le protocole Ripple est composé de 3 éléments fondamentaux :
  • Un protocole de payement distribué
  • Une crypto-monnaie ("math based currency")
  • Une plateforme d'échange de devises
Le protocole a pour but de faciliter les transactions financières en ligne, tout en utilisant des devises qui sont familières aux utilisateurs.

L'avantage de Ripple par rapport à Bitcoin, est la possibilité pour l'utilisateur d'envoyer des euros à un autre utilisateur qui recevra des dollars, le tout en quelques secondes et sans devoir utiliser une devise intermédiaire.

Les différents acteurs du protocole


La solution proposée par le protocole Ripple identifie 3 rôles non exclusifs pour les acteurs du réseau :
  • Utilisateur- Tous les acteurs sont des Utilisateurs
  • Gateway - Acteur qui permet de faire rentrer ou sortir des devises du réseau
  • Market Maker - Acteur qui permet d'échanger des devises contre d'autres devises

Les Gateways permettent aux Utilisateurs de faire 3 actions :
  • Déposer des fonds réels et en contrepartie de l'émission d'une dette (IOU) équivalente
  • Transférer une dette d'un Utilisateur vers un autre Utilisateur de la Gateway 
  • Retirer des fonds réels en contrepartie d'une dette équivalente émise par cette Gateway

Un Market Maker est un Utilisateur qui détient des fonds sur plusieurs Gateways. Il sert d'intermédiaire lors des transactions entre Utilisateurs de différentes Gateways mais aussi de différentes devises.
Le Market Maker passe des ordres de vente et d'achat d'IOU de différentes devises qu'il détient sur différentes Gateway via le carnet d'ordre intégré dans le réseau.
Les Market Makers apportent de la liquidité aux marché des changes et font de l'arbitrage avec les autres plateformes en contrepartie d'une rémunération sur le spread des taux de change . La concurrence entre les Market Makers doit permettre aux Utilisateurs d'accéder aux meilleurs taux de change.

La dette, une histoire de confiance


Ripple est un protocole neutre qui permet d'acheter n'importe quel bien contre n'importe quel autre.
Les biens vont circuler sur le réseau sous forme de dette (IOU), cette dette représente la promesse de la Gateway qui l'a créé de délivrer physiquement le bien à quiconque la réclame. Toutes les devises qui circulent donc sur le Ripple ne sont donc que des promesses IOU faites par les Gateways qui l'ont créé.
Comme une dette n'engage que ceux qui y croient, il existe un mécanisme de confiance intégré dans le protocole Ripple. Appelé trustline, il s'agit pour chaque Utilisateur de déclarer à quelle Gateway il fait confiance, pour quel instrument et jusqu'à quel montant. Ainsi le montant maximum de dette qu'une Gateway peut créer est la somme des montants des trustlines déclaré par les Utilisateurs.
Au final, une Gateway peut être vue comme une banque, car c'est elle qui va garder les actifs des Utilisateurs sur le réseau. Cela implique aussi que la valeur de 100€ sur une Gateway A ne sera pas forcement la même que 100€ sur une Gateway B.
La force du protocole Ripple est de limiter les risques de défaut des contreparties en permettant aux utilisateurs de définir eux même la limite des risques qu'ils sont prêts à prendre. Les relations de confiances agissent au niveau individuel et non pas global.

La base de données distribuée et les transactions


Le réseau Ripple utilise une base de données distribuée qui contient toutes les informations nécessaires et suffisantes pour décrire l'état actuel du réseau. On y retrouve tous les comptes des Utilisateurs, toutes les trustlines qu'ils ont déclaré avec les Gateway, tous les IOU qu'ils détiennent sur telle Gateway, et enfin les ordres passés par les Market Makers sur le marché des changes.
Lorsqu'un Utilisateur effectue un payement à un autre Utilisateur, le réseau va résoudre automatiquement la transaction en garantissant le meilleur taux de change grâce à l'utilisation d'un algorithme de pathfinding.
Le protocole Ripple permet aux Utilisateurs d'envoyer les fonds qu'ils détiennent dans une devise sur une Gateway à un autre Utilisateur dans une autre devise sur une autre Gateway.
L'algorithme de pathfinding va regarder les ordres publiés par les Market Makers dans le carnet d'ordre pour convertir les fonds au meilleur taux.
Le protocole Ripple n'a pas besoin que 2 Utilisateurs fassent confiance à un même tiers pour qu'ils puissent échanger, ce sont les Markets Makers qui prennent les risques de contrepartie.

Le mécanisme de consensus


Le mécanisme de consensus créé et utilisé par Ripple se démarque de l'algorithme proof-of-work utilisé par Bitcoin car il a été pensé pour avoir un temps de confirmation des transactions plus rapide et utiliser moins d’électricité.
Les serveurs participant au consensus font partie d'une liste blanche appelée UNL ( Unique Node List ) qui est distribué avec l’implémentation  de référence fourni par Ripple Labs.
Chaque serveur connait donc tous les autres serveurs qui participent à la phase de consensus. Chaque nouvelle transaction est envoyé en pair à pair à chaque serveur qui va la mettre dans sa file de transaction en attente.
Le mécanisme de consensus se fait en plusieurs étapes consécutives :
  • Chaque serveur prend les transactions qu'il a dans sa file d'attente, et les évalue (valide/non valide)
  • Chaque serveur envoie aux autres serveurs le résultats de ses évaluations
  • Chaque serveur envoie aux autres serveurs le résultats de ses évaluations dont au moins 50% des autres serveurs sont arrivés au même résultat
  • Chaque serveur envoie aux autres serveurs le résultats de ses évaluations dont au moins 60% des autres serveurs sont arrivés au même résultat
  • Chaque serveur envoie aux autres serveurs le résultats de ses évaluations dont au moins 70% des autres serveurs sont arrivés au même résultat
  • Les transactions pour lesquels un consensus d'au moins 80% a été atteint, sont soit officiellement validées ou bien rejetées. Les autres transactions qui n'ont pas atteint les 80% reviennent dans la file d'attente et participeront à la prochaine phase de consensus.
A la fin de chaque phase de consensus, la base de donnée distribuée est mise à jour à partir des transactions qui ont été validées. La dernière version de cette base de données est appelée LCL ( Last Closed Ledger ). Cette méthode permet à tous les serveurs d'avoir la même version du LCL et donc d'éviter les forks. Le LCL ne peut pas être contrefait car il est signé cryptographiquement par les serveurs de la UNL.

Une crypto-monnaie intégrée


Ripple est aussi le nom donné à la crypto-monnaie intégré nativement dans le réseau, pour éviter les confusions, on utilise son trigramme international XRP ( X = international, RP = Ripple ).
La masse monétaire est fixée à 100 milliards de XRP, dont la totalité a été pré-miné et distribué partiellement par Ripple Labs. Comme certaines opérations requièrent de détruire (brûler) des XRP, la masse monétaire diminue au fil du temps et comme la valeur des XRP est définie par la loi de l'offre et la demande, leur valeur est sensée augmenter aussi. C'est sur ce mécanisme qu'est basé le business model de Ripple Labs. Seulement, comme actuellement la majorité des XRP sont gardés hors du marché en attendant que le prix monte, dès que Ripple Labs où un de leur partenaire commercial commenceront à vendre, le marché s’effondrera devant la masse de liquidités entrant dans le marché.
Les XRP permettent de lutter contre le spam car chaque action sur le réseau coûte un petit nombre de XRP qui est négligeable au niveau individuel, mais devient vite rédhibitoire en cas d'attaque du réseau.
Le fait qu'il faille avoir des XRP pour faire n'importe quelle action sur le réseau peut être un frein à l'adoption, vu qu'il faut qu'un autre compte vous envoie des XRP pour pouvoir créer votre propre compte sur le réseau.
Tous les XRP qui sont perçus comme frais de transactions par le réseau sont détruit, contractant ainsi la masse monétaire et faisant augmenter la valeur relative des autres XRP.
Les XRP permettent de fluidifier le marché des changes et de réduire les taux de changes en réduisant le nombre d'intermédiaires.
Comme XRP est la devise de référence, il existera toujours un Market Maker qui échangera la devise d'entrée contre des XRP et un autre Market Maker qui échangera des XRP contre la devise de sortie.
En théorie, si il n'existe par un Market Maker qui échange la devise d'entrée contre la devise de sortie, alors il existe un chemin passant par XRP qui permet de changer la devise en passant par 2 Market Maker.
Pour échanger une devise, il faut donc passer par 1 ou 2 Market Maker maximum.
Comme le marché des changes est un marché ouvert et ultra compétitif, le chemin le plus court est théoriquement celui avec le meilleur taux.

Sources


Ripple Knowledge Center

Ripple Wiki

Chris Larsen discusses Ripplehttps://www.youtube.com/watch?v=_SpdX36p6ao

How Ripple Works - The Consensus Process (ADVANCED)
https://www.youtube.com/watch?v=pj1QVb1vlC0

Aucun commentaire:

Enregistrer un commentaire