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:

“A Libra coin uses our Move language, which is agnostic like most mainstream languages. But 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.


Why does Libra require a new programming language?
Loading spinner

Leave a Reply

Scroll to top