A Move Developer's Perspective on Aptos’ New Token Model

Harvey외 1명
Xangle Partner Research
Nov 16, 2023

Table of Contents

1. Introduction

2. Navigating the Chaotic Era of Move

3. Aptos’ New Token Model

3-1. Move: Resource Model

3-2 Transition to the Object Model

3-3. The Digital Asset Standard

4. The Significance and Future Direction of Standardization

5. Closing Thoughts





1. Introduction

Are the strongest survivors those who adapt to change? In the ever-evolving landscape of blockchain, many Ethereum Virtual Machine (EVM) killers have faded into obscurity, yielding space to the prevalent term "Layer 2" in the Ethereum ecosystem. Amid this transition, one team stands out for taking a different path—Aptos Labs. Why did Aptos diverge from the established EVM development, abandoning a robust developer community, and why did they introduce Move, a new language? Move emerged as a solution to prevalent issues in existing smart contract languages:

1. Lack of cross-platform compatibility.
2. Insufficient security in existing smart contract languages.
3. Inadequate speed in the execution layer of smart contract languages.
4. Immaturity in the language ecosystem.
5. Poor development and user experience.

Move isn't merely about protocol compatibility and business logic; it fundamentally tackles these issues. Cairo, for instance, efficiently handles zero-knowledge proofs, while platforms like Solana and Cosmos support Sealevel and CosmWasm to implement protocol-appropriate smart contracts. In contrast, Move is designed to be protocol-agnostic, aiming to become the next generation smart contract language, with mass adoption at its core. Aptos, the driving force behind Move's development, has recently unveiled an exciting announcement. As an enthusiast captivated by the ideals embedded in this new language, I've been closely monitoring its progress and eagerly anticipate the innovations it brings to the blockchain landscape.

This report offers an insight into the present state of Move and the digital asset standard that Aptos has established. We will delve into the rationale behind Aptos setting these standards, their implications, and provide our perspective on the potential future developments.

2. Navigating the Chaotic Era of Move

Aptos and Sui stand as prominent protocols leveraging Move, yet their implementation of Move is independently managed. In practice, each protocol forks the original MoveVM and tailors it to its specific needs. Consequently, the Move standard library is presented differently in the development of contracts within each chain. In particular, While Aptos uses the full definition of the Move language, and is in the process of extending Move further, Sui lacks the concept of global storage. This divergence raises concerns about potential fragmentation within the Move community, particularly if Sui aims to establish itself as the next smart contract language beyond Solidity.

In response to this challenge, Aptos Labs introduced standards for Digital Assets and Fungible Assets in August, outlined in AIP-10 and AIP-11. While example code had been provided earlier to demonstrate how Move could issue coins, the term "standard" had not been explicitly employed. This deliberate release of standards can be interpreted as a strategic move by developers to provide clear direction for the evolving language, addressing the critical need for standardization in the Move ecosystem.

3. Aptos’ New Token Model

3-1. Move: Resource Model

Move adopts a distinctive approach known as the resource model. In this model, a resource stands as a top-level object securely stored in a designated account on the blockchain. Unlike the Ethereum Virtual Machine's (EVM) pursuit of "account-based state management," Move opts for a revolutionary "resource-based state management." In this paradigm, resources transcend mere data; they are entities residing within a user's account, and exclusive rights to modify their values are vested solely in the user who owns the respective resource.

A simpler way to describe how EVM and Move work is that in the EVM, state management operates by tracking transactions between users through ledger-based number swaps, whereas Move involves users transferring their own tokens. The diagram below illustrates how state storage differs between MoveVM and EVM.

Source: Certik

Resources hold a unique characteristic: they cannot be copied or deleted without the explicit permission of the account in which they are stored. This emphasis on ownership and integrity positions resources as ideal representations for valuable assets such as coins and NFTs. While the resource model may introduce complexity, it significantly contributes to limiting usability issues and minimizing the potential for bugs within contracts.

3-2. Transition to the Object Model

Given Move's reliance on the resource model tailored for managing assets in smart contracts, it inherently prioritizes stability. However, this emphasis on stability comes at the cost of encountering certain usability challenges.

Primarily, managing all user information within a Move contract proves challenging. In Move, data is stored as a user's resource, introducing complexity when attempting to handle comprehensive data management. For instance, when issuing an NFT, tracking the ownership of that NFT among users becomes a continuous task, complicating the process of identifying the specific user to whom it was transferred. Additionally, Move addresses "events" like deposits, withdrawals, and token issuance in an account-based, rather than data-driven, manner, leading to potential issues. The counterfeit Aptos token deposit on Upbit on September 24 was a consequence of these structural challenges. The disruption seems to have occurred when Upbit’s automatic wallet system incorrectly read code and labeled scam token as the same as the legitimate APT tokens.