Digital lead for Calibra Ben Maurer gave a presentation on Facebook's Move programming language at the Stanford Blockchain Conference on Feb. 19. Move was created by Facebook to provide a safe and programmable foundation for the Libra blockchain. Maurer explained that Move will make it easier and more secure to program financial applications that run on Libra. He said:
“Move is a new smart contract language built into the core of Libra that is designed to bring a modern approach to today’s financial systems.”
Maurer mentioned that Libra’s mission is to solve the lack of access to financial services, noting that 1.7 billion adults globally are unbanked, yet 1 billion of those individuals have mobile phones. Maurer also noted that migrants lose $25 billion a year due to remittance transaction fees. He explained that he recently spoke with someone who had to go to a physical store and pay a fee in order to send money to their family:
“As a technologist, we should be uneasy that someone has to go to a store and pay a fee to send money. Libra is trying to solve this problem by building a new global payment system powered by blockchain.”
According to Maurer, Libra offers both users and developers direct access to its platform, creating an inclusive financial system for all:
“With Libra, users don’t have to rely on intermediaries to store funds. Libra offers direct access to the platform and creates a more inclusive system. Developers can also access the platform and build applications to help provide services for people not included in today’s financial system.”
Why does Libra require a new programming language?
While the goal behind Libra is clear, Maurer mentioned that many people are still wondering why Facebook built an entirely new programming language to power the platform.
Maurer explained that the idea was to build a language designed to fit with the paradigms used when programming with money. Unlike many other blockchains that can be used for a variety of reasons, Libra is specifically focused on payments and financial use cases for consumers. That being said, Maurer noted that everything on the Libra blockchain is represented using Move. He explained:
“Everything in the Libra blockchain is represented using Move. A Libra coin is a Move resource. The Move language is agnostic about what's built on top of it. Beyond representing the Libra currency, we also represent things like what signature must be present on a transaction to authenticate it. When building Move, we focused on creating a safe, flexible language that allows us to express concepts that are easily tweakable and easy to analyze for financial use cases.”
Although Move is an entirely new programming language, it’s been mentioned before that Libra developers pulled concepts from the Bitcoin and Ethereum blockchains when crafting the project’s white paper. Unsurprisingly, an audience member did ask Maurer how much inspiration was drawn from Ethereum when building Move.
Maurer confirmed that like most technical systems, inspiration came from existing solutions. He noted that a lot of research was conducted when creating Move, but that there are slight differences between Move and other blockchains:
“We are building for financial inclusion, with a focus on having a financial ecosystem that works for people who don’t have access to that already. Move represents assets and authorities.”
According to the Libra blockchain’s technical paper, Libra is “designed to support a low-volatility cryptocurrency that will have the ability to serve as an efficient medium of exchange for billions of people around the world.”
Maurer explained that Libra uses Byzantine fault tolerance, letting clients submit transactions to a network of validators responsible for maintaining the database. BFT allows for an agreement to be reached regarding the transactions on the ledger. Clients can observe the ledger to understand the current state of the network. Maurer explained:
“The Libra blockchain is designed to track a set of states, which are transactions. Each transaction gets ordered using byzantine fault tolerance and then gets put on a ledger. This, in turn, changes the state of the blockchain. Someone building a financial ecosystem on top of a database will see that this makes a lot of sense, as blockchain is derived from this approach.”
Maurer further noted that Libra uses ever-growing Merkle trees to encode data and authenticate both current and historical transactions. This is unlike other blockchains that use linear links of blocks.
How will Move play out?
While Move is still in its very early stages, individuals are anxious to see how the programming language performs. Developers working for the startup Open Zeppelin recently found vulnerabilities in Move. The team, however, noted that the issue was found before the platform went live. Co-founder and chief scientist at Offchain Labs Edward Felten told Cointelegraph that Facebook creating a new programming language is an interesting choice:
“There are some innovations in Move that could have real value. For example, the way the language deals with coins and values is unique. I haven't seen anything like this before. They are striving to formally verify aspects of financial systems. I’m eager to see how this develops and how it will be adopted.”