Facebook Libra Basics for Techies
What is Facebook Libra about? Why is Libra important? How about Development? So Many Questions!
Facebook Libra is clearly causing some significant confusion for both business focused professionals as well as technically focused professionals. It would also be fair to say that governments are also up in arms about “Facebook” not requesting their permission.
Clearly, things could change significantly from today until the date it is released into production.
Libra is designed to be a high throughput, global blockchain, one that’s built with programmable money in mind but limits how much users can do initially as it evolves from prototype to a robust ecosystem. – Libra Whitepaper
Below are some brief bullet points about Libra.
- Libra is Facebook’s proposed new cryptocurrency.
- Properties are similar to a stablecoin and would be tied to fiat currency and financial vehicles such as bonds.
- Facebook’s potential user base is over 2.3 Billion Users and if only 10% of the users used Libra the impact would be significant. The average fee on a cross-border remittance is around 7% this number is according to the World Bank
For Example US has over 68 Billion in remittance outflows
- Oversight by the Libra Consortium with 28 partners which is slated to scale to 100 members.
- Significant Challenges from a legal and governance perspective.
- There is a testnet available for developers to experiment with and follow this link below for how to deploy on Google Cloud Platform .
- Developed on a newer Development Language called Move
- Stated launch in Mid 2020 on an assumption no legal challenges would prevent release.
What is the Libra Association
Libra Association currently has over 28 members and up to 100 members at release. The association is considered a “Not for Profit” which is based in Geneva Switzerland.
The Libra Association was intended to be independent of Facebook meaning that Facebook does not have centralized control and consensus votes is based on participation of all members .
The Founding Members paid around 10 Millions dollars to join the association.
Who are the Founding Members at the time of writing ?
•Payments: Mastercard, PayPal, PayU, Stripe, Visa
•Technology and Marketplaces: Booking Holdings, eBay, Facebook(Calibra), Farfetch, Lyft, MercadoPago, Spotify AB, Uber Technologies, Inc.
•Telecommunications: Iliad, Vodafone Group
•Blockchain: Anchorage, Bison Trails, Coinbase, Inc., Xapo Holdings Limited
•Venture Capital: Andreessen Horowitz, Breakthrough Initiatives, Ribbit Capital, Thrive Capital, Union Square
•Nonprofit and Multilateral Organizations, and Academic Institutions: Creative Destruction Lab, Kiva, Mercy Corps, Women’s World Banking
“Members of the Libra Association will consist of geographically distributed and diverse businesses, nonprofit and multilateral organizations and academic institutions.”Facebook Whitepaper
Facebook Libra was founded June 2019 in Geneva Switzerland.
The Libra Project Structure
The Libra Project structure is more than just the cryptocurrency. It has the following main structural components of it projects.
•Libra Association Members currently at 28 but slated to be 100 members as previously stated.
•Facebook Subsidiary – Calibra was founded as a separate company (subsidiary) of Facebook to provide the wallet for Libra. This digital wallet would be a Facebook App and would be available on the App Store and Google Play. It also states on the site that accounts would be verified with government-issued ID. For those that love Facebook apps Calibra will have 24/7/365 support in Messenger and WhatsApp.
The link for Calibra is here and you can sign up to be notified when the wallet is released. https://calibra.com/
•Libra Blockchain is the actual blockchain service and network. Libra is a slated as a permissioned blockchain with a goal of being a permissionless blockchain in 5 years.
The chart compares Libra to other common blockchains.
•Move Programming Language was developed to meet the requirements of the platform.
Transactions Per Seconds. (TPS)
Blockchains are slow. No spin on this and you should not expect to compete with legacy platforms in a lot of use cases. Here is where Facebook Libra states they stand on Transactions per Second (TPS). Essentially 1000 TPS is what was mentioned in the Libra website.
Is Libra Open Source?
Libra Core, which is an open-source project managed by the Libra Association using development practices established by the open-source community.
Libra is provided under Apache 2.0 Open Source and the Codebase is open but in prototype mode
” Prototype mode” is meaning that the codebase is not stable and subjected to major changes. As the language stabilizes, the association plans to open up the language to third-party development.
Libra uses a form of PBFT Consensus which is known as Practical Byzantine Fault Tolerance. The consenus for Libra is called LibraBFT
LibraBFT is based on another consensus algorithm called “HotStuff”
PBFT is a “practically” improved form of BFT where the nodes in the network will be in constant communication with each other.
One of the benefits of PBFT is that the total number of malicious nodes simple cannot exceed one-third of the total population. In Libra that number would be 33 nodes that would be required.
What about Smart Contracts?
Libra will be implementing Smart Contracts which of course provide significant possibilities for distributed applications.
What is a Smart contract? A smart contract is a term used to describe computer program code that is capable of facilitating, executing, and enforcing the negotiation or performance of an agreement using Blockchain technology. (Contract)
The entire process in smart contracts are automated can act as a complement, or substitute, for legal contracts.
The terms of the smart contract are recorded in a computer language as a set of instructions
Libra Smart Contracts are referred to as “Modules”.
What is this “Move” programming Language?
Move is an executable bytecode language that is used to implement custom transactions and smart contracts. Move will provide for secure smart contracts.
One of the factors that Move was chosen as the language to base the platform on was that it is a “Well Typed Programming Language”. A well typed programming language Move is based on static typing and is considered a logical constraint.
Move is also a Functional Programming Language and appears to have a clearly defined whitepaper. The whitepaper is here.
The key feature of Move is the ability to define custom resource types with semantics inspired by linear logic: a resource can never be copied or implicitly discarded, only moved between program storage locations.
Github is located here https://github.com/libra/l ibra
Main applications of Move Programming are as follows
- Issuing cryptocurrencies, tokens, and digital assets.
- Handling the blockchain transactions.
- Managing validators nodes
Note: Move language is currently only exposed to built-in smart contracts such as the ones that manage the validator node set and the Libra coin.
“Move modules are similar to smart contracts in other blockchain languages. …, However, modules enforce strong data abstraction — a type is transparent inside its declaring module and opaque outside of it.”Libra Whitepaper
Libra has a Testnet that can be download and note there is no Mainnet is at the time of writing.
Note that this assumes you have a basic knowledge of Google Cloud Platform and is not a tutorial for Google Cloud Platform basics.
The testnet at the time of writing has the following processes available.
- Create Accounts
- Mint Coins
- Validate Coins
- Transfer Coins
- Validate State
- And a few more status related commands
I provide below a video walkthru demo on how to deploy the Libra Testnet on Google Cloud Platform.
Developers should position themselves.
Developers clearly may have a great opportunity if Facebook Libra really go to the level of growth and usage that is expected. As a developer I would be really focused on learning the testnet first and then move on to picking around the Github.
When trying to find blockchain expertise, there are some skillsets you must consider. Consider these as a starting point in a typical blockchain development role
The graphic below shows common enterprise skills that will enable developers to gain a footing on the rapidly moving world of blockchain.
Common development languages clearly could be beneficial not just for blockchains such as Ethereum but also Libra
The graphic below highlights common development languages and the blockchain they are associated with.
The following summary of Libra.
- Libra is Facebook’s proposed new cryptocurrency. (Stablecoin)
- Wallet is called Calibra.
- Facebook’s potential user base is over 2.3 Billion Users.
- Live deployment would be in mid 2020
- Developed in the Move programming language and has a Testnet
- Significant regulations and challenges lie ahead.
- Potential impact could be significant economically for the underbanked/unbanked.
- Developers can position themselves for success.
Pre Order my book on Amazon
Architecting Enterprise Blockchain Solutions from Wiley Sybex.
Joe Holbrook, The Cloud Tech Guy