• Print
  • Decrease text size
  • Reset text size
  • Larger text size
03/07/2019

Libra : Point de vue technique Sia Partners

Le 18 Juin 2019, Facebook a dévoilé Libra, son projet de crypto-monnaie stable dont l’objectif est de permettre les transferts monétaires au niveau mondial, avec simplicité, notamment via le portefeuille Calibra, qui sera compatible avec les applications de messagerie WhatsApp et Messenger. Ont ainsi été publiés un livre blanc contenant des informations sur la Libra Association - en charge de la mise en place du projet - sur la Libra Reserve - la réserve de change associée au projet - et un livre blanc technique dévoilant les caractéristiques de la blockchain Libra. Un réseau de test a également été mis en place, permettant de tester les possibilités de la blockchain. Nous vous proposons dans cet article une analyse du livre blanc technique et du réseau de test.

La Blockchain Libra

La blockchain Libra est une blockchain de consortium. C’est-à-dire que les « nœuds [1]» du réseau sont des acteurs du consortium, dans le cas de Libra ces acteurs se sont acquittés d’une somme de 10M$, et l’ajout de nouveau membre ne se fait qu’avec l’accord des autres nœuds.

Les nœuds en charge de valider les transactions sont gérés par les membres de la Libra Association (composée actuellement de 27 entreprises, telles que Visa, Uber, Illiad, Coinbase, …). L'objectif de la Libra Association est d'ouvrir progressivement la gouvernance à un plus grand nombre de membres, avec comme souhait de faire de la Libra Blockchain une blockchain publique cinq ans après le lancement du réseau.

À date, de la même manière que pour Bitcoin ou Ethereum, l’utilisation de la blockchain Libra ne nécessite pas de donner son identité. Il est possible de créer une adresse Libra, et d’utiliser directement le réseau (à condition d’avoir des Libras à échanger). De plus, le registre de toutes les transactions est accessible librement. Aucune transaction n’est privée.

Voici quelques détails techniques :

Le schéma de création des clés publiques est EdDSA, contrairement à Bitcoin ou Ethereum qui utilisent ECDSA (la différence est la courbe elliptique utilisée par l’algorithme). À noter qu’EdDSA est également utilisé par Stellar et Ripple ;

Une adresse publique est une suite de 64 caractères hexadécimaux, et ressemble à ceci : « de370dd605f0be27716799457b2f390807564734b49be82ecf1efa7af1585434 » ;

Les portefeuilles des adresses sont représentés sous forme de compte, de la même manière que sur Ethereum, et contrairement à Bitcoin qui utilise l’UTXO[2] ;

L’envoi minimal possible est de 0.000001 Libras ;

L'algorithme de consensus de Libra s'appelle LibraBFT. Cet algorithme est de type pBFT[3], il est très différent de ceux utilisés par Bitcoin ou Ethereum (qui utilisent le Proof of Work) mais il est proche de ceux utilisés par Ripple, Stellar ou dans les technologies de blockchains privées comme Hyperledger ou Corda.

  • Les avantages de LibraBFT sont que l'algorithme est plus rapide que le Proof of Work, et qu'il consomme beaucoup moins d'énergie. Ce système limite également l'émergence des hard-fork.
  • Par contre, avec un algorithme de type PBFT, il est très complexe de maintenir un réseau de validateurs supérieurs à 100 nœuds, c'est donc un système beaucoup plus centralisé. De plus, les anciens blocs sont effacés progressivement de la chaîne, et un nouveau nœud validateur doit donc faire confiance aux anciens nœuds sur la validité des anciennes transactions ;

Le réseau est encore en cours de test, mais la Libra Association prévoit une latence de transaction de 10 secondes et un débit de 1000 transactions par seconde lors du lancement officiel, pour un réseau de 100 nœuds validateurs ;

Tout comme les blockchains publiques, l'envoi de transactions sur le réseau Libra nécessitera de payer des frais de transactions, en monnaie Libra.

Smart contracts

Il est possible de créer des smart contracts sur la Libra Blockchain, d'une manière similaire à Ethereum.

L'écriture de smart contracts se fait via le langage de programmation Move, encore en développement par Facebook. Ce langage a été développé par Facebook, avec l'objectif de garantir la sécurité des applications. Les scripts Move se compilent en « bytecode », exécuté par la Move Virtual Machine, de la même manière que Solidity se compile en bytecode, exécuté par l’EVM (Ethereum Virtual Machine).

Il est pour l'instant impossible de créer ses propres smart contracts, mais il est possible d’utiliser ceux déjà mis en place par la Libra Association. Dans le futur, tout le monde pourra créer et déployer des applications et des services utilisant la blockchain Libra.

De la même manière que sur Ethereum, le déploiement et l'utilisation d'un smart contract nécessite d'utiliser du « Gas » (la monnaie nécessaire à l’exécution d’un smart contract), payable en Libras.

En résumé, la blockchain Libra se situe à mi-chemin entre Ethereum et Ripple ou encore Stellar, d'un point de vue technique. Il n'y a pas d'innovation technologique particulière qui soit révélée dans le livre blanc.

Test du réseau

En plus du livre blanc, l’association Libra a développé un « client » Libra, appelée Libra Core, permettant de se connecter au réseau de test, de créer des portefeuilles, et d'envoyer des transactions via une interface en ligne de commande. Libra Core est mis à disposition en open source sur Github (https://github.com/Libra/Libra) et est écrit en langage Rust, ce qui est un gage de robustesse et de rapidité. Ce client n'est pas encore stable et il est mis à jour très régulièrement.

Après avoir téléchargé et installé le client Libra, un script est mis à disposition pour lancer l'interface en ligne de commande avec une connexion au réseau de test, et il est possible :

D'obtenir des Libras de test via un service « faucet[4] »

De créer des adresses

De transférer des Libras vers une autre adresse

De faire des requêtes sur les données de la blockchain (pour savoir combien de Libras possède une adresse par exemple)

Tableau comparatif entre Ripple, Ethereum et Libra :

Aujourd’hui, la technologie Libra ressemble davantage à Ripple qu’à Ethereum. C’est une blockchain de consortium, avec comme objectif de permettre les transferts financiers à l’échelle mondiale sans intermédiaire. Elle ne permet pas de faire de smart contracts mais les templates de smart contracts peuvent être utilisés.

L’objectif de la Libra Fondation est d’améliorer progressivement la décentralisation de la Blockchain Libra. C’est la première fois qu’un projet blockchain se donne comme ambition de passer d’une technologie de blockchain de consortium à une technologie de blockchain publique.

Enfin, la monnaie Libra est une monnaie stable, adossée à un ensemble de produits financiers, mise en place par un consortium d’entreprises crédibles, ce qui est également une nouveauté pour une monnaie intégrée directement dans un réseau blockchain mondial.

Sia Partners

Notes & Références:

[1] Ceux qui maintiennent le réseau et font transiter les transactions

[2] « UTXO » pour « Unspent Transaction Output », où chaque jeton est associé à une signature, à l’inverse des systèmes où un compte est associé à sa balance de jetons

[3] « Practical Bizantine Fault Tolerance », pour le nom du type de problème résolu par cet algorithme : arriver à un consensus dans un groupe d’acteur qui ne se font pas confiance

[4] Service pour obtenir des jetons gratuitement sur les testnet

0 commentaire
Poster un commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
Image CAPTCHA
Saisissez les caractères affichés dans l'image.
Back to Top