>
>

Move and the MoveVM - The Benefits and Potential Pitfalls

March 18, 2024

In conclusion

Since the introduction of Solidity in 2014, there has been an exponential growth in the number of blockchain developers, leading to the emergence of new languages in the field.

While this is something that should be deemed as positive, it has also led to a contentious discussion regarding which smart contract language is best suited for our needs in a landscape where wrongly deployed code could prove fatal and incur heavy financial losses not only for the people that deployed it but for everyone else interacting with the contract as well.

Since Solidity launched, Rust has also emerged as a pivotal player in the smart contract language landscape. However, we are now seeing the rise of another language cementing its place on the market and providing additional competition to the most popular smart contract languages - Move.

The emergence of Move is a blessing in disguise considering you have to walk on eggshells whenever you try a new DeFi protocol as you’re one misstep away from seeing your funds leave your wallet forever. Just ask the BAYC holders.

Move is growing in stature following the growth of Aptos and Sui. Before we get into Move, let’s explain what Solidity and Rust are.

What is Solidity?

Solidity is a smart contract language introduced in 2014 by Gavin Wood, Christian Reitwiessner, and several other Ethereum OGs. It has syntax similar to Javascript, which makes it a language that is accessible to people who have experience with web development, thus shortening the learning curve. However, Solidity allows you to deploy smart contracts that interact with the EVM (Ethereum Virtual Machine), which involves handling transactions on Ethereum.

“Smart contracts” are not inherently “smart”... Especially not since one fatal line of code can make a whole DeFi protocol implode. In a nutshell, they are programmable lines of code that follow very specific instructions i.e., if this, then that.  

Before smart contracts that are written in Solidity and deployed to the Ethereum or any other EVM-compatible chain, they are compiled into bytecode. Bytecode for smooth brains like you and me is a lower-level code that translates Solidity code, telling the blockchain what the app wants to do. The growth of Solidity has led to it becoming the most popular language in regards to the development of DeFi and NFTs which kickstarted the growth of the Ethereum ecosystem.

[Solidity smart contracts govern >90% of all on-chain value. Source]

However, this has not happened seamlessly as Solidity is more prone to exploitable bugs such as reentrancy attacks if there is any mistake in the code. These attacks occur when a malicious contract exploits a delay in updating balances after a fund transfer, allowing it to repeatedly withdraw funds until the balance is empty. This vulnerability has resulted in significant financial losses, highlighting the importance of caution when interacting with contracts that haven't been thoroughly reviewed and deployed by experienced developers.

Solidity and the EVM have been utilized on blockchains outside of Ethereum, such as Avalanche C-chain, Binance Smart Chain, Fantom etc, and are widely used in the crypto industry.  We’ve seen countless fallen soldiers over the years, making DeFi platforms a minefield nowadays.

What is Rust?

Rust is a programming language that was introduced by Graydon Hoare in 2010. It is not inherently a smart contract language but has gained increasing stature as a language to use to write smart contracts.

Considering Rust is a general-purpose language not explicitly limited to smart contract programs, developers interested in building smart contracts might already be familiar with Rust. This familiarity makes it easier to start without learning a new language. As with many things in crypto, maximalism sneaks into developer preference, too. You will see endless debates over Solidity vs Rust, particularly now that Solana is actually a threat to Ethereum dominance; if it weren’t you wouldn’t see the back-and-forth between maxis.

Rust as a programming language is deemed quicker than Solidity when you look at its performance due to being a “compiled language,” which means that Rust code immediately gets converted into machine code when executed; this ensures that smart contracts and blockchains using Rust execute quickly.

However, for developers unfamiliar with Rust, it is harder to learn than a language like Solidity. Still, a limited amount of blockchains support Rust, although it has been growing in recent years. Currently, it is used in ecosystems such as Solana, Near, and Polkadot. It has also been integrated into Arbitrum after their upgrade into Arbitrum Stylus, which converts Rust code into Solidity that can be deployed and executed within their ecosystem. This makes it more seamless for protocols on Solana to deploy on Arbitrum and vice versa.

We’re also seeing it being used to build L2s on Ethereum, such as Eclipse, and considering it is being viewed as a programming language with better performance than Solidity, it will likely continue to grow from here, considering it has a strong developer base with good tooling support, as well.

Ethereum maxis and Solana Manlets have been fighting tirelessly on the crypto Twitter timeline since last summer; the Solana community finally got their trojan horse with Eclipse using the SVM.

Now, how will the Ethereum community respond?

What makes the SVM special in comparison to the EVM?

Ethereum gas fees have been a prevalent issue for years, which is pricing out the average consumer to use the Ethereum blockchain due to the high demand for blockspace on Ethereum. This can lead to severe spikes in gas fees, reaching well over $100 for a transaction, making it untenable to use as it affects the whole network. Ethereum has tried to deal with this by building a rollup-centric future that would send the demand to other L2 ecosystems such as Arbitrum, Optimism, Zksync, etc. However, the UX regarding bridging leaves a lot to be desired and isn’t ideal for newer users or developers deciding where they want to build.

The SVM deals with this differently by having isolated fee markets that don’t affect the whole network. This means that there can still be high demand for blockspace, which increases the gas fees. However, that demand is kept isolated within that said market segment of the blockchain and doesn’t interact with the rest of the block space being used on Solana.

For example, If there is a popular NFT mint that people are willing to pay higher gas fees for, that spike in gas fees is kept isolated to the NFT mint, and other users on Solana wouldn’t notice anything as the SVM ensures that the demand for blockspace at that time is kept within that market segment.

The SVM also breaks down transactions into a base fee and a priority fee. The TLDR here is that the base-fee is static and does not increase, where as the priority fee can be increased by the user to increase their liklihood of being included in the next block.

This throws up its own challenges when it comes to failed transactions, profitability of the network, and cheap-to-spam incentives, which Solana is currently working on with proposals like SIMD-096.

Considering it also uses Rust, it provides a swifter experience and can process a higher amount of transactions, leading to a cheaper blockchain experience for the average user. It’s not only a more affordable and smoother experience, but you also avoid smashing your keyboard for spending $200 when you fail transactions multiple times.

How does Move and the MoveVM come into this?

The Move programming language is a newer smart contract language that was launched in 2019 and it has nothing to do with “moving” because that’s the last thing the crypto community will do as we’re glued to our screens for the rest of this year.

Move was initially designed by Meta with the intention to be used for their Diem blockchain and built with safety in mind to handle financial transactions and smart contract data. However, Zuckerberg’s foray into crypto was swiftly wound down for reasons that were not stated.

But a few good things came from that exercise. The team tasked with developing Diem spun out into two new projects that you may have heard of: Aptos and Sui.

Move is increasing in popularity because it eliminates the possibility of reentrancy attacks due to resource management that prevents assets from being double spent instead of having to specify the transfer of assets. Reentrancy attacks are the cause of the majority of DeFi hacks that have plagued the Ethereum ecosystem until this day. If this doesn’t sound familiar to you, the Curve hack that almost ended DeFi on Ethereum was a reentrancy attack. You’re welcome for the PTSD.

How does Move accomplish this?

By only allowing a resource that is supposed to be used for a transaction to use one execution context at a time. Basically, until a function has finished its execution, other functions cannot use the same resource. This means that a malicious actor can’t repeatedly execute a function before the preceding execution is completed, which means that a reentrancy attack is avoided.

Move's resource model prevents these attacks, whereas smart contract languages like Solidity require you to code a specific programmatic pattern to avoid them. Thus, by having this implemented, Move saves developers a lot of time and is deemed a safer smart contract language to use.

However, considering it is a newer language, it is also harder to learn than Solidity, and it has a smaller but growing developer base as well.

Thus, the resource kit and tooling aren’t as vast as other programming languages yet and could challenge newer developers wanting to pick it up. However, Movement Labs is rapidly building the infrastructure required to set up new entrants for success.

Movement Labs are spearheading the progression of Move by creating much greater developer tooling, hackathons, existing ecosystem adapters, new blockchain support, and even developing virtual machines, notably the MoveVM (Move Virtual Machine).

If you wish to learn more about Movement Labs they recently joined us on Still Early to chat about how they are pushing Move mainstream.

What sets the MoveVM apart?

What has served as a bottleneck for Ethereum is how transaction ordering gets processed on the blockchain. As the demand for blockchain increases, people are willing to pay an increasingly higher amount of capital to force their transactions through the queue. This rapidly increases prices, processing the highest bidders first for unrelated transactions that want to be a part of the next block.

The MoveVM deals with this differently as it handles every transaction as an independent object, allowing for parallel execution and more efficient handling of block space demand. Thus, transactions that aren’t related to each other which don’t affect the general state of the MoveVM and the blockchain can operate unscathed.

The MoveVM also presents a higher flexibility concerning smart contract upgrades and upgradeability which is a bigger challenge on Solidity. Due to its modular design, Move makes it seamless to introduce new functionalities without deploying a completely new contract without adding any additional risk.

What challenges is the MoveVM facing?

Move is another additional programming language that developers would have to learn in order to contribute properly. Considering many are already set in their ways by building with Solidity or Rust, trying to onboard developers from these ecosystems will serve to be a challenge.

It’s also harder to learn than a high-level language like Solidity. The Move ecosystem would be served better by targeting developers who aren’t established within this ecosystem, which isn’t ideal as you always want the top talent to be a part of your ecosystem. Anecdotally, Coop from Movement Labs mentioned on Still Early that if you are familiar with Rust, there is roughly a two-week adoption curve when learning Move.

Also, it is less developed in comparison to other smart contract languages like Solidity and Rust and has a smaller developer community. This means fewer libraries available for new developers to get up to speed which can slow down the inevitable learning curve. Again, this is something Movement Labs are heavily focussing on.

While Move prevents reentrancy attacks, it is still less battle-tested than other programming languages and might still face unknown vulnerabilities and scrutiny as it gets more used over time, especially as TVL grows on Move-based platforms, making it a target for hackers. The infamous North Korean Lazarus hackers will be patiently waiting for TVL to increase on Sui and Aptos before trying their luck.

The Move Ecosystem

The Move ecosystem still remains small but is growing in popularity due to the two flagship ecosystems (Aptos and Sui) that have started to grow exponentially

Aptos

Aptos is a layer-1 blockchain built by Aptos Labs and designed to be scalable as it operates a parallelized execution engine. Aptos uses the Move programming language and is a key part of the Move ecosystem. It launched in October 2022 and uses a mixture of Byzantine Fault Tolerance (BFT) consensus mechanism and Proof of Stake (PoS) called the AptosBFT. This implies that there is a selected number of validators that have the ability to process transactions. These validators are selected by APT stakers who decide which validators they want to stake with.

Similar to how governance works on Cosmos-based chains.

By utilizing the MoveVM and its parallelization of transactions, Aptos claims to be able to handle 150,000 TPS, which is much higher than Ethereum’s 14 TPS and Solana’s 65,000 TPS.

Aptos has raised a total of $350M from 25 different investors across three rounds, including Binance Labs, FTX, Jump Crypto, and a16z.

APT token

The APT token is the native token of the Aptos blockchain and has a total supply of 1,079,702,878 with an annual inflation of 7% which will trend down to 3.25% after 50 years.

Token distribution:

  • 51.02% of the token to the Community
  • 19.00% of the token to Core Contributors
  • 16.50% to the Aptos Foundation
  • 13.48% to Investors

This token distribution is more or less in line with what we normally see in the industry nowadays.

The Aptos ecosystem started slowly, most likely due to a new subset of developers having to pick up Move. However, since October the ecosystem has started to grow and has gained $130M in TVL since then.

Notable protocols within the Aptos ecosystem

  • Thala - leading lending protocol on Aptos allowing you to mint MOD (Move dollar) by using APT, USDC; USDT, or WETH as collateral.
    • TVL - $111,7m
  • Amnis Finance - Liquid staking protocol on Aptos allows you to generate 11.46% APR while holding amAPT.
    • TVL - $43,54m
  • Liquidswap - The leading and first decentralized exchange deployed on Aptos
    • TVL - $28,99m

Considering Aptos is still in its early stages, you can expect this list to grow significantly in TVL and protocols over time.

Sui

Sui is a decentralized layer 1 blockchain that was built by Mysten Labs and launched in May 2022. It offers great transaction speeds at a low cost and uses the Move programming language to execute transactions on its blockchain. Sui uses a delegated proof-of-stake(DPOS) consensus, which means that there is a fixed set of validators who process the transactions in each epoch. These validators are selected by Sui stakers and are determined by the amount of SUI held by the validators after having received delegations.

When the epoch ends the SUI stakers can decide to withdraw their funds from the validator and distribute them to someone else. Each epoch lasts 24 hours, and there are currently only 100 validators on the platform. This number of validators allows for faster processing of transactions, although fewer validators need to come to consensus. However, we have to ask at what number of validators does a system become truly decentralized?

Due to Sui’s parallelization of transactions, it claims to have the capability to process up to 15,000 TPS (transactions per second) in comparison to Solana (4,000 TPS) and Ethereum (15 TPS).

Mysten Labs raised $300M in a Series B in September 2022 for the SUI token featuring Binance Labs, a16z, and Circle, amongst others.

SUI token

The SUI token is the native token of the Sui ecosystem and has a total supply of 10,000,000,000 tokens with 1,165,931,966 currently circulating.

Token distribution:

  • 50% of the token was distributed to the Sui Foundation
  • 20% to early contributors
  • 14% to Private Sale
  • 10% to Mysten Labs
  • 6% to Community access program

The SUI token distribution is similar to Aptos except for adding the additional allocation to the ‘Community access program.’

The token is actively being used to participate in the Sui ecosystem. It initially had a slow start but has recently started to surge in TVL growth, which has increased by over $400M over the past three months.

Notable protocols within the Sui ecosystem:

  • Scallop Lend - The leading money market on Sui with deep liquidity.
    • TVL - $110,7m
  • NAVI - Lending market on Sui and is the closest competitor to Scallop Lend.
    • TVL - $107,04m
  • Cetus - The leading decentralized exchange on Sui with an emphasis on concentrated liquidity. While Cetus is also deployed on Aptos, the majority of the action takes place on Sui.
    • TVL - $73,81m

There are more protocols in this ecosystem if you decide to go deeper into the rabbit hole. However, these are the flag bearers for now.

M2

M2 is an upcoming ZK (Zero-Knowledge proofs) Move-EVM L2 (Layer 2) on Ethereum developed by Movement Labs. It is still under development, but it will allow Ethereum to process 10,000 transactions on this rollup by tapping into parallelization through the MoveVM. This also means that both Move-based smart contracts and EVM smart contracts can be deployed on M2 enabling developers with experience from different languages to build on M2.

At this stage, we have a ridiculous amount of L2s but not enough users for them all, but hey, if they give us free tokens, who am I to complain?

Concluding thoughts

The Move ecosystem, initially slow to start, is gaining momentum as more people recognize its potential to reduce fund loss risks in a hack-prone industry. With the growth of Sui and Aptos, developing applications on these next-generation blockchains offers developers less stress and users a smoother blockchain experience, addressing current shortcomings in other ecosystems. Move-based ecosystems are emerging as key players to watch in the upcoming bull market.

Opening MetaMask...
Confirm connection in the extension

The current connected wallet does not hold a LARP. To get access to the Meal Deal please connect a wallet which holds a LARP. Alternatively, visit Opensea to purchase one or visit Join the Meal Deal to purchase a subscription

Go to Meal Deal
Table of contents