Move is a blockchain programming language. Just like Solidity, it is used for smart contracts and transactions. But while Solidity works on Ethereum, Move is created for Diem. This article will overview its features, advantages, use cases, and so on.
Move appeared in 2019 as a language for blockchain Diem (formerly Libra).
Diem is a project from Facebook (Meta). It is a global payments network that was rebranded in December 2020. At the same time, a basket of single-currency fiat-pegged stablecoins was added to the system, which was initially a single global currency with reserved assets.
Diem's whitepaper says the project's mission is to develop a financial infrastructure that “empowers billions of people”. Among other things, the project is trying to solve the well-known blockchain trilemma.
Facebook (Meta) was at the origin of Libra and Move. After the rebranding, Diem Association handles the project, but Facebook still provides technical support.
Move is an executable language with bytecode. You can directly execute it in the Move Virtual Machine. And this is its first fundamental difference from Solidity, which needs to be compiled before into bytecode.
The second fundamental difference is that you can wite both smart contracts and user transactions in Move.
If you look “under the hood” of the language, you will find that it is based on the Rust programming language. That’s why, for example, in Move, it is possible to define user resource types using semantics based on linear logic. In other words, the resource can only be moved between program storage locations but not copied.
Also, like in Rust, Move has no garbage collector.
Besides, Move does not have three main problems that other blockchain languages like Solidity have.
Move has only one disadvantage, but a significant one. In 2022, Facebook sold the assets of Diem to Silvergate, an exchange network (including Binance, Coinbase, Gemini, etc.) Among the assets was Move.
Move is designed so that you can even use it outside of the blockchain, but of course, blockchain is the primary domain for the language.
The use of Move has already been implemented by Web3 software company MystenLabs. On September 2022, they raised $300 Million to onboard the next billion users to Web3.
Sui and Aptos blockchains also use the Move programming language, with Aptos using the original Move and Sui using its own version of Sui Move. By the way, former employees of Meta created the Aptos project; now it is actively developing and it is already called “the killer of Solana”.