An Introduction To Libra

Libra

On June 18, Facebook unveiled its blockchain project, called Libra. The goal of Libra is to build a new financial infrastructure that empowers billions of people to access financial service efficiently and cheaply. According to the white paper, Libra is expected to launch in 2020. However, the emergence of Libra makes the US Congress ask Facebook to pause its development because the new global currency it brings would harm existing financial system. Libra published the white paper, open sourced the projects, and release the Testnet. Thus, developers can play around with the Libra and contribute to Libra Core. Currently, the Libra project is under ongoing development and the discussion forum is active too.

Libra: A Simple Global Currency and Financial Infrastructure

From the white paper, Libra is not just another new blockchain. Libra’s mission is to enable a global currency. Libra network is a permissioned blockchain, and the validator nodes are maintained by Libra association members. To join the Libra association and become a validator node, each member needs to pay a minimum of 10 million as Libra reserve. The Libra reserve will be used to back the intrinsic value of the libra token. Libra adopts the LibraBFT consensus protocol and is expected to run with 100 validator nodes. Currently, Libra claims to have 1000 TPS and will support smart contract. Besides, Facebook design a new contract language called Move, making developers easily and safely write the smart contract.

Libra Association

From Libra Core and Libra’s technical white paper, we can see lots of design concepts are similar to Ethereum as follows:

  1. Have virtual machine to support smart contract
  2. Address design adopts account based model
  3. Each account associates with a sequence number which is the number of transactions sent from a given address
  4. The global state of the blockchain is composed of ordered transactions
  5. The address is generated by the public key hash from SHA3–256

Notably, Libra currently is not like the blockchain, to collect the transactions to generate a block periodically. Instead, there is a transaction version strict increasing when a transaction committed to the ledger history. In addition, in the white paper, gas amount and gas price are introduced, but have not provide details yet. Different from current mainstream blockchain, Libra uses EdDSA as the signature algorithm. Furthermore, Libra adopts BFT-style consensus protocol, so once the block gets finalized the transaction is confirmed and cannot be reverted. Compared to the Proof of Work on public chain, it is more efficient and suitable for consortium chain.

Currently, the preview Testnet is online and Libra provides CLI client to interact with the Testnet. Unlike most of the blockchains, even running validator nodes yourself cannot participate in the permissioned blockchain but developers can run their own Testnet. It has been three months from the Testnet release, and we still can see some transactions via Libra explorer.

https://libraview.org/

Specification

+----------------+-----------------------+
| Cryptocurrency | Libra |
+----------------+-----------------------+
| Consensus | LibraBFT |
| Address | Account-based |
| Hash function | SHA3-256 |
| Signature | EdDSA (ed25519-dalek) |
| Finality time | 10 Secs |
| TPS | 1000 Tx/s |
| Smart Contract | Move language |
| Type | Consortium chain |
+----------------+-----------------------+

Reference

Thanks to AMISChang-Wu Chen. He provides this article.

Original Article