Vision

The Top Move Programming Language Examples, Explained

September 15, 2022 - 9 min read

The Move Language Was Developed for the Diem Blockchain, and Is Now Being Used for The Aptos, Sui, and Starcoin Blockchains

Move is a blockchain-focused programming language first developed as a part of Facebook’s (now Meta’s) Diem blockchain, a proposed permissioned blockchain-based stablecoin payment system. Since the Diem blockchain has been shut down, Diem and Move language IP was sold to Silvergate Bank in January 2022. However, it should be noted that the Move language itself is open-source, so it can be used and added to by anyone. 

Right now, the main two projects that have adopted Move as a primary programming language include the Aptos and Sui blockchains. Aptos is an ambitious project intended to develop a safe and scalable Layer-1 blockchain. Sui is another ambitious Layer-1 blockchain that is intended to create an extremely high-throughput blockchain via horizontal scaling. Other projects which have adopted Move include Starcoin, another Layer-1 blockchain network, which is also intended to create a highly secure and scalable blockchain with an emphasis on secure smart contracts for DeFi, gaming, NFTs, and other popular applications. 

What is Move? 

Move is a stack-based programming language that provides a major emphasis on access control and scarcity, which is enforced by non-duplicatable default structs. Move provides access control via module access privileges and accounts. Move modules function as programs or libraries designed to transfer, store, and generate digital assets. The language differentiates between public module and private module functions, with only public modules being accessible to other modules. The Move language is based on the popular programming language Rust. 

According to Aptos’ blockchain project’s Move documentation: 

“In Move, a transaction’s sender is represented by a signer. The signer has the highest level of permission in Move and is the only entity capable of adding resources into an account. In addition, a module developer can require that a signer be present to access resources or modify assets stored within an account.”

When a private key or other asset is saved utilizing Move, the information can only be stored on the local device, which greatly increases security and makes many types of traditional crypto wallet hacking methods impossible. 

What is Aptos?

Aptos was founded by a group of developers who previously worked on the Diem project and were already familiar with programming in Move. These include Aptos CEO Mo Shaikh and Aptos CTO Avery Ching. 

Aptos states that its network will be able to process 130,000 TPS (transactions per second) via the utilization of its parallel execution engine (Block-STM). It should be noted that Aptos is still in the development stage, as it has not issued a whitepaper or a ICO/IDO for a native cryptocurrency that is expected to provide security for the blockchain via a proof-of-work consensus mechanism. 

Fortunately for Aptos, the project is quite well-funded, as it recently raised $150 million via a Series A funding round led by Jump Crypto and FTX Ventures, the venture capital arm of the prominent FTX crypto exchange. Overall, the company has raised $350 million from a wide scope of investors, including well-respected crypto VC firms a16z and Multicoin Capital. 

Aptos’s testnet is expected to launch in September 2022, and, while exact dates are unclear, its native cryptocurrency could ICO quickly after the launch of the Aptos testnet. Overall, Aptos’s goals are extremely ambitious, and the project has a stated vision of scaling to one billion users, which would be more than all other blockchains combined. For context, in mid-2022, it was estimated that there are more than 300 million cryptocurrency users in the world, and though that number could reach one billion within the next year, Aptos would need to completely dominate or even expand the global blockchain market to reach its goals. 

Aptos’s Use of the Move Language 

Now that we’ve detailed a bit about the Aptos project, let’s get into how Aptos is using move for its development efforts. 

Like many public blockchains, such as Solana, Cardano, and Avalanche, the Aptos blockchain runs a proof-of-stake consensus protocol via a series of validator nodes. These nodes order transactions, which are executed on the Move Virtual Machine (MoveVM). 

According to Apto’s Move documentation: 

“Each validator node translates transactions along with the current blockchain ledger state as input into the VM. The MoveVM processes this input to produce a changeset or storage delta as output. Once consensus agrees and commits to the output, it becomes publicly visible.” 

Some of the features of the Aptos Move adapter include: 

  • Storage and Gas Fee Decoupling: Storage which ensures the amount of data in an account does not impact or increase the transaction fees/gas fees for that account’s transactions. 
  • Parallelism: Move’s Block-STM provides parallelism which enables enables simultaneous transaction execution without the need for user input 
  • Data Scalability: Highly scalable tables that store value and key data within an account 

Libraries that are shipped with the Aptos framework include: 

  • A token standard that enables the creation of smart contract-free NFTs and complex token variations
    • A coin standard that enables the creation of type-safe coins
  • A strong framework for staking and delegation 
  • A multi-signer framework that allows multiple signer entities
  • A highly-effective timestamp service 

What is Sui? 

Sui is a decentralized, permissionless Layer-1 blockchain that incorporates high-throughput horizontal scaling. Like Aptos, Sui and its parent company, Mysten Labs, was founded by former Meta employees, including Sam Blackshear, Evan Cheng, Kostas Chalkias, George Danezis, and Adeniyi Abiodun, who had all previously worked on the Diem blockchain project and who were already familiar with the Move programming language.

Some of the features of the Sui blockchain project include: 

  • High Scalability: Sui offers unlimited horizontal scaling, allowing for high throughout and transaction volume while keeping transaction costs low. 
  • Parallel Processing: Sui will organize data into independent objects instead of sequential transaction blocks, reducing computational power needs and allowing for simultaneous transaction validation. 
  • Byzantine Consistent Broadcast: Byzantine consistent broadcast makes sure that  all delivered requests are the same for all receivers, ensuring that all correct parties deliver a request or none delivers any. This reduces overhead while maintaining security. 
  • Instant Transaction Settlement: Due to the previously mentioned horizontal scalability, transactions can reach finality faster than ever before. 
  • Worker Addition: When increased processing power is needed, the blockchain can add workers to reduce network strain and improve network capacity, keeping gas fees in check. 

Like most blockchains, Sui will have regular users, token holders, which participate in governance, and validators, which achieve consensus to execute transactions on the blockchain. 

As of August 2022, the Sui project has raised $36 million in Series A funding from prominent names including 16z crypto, FTX Ventures, Coinbase Ventures, Samsung Next, and Lightseed, among others. While it has raised significantly less than its competitor Aptos, it still has the backing of major VCs, some of which (i.e. a16z and FTX Ventures) also invested in Aptos. 

According to reports, Sui will eventually release its native token ($SUI), though no launch date has been set. The total supply of the token will be capped at 10 billion), with some tokens being released at launch, some placed in a vesting program, and some distributed as rewards for staking. 

Sui’s Use of The Move Programming Language

Like Aptos, Sui uses Move as its core programming language. However, unlike Aptos, Sui does not use the Move core language developed by Diem and instead uses its own version of the language. Move’s core is relatively simple and, according to Sui

“[Move… does not integrate blockchain-specific concepts like accounts, transactions, time, [and] cryptography… These features must be provided by the blockchain platform that represents Move… these blockchains do not need their own fork of Move… but adds blockchain-specific features via code that builds on top of these core components.”

Furthermore, key differences between Move core and Sui Move include: 

  • Sui has module initializers (init)
  • Addresses represent Object IDs
  • Sui objects have globally unique IDs
  • Sui uses its own object-centric global storage
  • Sui entry points take object references as input

Sui’s implementation of Move is specifically designed to address the fact that existing blockchains are not effectively able to store the massive amounts of data needed by applications, such as social media networks, games or media with advanced graphics, or cloud file storage applications. Therefore, data storage occurs only within Sui, as Sui’s version of Move does not incorporate global storage. 

The key ability in Move helps distinguish Sui objects, which can be stored in Sui’s storage, and internal Move objects, which are not. Sui objects to be stored in Sui’s storage are classified as being passed through the “Move-Sui boundary.” Therefore, all structs with key ability begin with an ID type with an ObjectIDF and sequence number, which is “immutable and cannot be transferred to other objects (as each object must have a unique ID).”

Overall, Sui Move is intended to utilize the flexibility and security of Move core, while improving it to reduce finality delays, enhance throughput, and increase the ease of overall programming. 

What is Starcoin? 

Starcoin is another Layer-1 proof-of-stake blockchain network that utilizes the Move programming language. Much like Aptos and Sui, it claims to have developed the most secure proof-of-stake consensus mechanism and enables highly secure smart contracts. Surprisingly, Starcoin already has a Layer-2, which they define as a “scalable application network capable of secure and seamless states transfer, easy and fast data scaling, low latency, and great operability.”As of September 2022, Starcoin’s native cryptocurrency, Starcoin ($STC), has a market cap of more than $20 million. 

Starcoin’s Use of the Move Programming Language 

Starcoin says that it utilizes Move mainly for its secure smart contract functionality. According to Starcoin, this is partially achieved through Move’s innovation of resource-oriented programming, which helps create resource scarcity. Due to its resource-oriented programming, Move does not allow the dropping or copying of objects, and instead uses a resource type that is constrained from the virtual machine level, preventing security risks from memory copying, as well as making it easier for developers to use and understand the language. 

According to Starcoin: “Move has 4 type abilities: Copy, Drop, Key, Store, which can be used in any combination. For resource-type structures, ability without Copy and Drop is enough. It is easy to use, safe and reliable, and can avoid asset loss and unlimited issuance, which can secure assets on the chain.”

Starcoin emphasizes that there the major difference between Move and Solidity is that smart contract data is stored in the centralized contract account which generated the data, which poses a security risk. In contrast, in Move, data is stored in a decentralized fashion in personal accounts, meaning that data ownership belongs to the users, and each user is the only one that can operate their own data. This prevents hackers from modifying everyone’s data in a smart contract, even if bugs do arise. 

In Conclusion: Move Represents a Useful Tool For Multiple New Blockchain Projects 

While the Move programming language may have been developed by Facebook’s Diem project, its usefulness has already resulted in its adoption by three promising blockchain projects, and due to its high level of flexibility and security, the language may well end up being adopted by an increasing number of projects in the near future. 

As we’ve discussed, the only three major projects that have publicly announced their adoption of Move are Aptos, Sui, and Starcoin. Aptos and Sui both have teams consisting of former Diem developers already familiar with the intricacies of the language. If these blockchains succeed, independent developers will likely begin to use Move to program smart contracts, dApps, and NFTs on these blockchains, and the language may spread to other new blockchain projects. It’s unclear if Move, or some form of it, will be useful for adoption by existing blockchains, but if so, this could further increase its popularity among blockchain developers. 

References: 

  1. The Move Programming Language. The Move Book. 
  2. Thapa, R. (Aug. 2022) Aptos Blockchain Guide: the Next Big Innovation in Blockchain Scaling (Layer 1)?. Boxmining. 
  3. Tuwiner, J. (Jul. 2022) 63+ Cryptocurrency Statistics, Facts & Trends. Buy Bitcoin Worldwide. 
  4. (Jan. 2022) Crypto Market Sizing Report 2021 and 2022 Forecast. Crypto.com
  5. Move on Aptos. Aptos. 
  6. Wang, A. (Aug. 2022) Sui Blockchain Guide: Revolutionary Scalability Solution?. Boxmining. 
  7. How Sui Move differs from Core Move. Sui. 
  8. (Jul. 2022) Why We Created Sui Move. Medium: Mysten Labs. 
  9. Starcoin Discovery: What is Starcoin. Starcoin. 
  10. (Sept. 2022) Starcoin price today, STC to USD. CoinMarketCap. 
  11. Move, a Revolution for Smart Contracts’ Security. Starcoin. 

Related Articles

Learn More

RECENT POSTS

Get news, insights, and more.

Sign up for the SupraOracles newsletter for company news, industry insights, and more. You’ll also be the first to know when we come out of stealth mode.

EXPLORE

Vision

SOCIAL

Privacy • Terms of Use • Website Data Usage & Cookies • Bug Disclosure

©2022 SupraOracles. All Rights Reserved.