Move: The Programming Language’s History, Current Ecological Landscape, and Future Potential

Ren
Rooch Network
7 min readApr 21, 2023

--

Move is a programming language that was created by Facebook in 2018. It was designed specifically for use with the Libra blockchain (later renamed to Diem). Move was designed to be a safe, secure, and flexible language that could be used to write smart contracts and other blockchain applications. The origins of Move can be traced back to 2017, when Facebook announced its plans to launch a new cryptocurrency called Libra. Libra was designed to be a stablecoin for transactions all around the world, supported by However, as Facebook began to develop Libra, it quickly became apparent that they would need a new programming language that was tailored specifically to the needs of blockchain applications.

~from the Libra whitepaper, read more here

With broad institutional support and backing, its a wonder that the Libra project didn’t break out onto the cryptocurrency scene with a big splash. Founding members included traditional payment processing giants Mastercard, Paypal, Stripe, and Visa, with broad support built-in for marketplaces like eBay. Tier1 VC firms, including a16z, were behind this project, and even the lone wolf public central exchange, Coinbase, was considered a founding member of the Libra Association’s charter.

~from the Libra whitepaper, read more here

Leveraging Move, the goal of the Libra network was to become fully permissionless in order to deliver a proven blockchain solution that can scale while retaining the security requirements capable of supporting billions of people and transactions across the globe via its permissionless network. They even stated they wanted to introduce a new global currency in their stablecoin, libra. The Move programming language was birthed from this sort of circumstance, but alas, it was scrapped in January 2022 due to increased regulatory scrutiny when Diem (rebranded from Libra) sold off the remaining $200mm of its assets to Silvergate Capital. And while this may have proven the downfall of Facebook’s attempt to create a new global digital currency, the Move programming language, which was an intrinsic component of its quest, remained.

Move is a relatively new Rust-based programming language specifically designed for implementing smart contracts and transaction logic, formulated with foresight in mind looking at the past transgressions of solidity. It’s designed to prevent assets from being cloned, enabling resource types that constrain digital properties to a single owner so that it can only be spent once. Move facilitates automatic proofs that transactions satisfy certain properties, for instance: a payment transaction only changes the account balance of the payer and receiver of said payment. A Module system backed by robust data abstraction secures account access control, and to accomplish the transfer of asset ownership between parties, Move inherits Rust’s ownership system. It incorporates a number of advanced security features, including a type system that ensures all data is validated before its processed. The language was also designed to be highly flexible, enabling developers to create new modules and libraries that can be used to extend the functionality of the language.

Move defines resources (anything limited in number that can produce values) as a first-class citizen, giving this type of asset priority. After something is declared a resource, its scarcity is ensured at the base level, ensuring it can’t be copied or discarded. Move’s bytecode verifier ensures bytecode is examined on-chain before execution, and safety tests are completed before any Move program or smart contract is run. And the Move Prover verifies smart contract reliability & correctness automatically, similar to the bytecode verifier but more sophisticated with cross-module checks. Move’s design prevents poison tokens, re-entrancy vulnerabilities, and spoofed token approvals attackers have used in Solidity to steal millions on other platforms.

Since its introduction, Move has become an increasingly popular language for writing smart contracts and other blockchain applications. As blockchain technology continues to evolve, I believe Move will play a key role in its future development. And that brings us from the history surrounding the genesis of Move to growing competitive landscape leveraging Move in Blockchain: Aptos & Sui.

Aptos & Sui

Aptos & Sui are both Proof of Stake (PoS) layer1 blockchains. Aptos and Sui both share many of Move’s core strengths, but the most standout accomplishment both layer1 blockchains hold may be in its parallel execution of transactions, which massively increases the TPS of the underlying blockchain by ordering a set of transactions then executing them all in parallel. Both sport robust consensus methods that support near-instant finality and incredible TPS metrics, with Aptos processing 130,000 TPS in a speed test with a theoretical maximum of 160,000 TPS. Due to the unique design of Sui’s consensus algorithm where simple transactions don’t require global consensus, Sui claims to be capable of limitless TPS, and has run a test on a single node reaching 120,000 TPS running simple transactions.

Aptos Move

Aptos Move leverages the original core-Move developed by the Libra (also known as Diem) team. In the Aptos whitepaper, it states that due to Move’s intrinsic ability to upgrade its modules, it has integrated the capability to support upgrades to the Aptos blockchain itself. With its enhancements to Move, large-scale datasets can be held in a single account (the example given being large NFT collections). Autonomous accounts that are represented entirely on-chain are viable with Aptos Move, which would support complex DAOs (decentralized autonomous organizations).

Aptos Whitepaper

Sui Move

Sui Move has diverged from the original core-Move, designed to be a permissionless platform-agnostic language, with a number of improvements made to the original core-Move. Sui claims it “is the first blockchain to improve on the original Diem design in how it integrates Move.”

Some of these improvements include:

Frictionless mass asset creation.

Native asset ownership and transfers.

Bundling heterogeneous assets: an object can be owned by another object.

Human readable signing requests by Sui Move is a feature designed to enable users to actually read and understand what they’re signing for prior to executing a transaction, which in theory should protect users from signing bad requests designed to drain wallets of value. They are also currently working on shipping a feature enabling the sending of assets to users prior to them opening an account, which would be a powerful on-boarding tool for projects.

Sui Whitepaper

Aptos & Sui

Aptos & Sui together raised ~600 million in funding, and both are pushing the industry forward by raising up a new cadre of developers on the Move programming language. Already these developers have produced a fleet of DApps native to DeFi, including NFT collections and marketplaces, DEX, swaps. The Move ecosystem has not yet reached maturity, however, as it possesses untapped potential in its ability to produce complex DApps unlike anything that has been seen before in the industry,

Rooch Network

Rooch is the first multi-chain capable Move modular layer2 network launching on Ethereum, and it employs a hybrid rollup design combining the best of optimistic and ZK-rollups to eliminate the long challenge period of optimistic rollup. Rooch is fully compatible with Aptos/Sui (core-Move & Sui Move), and we will provide incentives to devs to migrate. We will incubate flagship web3 projects like Git3, Forum3, Discord3, GameEngine3 to fully leverage Move and its capabilities to advance the web3 industry into a new era. In the era of web3, we see the developer community around Move growing, and at some point, overtaking Solidity in size.

Much like Aptos & Sui, Rooch employs pipeline transaction processing to achieve higher TPS thresholds than would otherwise be unobtainable. In this framework, transaction ordering and execution are decoupled and the proposer can execute transactions in parallel, greatly increasing throughput.

Solidity can’t support complex web3 DApps (example: a gaming engine), and layer1 has intrinsic scaling challenges. And that’s why Rooch Network is bringing Move to Ethereum! The future of web3 requires the next generation smart contract programming language, Move, to push the industry into its next phase. Rooch will bring Move to Ethereum, and with it, provide language level safety, account abstraction, contract upgradeability, asset-oriented programming (object + global storage), and the key strengths of a language collectively built by a diverse community of developers. The new web3 will be unconstrained by TPS, storage, and gas fees, with features that inspire innovations and eliminate pain points.

Twitter | Telegram | Medium | Website | Blog | Reddit | Discord

--

--

Ren
Rooch Network

@MoveCast_ | prev. BD & Marketing @RoochNetwork (founding member) ~ neurodivergent author: mining, crypto & writing~