The Libra Blockchain project
The Libra Blockchain project will serve as a solid foundation for financial services, including a new global currency, which could meet the daily financial needs of billions of people. The blockchain has been built from the ground up to prioritize scalability, security, efficiency in storage and throughput, and future adaptability. The LibraCoin will be the native crypto-currency of the Libra Blockchain network and will be first integrated inside Facebook’s WhatsApp and Messenger applications. Libra is made up of three parts that will work together to create a more inclusive financial system:
- It is built on a secure, scalable, and reliable Blockchain that offers a global, open, instant and low-cost economic network.
- It is backed by a reserve of low-volatility assets designed to give it a stable and intrinsic value.
- It is governed by the independent Libra Association tasked with evolving the ecosystem.
The Libra Blockchain protocol is designed as a Proof-of-Stake system and also introduces a new programming language called Move for implementing a custom transaction logic and smart-contracts in the network. What’s more, the Libra blockchain, uses Modules to deploy smart-contracts, which contain Move code that declares resources types and procedures.
Currently, the Libra Association is attending auditions at the American congress to discuss the legal issues of the project and the changes required in order to comply with US laws. These legal constraints push the Libra Association to change the direction of the project and to move towards a Consortium rather than a real Blockchain.
The Libra project is presented as a payment service with its own digital currency and created originally by the Facebook company. However, since its official launch on June 18th 2019, the Libra project encountered multiple regulation hurdles. Facebook recently announced that the Libra crypto-currency would not launch until all regulatory concerns have been met with the proper appropriate approvals.
Despite this troublesome regulatory situation, the Libra Association released the first prototype of the Libra Blockchain technology alongside multiple technical whitepapers, allowing us to have a first overview and better understanding of the Libra project.
The Libra Project
The Libra project is, as its logo suggests, three components:
~ the Libra Blockchain ~ the Libra Crypto-currency ~ the Libra Association
The Libra Blockchain will be built as a secure, scalable, and reliable blockchain system that offers a global, open, instant and low-cost economic network. It will be primarily designed as a system to support the Libra crypto-currency, but will allow anyone to build and deploy smart-contracts on top of it, similarly to Ethereum.
The Libra Crypto-currency (or LibraCoin) is the native currency of the Libra Blockchain, and will be backed with a collection of low-volatility assets, including bank deposits and government securities in currencies from stable and reputable central banks (except gold assets). As the value of Libra will be effectively linked to a basket of fiat currencies, from the point of view of any specific currency, there will be fluctuations in the value of Libra. This decision should make Libra Coin a low-volatility cryptocurrency, combined with a smart-contract platform that allows the creation of new financial innovations.
The Libra Association is an independent group governing the Libra project and tasked with evolving the ecosystem. It is currently run by 28 Founding Members (which includes Facebook), however, the association is still looking for a total of 100 members. Each of the members has an equal vote power in the decision-making progress, which allows no bias in the direction of the project. Furthermore, no financial institution was integrated to the Libra association.
In-depth analysis of the Libra Blockchain:
The Libra Blockchain will serve as a solid foundation for financial services, including a new global currency, which could meet the daily financial needs of billions of people. The blockchain has been built from the ground up to prioritize scalability, security, efficiency in storage and throughput, and future adaptability.
As described in the Libra protocol paper, the protocol used by the Libra blockchain is designed as a Proof-of-Stake system (similar to the Peercoin and Decred blockchain projects). However, because the Libra project is still very young and experimental, the network will only be controlled by the Libra Association, which will be the only entity allowed to run validator nodes in the Libra network, and thus, creating a persistent point of centralized control.
This marks the major difference between the Libra blockchain and others such as Ethereum and Bitcoin; Ethereum is considered permissionless as anyone can freely join the network and authenticate the data. However, since Libra will be running with a restricted number of validator nodes, the system will be permissioned. And thus, the Libra Blockchain would be fairly similar to a Delegated Proof-of-Stake system at launch (used by the Lisk and EOS blockchain projects.).
The Libra blockchain will use a modified Byzantine Fault Tolerance algorithm called LibraBFT, which will be a variant of the HotStuff consensus protocol that allows a network with potentially malicious validators to maintain a single, consistent database. It does so by executing transaction scripts and coming to an agreement on their execution using the authenticated data structures.
What’s more, the ledger history of the Libra blockchain has no concept of block of transactions; the data structure of the ledger history is a set of signed ledger states. Validator nodes make commitments for each ledger state, and all of the historical ledger states are also committed to in Merkle trees.
Thus, the Libra Blockchain is a single data structure that records the history of transactions and states over time. Blocks are not present in the way data is stored in the system, however, the consensus protocol LibraBFT will batch transactions inside blocks for the validator nodes as a mean for optimization and to drive the consensus forward.
In terms of performance, these numbers cannot be confirmed with the Libra testnet, however, the Libra team anticipates the protocol to support over 1,000 payment transactions per second, with an approximate 10 seconds finality time between its submission and confirmation. In comparison, Bitcoin does approximately 7 tx/s (excluding off-chain solution such as Lightning Network) and Ethereum can process 15 tx/s. In addition, in comparison with more traditional payment systems, Visa has an approximate 1700 transactions per second transaction speed, and Mastercard processes around 5000 payment transactions per second. This makes the Libra network underperforming compared to these networks, however, the Libra Association is considering new scaling solutions such as payment channels. Therefore, off-chain implementations such as Bitcoin's Lightning Network could come into place to increase the Libra network performances.
Libra and the smart-contracts
The Libra Blockchain introduces a new programming language called Move for implementing a custom transaction logic and smart-contracts in the Libra Blockchain. To create smart-contracts in the Libra blockchain, we use Modules which contain Move code that declares resources types and procedures. Compared to Ethereum, which uses Solidity, Move follows the model of functional language, which strictly separate the code and the data.
To illustrate, when creating a token on Ethereum, we would deploy a smart-contract that would contain a mapping with user addresses and their balance, and the code for transferring and managing the tokens. Move, on the other hand, would deploy a new resource type (or data type), corresponding to the new token, and the code to operate the token. Each token resource would be generated inside the user account and strictly follows the rules of the contract code inside the Move module.
As we can see on the illustration above, Ethereum would store on a single address the Smart-contract component. This allows anyone with the smart-contract address to visualize the code of the contract and to check the balance values of the Token holders. On Libra however, everything is separated and thus, the data belongs to the user account and not the contract.
Libra: Between Centralization and Regulation
In conclusion, the Libra blockchain draws a lot of inspiration from existing Blockchain projects such as Ethereum, and made changes on aspects it considered necessary. We have to keep in mind, however, that the Libra technology is still a work-in-progress, and many functionalities still need to be flesh-out, more specifically the ability for a user to publish custom Move modules.
Given these points, one important aspect of the Libra Blockchain we have to keep in mind is that the network will be centralized at launch; by having 100 validated members in the network (28 being confirmed as of July 2019), Facebook promoting Libra as a permissionless network sounds like false advertisement.
Despite this issue, the company promised to move into a permissionless network in the coming 5 years. The Libra blockchain would become one of the first projects to switch from a permissioned to a permissionless network. To clarify, after some research, it turns out the Libra association created this permissioned model as an effort to make KYC (Know your Customer) and AML (Anti-Money laundering) easier to track against money-stealing and terrorism. Without this, it would have been an immediate deal breaker for highly regulated corporations such as Visa, Uber, Facebook, Lyft and more… The network has to be centralized enough to prevent any illicit activity by freezing the funds, but also decentralized enough to not discriminate against any participant.
This, however, opens up a dilemma for the Facebook company and the Libra association; not everyone wants to prove their identity every time they want to execute a transaction. In addition, after the Libra’s audition at the American congress, it became clear that Facebook privacy issues and data collection could become another underlying issue, which could lead to the exploitation of people’s personal data through the Calibra wallet. The cooperation with law enforcement agencies and lawmakers after the congressional hearings came to such an extent that the Libra developers are now discussing the limitation of not allowing anyone sending transactions; only AML/KYC wallets by Calibra would be allowed to emit transactions.
This situation consequently puts Libra in a difficult position, which could be solved with an improved system design and a more creative approach despite not looking that way.
For people who would like to learn more about the development side of the Libra project, a community repository has been created and gathers all the projects developed around Libra. An unofficial newsletter is also available for news about the Libra association and regulations issues surrounding it.