作者: YBB Capital Researcher Zeke

Preface

The market has become increasingly cold recently, and many OGs in the industry have begun to waver in their understanding of the significance of the industry. Let me share my personal thoughts. I always feel that many great visions in the past have been "falsified" because these visions were not logically self-consistent from the beginning. Dapps outside of non-financial applications always try to cover up the fact that the products themselves are not good enough by emphasizing the value of decentralization. But the fact is that they told me not to trust Google, Twitter, and YouTube, but to believe that their multi-signature wallets and stand-alone servers are safe enough. Many visions are not falsified, but have never been truly verified. I still believe that most visions are meaningful even if they are not so grand. They may just need enough underlying support. In the end, at least one of the decentralization and good experience comparable to Web2 can be provided. Just like TON and Solana were despised in the past, but now they are gradually catching up with the big brother in many aspects. The public chain that carries applications needs innovation, which will promote the progress of the industry in every cycle. Therefore, today we will explore a type of public chain that has not been valued for a long time, the Move system.

1. Move

The Move programming language was originally born from Meta's abandoned project Diem (originally called Libra), which was originally intended to create a more stable and regulated stablecoin as the basis for its metaverse vision. However, contrary to expectations, the project has encountered strong opposition and sustained pressure from global regulators. Regulators are concerned that the scale of Diem and Facebook's large user base may pose a threat to financial stability, monetary policy, and data privacy. Pressure led by the Biden administration eventually forced Meta to abandon the Diem project.

Fortunately, the core of Diem has not been abandoned. Different factions that split from the original team are still insisting on exploring and developing Move, and now have evolved into the Move twins Sui and Aptos that we are familiar with. In addition, there are Linera (Rust public chain borrowed from Move), which is still in its infancy, and Movement, which has been vigorously promoted recently, and many other public chain projects.

So why is the residual heat of a project that was cut short so strong? As a response to blockchain programming languages ​​from a leading Web2 company, Move has a solid foundation. In terms of design, it has also reflected on many performance and security issues around existing blockchain programming languages ​​(especially Solidity). Its design goal is to tailor a type system for asset management and access control execution. I personally summarize it in three simple points:

  • Security: The main premise of Move language design is security. It uses static type checking and resource management to prevent common security vulnerabilities, such as overflow errors and reentrancy attacks. Compared with other language virtual machines, Move supports a variety of security features. The following figure quotes Nansen's comparison.

  • Composability: Supports modularity and composability, allowing developers to easily create and combine different smart contracts to build more complex applications.

  • Performance: The Move language's virtual machine is optimized (supporting parallelism, memory management, and compiler optimizations) to efficiently execute smart contracts, thereby improving transaction speed and throughput.

At a time when modular EVM public chains are flooding the market, Move is actually a brave attempt. You may have seen similar introductions to the above three points I mentioned in many public chain projects. I recommend that you experience them in person to visualize these words.

Second, Sui

2.1 Architecture

As one of the Geminis, Sui has been criticized for airdrop issues and token release methods in the early days of its launch. But putting aside these issues, let's just talk about the project itself. Sui is at least good enough in terms of performance and experience, and its performance in games is extremely outstanding, which is inseparable from its own improved architecture design for mainstream adoption. Here I will briefly describe Sui's innovation in architecture:

  1. Object storage model: This component is the core component of Sui's improvement on Move. The so-called object storage model stores data as independent objects, each of which has a unique identifier. Unlike traditional database systems, the object storage model has no fixed data structure and can store various types of data, such as text, images, videos, and audio. This model allows parallel execution and horizontal expansion (adding nodes to expand storage capacity), and Sui is designed around this model.

  2. Causal Ordering: Ensures that transactions are executed in a causal order to avoid data conflicts and inconsistencies. This enables Sui to handle a large number of concurrent transactions and maintain data consistency.

  3. Narwhal and Bullshark consensus engines: Sui uses Narwhal and Bullshark as its consensus engines. Narwhal is responsible for transaction sorting and verification. It works by maintaining a local transaction pool, sorting and broadcasting transactions according to their causal relationship, and ensuring that all nodes have the same and valid transaction order. Bullshark will vote on the transaction list when it receives the transaction list sorted by Narwhal, and use Byzantine fault-tolerant consensus to ensure that all nodes agree on the transaction list.

  4. Sui Move: Sui expands on the Move language and adds new features such as support for NFTs, asset management, and data storage.

  5. Sui Framework: Sui provides a complete framework to help developers quickly build and deploy applications. The framework includes various tools and libraries, such as Sui Wallet, Sui SDK, and Sui CLI.

Sui's architectural design enables it to handle a large number of concurrent transactions while maintaining high speed, low fees and security. At the same time, Sui's Move language and Sui framework also provide developers with powerful tools to help them build secure, scalable and user-friendly applications.

2.2 Consensus

The Sui blockchain uses a consensus mechanism called Mysticeti, which is a Byzantine Fault Tolerance (BFT) based consensus designed to optimize for low latency and high throughput.

Mysticeti allows multiple validators to propose blocks in parallel, thus fully utilizing network bandwidth and providing censorship resistance. Furthermore, the protocol requires only three rounds of messages to commit blocks from a DAG (Directed Acyclic Graph), the same as pBFT and matching the theoretical minimum. Commit rules allow for parallel voting and certification of block leaders, further reducing median and tail latencies. Commit rules can also tolerate unavailable leaders without significantly increasing commit latency.

Mysticeti has been running on the testnet for three months before the Sui mainnet launch, with notable results including an 80% reduction in latency. The Sui network can now process tens of thousands of transactions per second with end-to-end latency well below one second.

Sui blockchain also uses a specific type of proof-of-stake consensus called delegated proof-of-stake (DPoS). When transactions involving shared objects (called complex transactions) occur, Sui uses the Narwhal & Bullshark consensus engine mentioned above to sort transactions. Compared with other public chains with BFT consensus mechanisms, Sui's advantages and disadvantages can be summarized in six points:

Advantages:

  • Low latency and high throughput: The Mysticeti protocol significantly reduces consensus latency and improves network throughput through parallel block proposals and optimized message delivery processes. This enables the Sui blockchain to process tens of thousands of transactions per second with end-to-end latency well below one second;

  • Censorship resistance: The Mysticeti protocol allows multiple validators to propose blocks in parallel, thereby increasing the network’s censorship resistance;

  • Tolerating unavailable leaders: The commit rules allow tolerating unavailable leaders (when a leader node fails, the system automatically elects a new leader to take over its responsibilities) without significantly increasing commit latency.

Disadvantages:

  • Complexity: The design of the Mysticeti protocol is relatively complex and requires a deeper technical understanding to fully grasp its operating mechanism;

  • Security: Although the Mysticeti protocol performs well on the test network, its security still needs to be further verified in actual applications;

  • Scalability: The scalability of the Mysticeti protocol still needs further observation to ensure that it can adapt to the growing network size and transaction volume in the future.

2.3 Abstract Account

Sui's Account Abstraction is a mechanism that allows users to manage their accounts and transactions in a simpler and more secure way. It achieves a higher level of account management and transaction processing by abstracting account and transaction logic from the underlying blockchain protocol.

In Sui's abstract account model, accounts are no longer simple public-private key pairs, but objects with richer properties and behaviors. Each account has a unique identifier, called an account ID, which is associated with the account's public and private key pairs.

Sui's abstract account model includes the following key components:

  1. Account Object: Account Object is the basic unit of account in Sui. Each account object has a unique account ID and contains the attributes and behaviors of the account;

  2. Account Data: Account data is the core component of the account object. It contains basic information about the account, such as account ID, public key and private key pair;

  3. Transaction Context: Transaction context is the basic unit of transaction in Sui. It contains transaction related information, such as transaction ID, account ID and transaction data;

  4. Account Logic: Account logic is a collection of behaviors and rules for accounts in Sui. It defines how an account processes transactions and manages its state.

Sui's abstract account model processes transactions through the following steps:

  1. Transaction creation: A user creates a transaction and sends it to the Sui network;

  2. Transaction verification: The Sui network verifies the validity and integrity of transactions;

  3. Account search: Sui network searches for the corresponding account object based on the account ID in the transaction;

  4. Account logic execution: Sui network executes account logic to process transactions and update account status;

  5. Transaction confirmation: The Sui network confirms the result of the transaction and writes it into the blockchain.

Simply put, Sui's abstract account model is an innovative mechanism that simplifies account management and transaction processing, making applications more like applications.

2.4 Games

Whether a public chain can stand out from the crowd, it must first settle and accumulate. There are two reasons why Move is called a brave attempt in the above text: First, in the era of generalization of modular concepts, the native Move system (i.e. Move Gemini) is the last attempt at Layer1, which is basically going against the trend. However, the recent rise of multiple heterogeneous chains may prove that modularization is not the only answer. Second, the move of rebuilding a public chain and adopting a new programming language can be imagined as wanting to rebuild a system in the current mobile phone market to challenge iOS and Android. The road ahead is bound to be full of thorns. Whether the Move system can shine and heat up like Solana in the next few years, the direction of development it chooses will be particularly critical. Sui's answer to this question is games.

Games are one of the important entrances to Web3, but most public chains do not support games well. This is because blockchains have been designed around finance since their birth, and because of the low performance of decentralized structures, they are inherently unsuitable for games. However, Sui is different. Its model is suitable for both DeFi applications and non-financial applications and games. As mentioned above, in Sui, everything is an object. Games or applications have complex assets with hierarchical relationships. On Sui, objects can own other objects (assets can own assets). Suppose you are playing a game with a hero character, and the hero character has an inventory, and it also has other digital assets belonging to the character. Sui can accurately model these data hierarchies in a way that other blockchains cannot. Therefore, it gives developers the opportunity to express the applications they want to build without having to address the basic limitations of the chain.

In addition, Sui is also actively developing cooperation with traditional Web2 giants, from reaching partnerships with three of the four major Korean game giants (Netmarble, NHN and NCSoft) last year to cooperating with Tiktok to develop blockchain games and SocialFi projects this year. Sui is introducing traditional giants into Web2.

3. Aptos

As another Layer 1 blockchain based on the Move language, Aptos is also committed to building a high-performance, scalable Web3 infrastructure. Its architectural design has many similarities with Sui, but also exhibits some unique features.

3.1 Architecture

1. Modular design: Aptos adopts a modular architecture, allowing developers to independently develop and upgrade different modules, thereby improving development speed and flexibility;

2. Parallel Execution Engine (Block-STM): Unlike other blockchains that require data dependencies to be declared in advance, Aptos’ parallel execution engine can process transactions in parallel without prior knowledge of data location, thereby increasing throughput and reducing latency;

3. Pipeline transaction processing: Aptos divides transaction processing into multiple stages such as propagation, metadata sorting, batch storage, etc., and executes these stages in parallel in a pipeline manner to maximize throughput and reduce latency;

4. Move programming language: Aptos uses the Move programming language. Compared with the innovations introduced by Sui, Aptos has done more to improve it. For example, it standardizes the language, introduces more powerful function support, and customizes capabilities;

5. Flexible state synchronization: Allow nodes to choose different state synchronization strategies, such as synchronizing the full history or only synchronizing the latest state, thereby improving the flexibility of nodes;

6.AptosBFT consensus mechanism: AptosBFT is the Byzantine fault-tolerant consensus mechanism used by Aptos, which improves throughput and reduces latency by optimizing communication and synchronization between validators. Compared with Sui, it can only be regarded as an improved version of DiemBFT, with certain improvements in efficiency and anti-crash recovery, so I will only briefly explain it here.

Aptos' architecture design enables it to handle a large number of concurrent transactions while maintaining high speed, low fees and security. At the same time, Aptos' Move language and Aptos framework also provide developers with powerful tools to help them build secure, scalable and user-friendly applications.

3.2 Block-STM

Let's expand on Aptos' core innovative parallel execution engine Block-STM:

The core principles of Block-STM:

  1. Preset order execution: Block-STM relies on the preset order of transactions in the block. All transactions must be executed in this order to ensure the consistency of the final state;

  2. Optimistic concurrency control: Block-STM will optimistically execute transactions in parallel, assuming that no conflicts will occur. Optimistic concurrency control is based on the assumption that "conflicts are rare" and allows transactions to access and modify data without locking. It believes that the probability of multiple transactions conflicting at the same time is very low, so modifications can be made first, and then check whether a conflict actually occurred before the final submission;

  3. Multi-version data structure: To support optimistic concurrency control, Block-STM uses multi-version data structure to store data. Each write operation creates a new version of the data, while a read operation accesses the corresponding version of the data;

  4. Verification and retry: After executing a transaction, Block-STM will verify whether the data version it read is still valid. If the verification fails, it means a conflict has occurred, and the transaction will be marked as invalid and re-executed;

  5. Cooperative Scheduling: Block-STM uses a cooperative scheduler to coordinate the execution and verification tasks of various threads to maximize parallelism.

Block-STM workflow:

  1. Transaction grouping: Group transactions in a block and assign them to different threads for parallel execution;

  2. Optimistic execution: Each thread optimistically executes the transactions assigned to it and records the read-write set of each transaction;

  3. Verification: When a thread completes the execution of a transaction, it verifies whether the data version in its read set is still valid;

  4. Retry: If the verification fails, it means a conflict has occurred, and the transaction will be marked as invalid and re-executed;

  5. Submit: After all transactions are verified, the results are written to the blockchain status to complete the transaction submission.

Block-STM Advantages:

  • High throughput: Through optimistic concurrency control and cooperative scheduling, Block-STM can fully utilize the performance of multi-core processors to achieve high throughput;

  • Low latency: Since transactions can be executed in parallel, Block-STM can significantly reduce transaction confirmation time;

  • Security: Block-STM’s preset sequential execution and verification mechanism ensures the consistency and security of the final state.

Simply put, Block-STM is an efficient parallel transaction execution engine that combines technologies such as optimistic concurrency control, multi-version data structure, and collaborative scheduling to maximize the throughput of the blockchain while ensuring security and correctness.

3.3 Abstract Accounts

Unlike Sui's abstract account, Aptos supports more limited abstract dimensions and no specific predefined standards. Its abstract account capabilities are mainly reflected in the following aspects:

  1. Modular account management: Use Move modules to define and manage accounts. Developers can create custom modules to implement different account types and functions.

  2. Flexible key management: Allows users to use different keys to perform different operations on their accounts, such as using one key to sign transactions and another key for account management.

  3. Programmable transaction verification: Developers can define custom transaction verification logic in the Move module, such as multi-signature, limit, etc., to meet different application scenarios.

3.4 Cooperation with Microsoft

Compared to Sui, which focuses more on the development of games, Aptos does not have a specific development goal. Its slogan is "the most suitable blockchain for production." It is worth mentioning that Aptos is currently working with Microsoft to introduce Microsoft's AI technology into the blockchain. The first cooperative product of the two, Aptos Assistant, has been launched on the official page. This product is a generative AI assistant built by the Aptos network, and subsequent AI products will be announced in a few months.

4. Move system

Although Sui has performed well recently, compared with the EVM system and heterogeneous chains such as Solana and Ton. The rise of Move still needs a certain amount of time to settle. Although the current twin stars Sui and Aptos have star haloes and have indeed made breakthroughs in technology, the overall scale and activity of the Move ecosystem are still not as good as other mature ecosystems. The number of developers, application types and user scale all need time to accumulate. From external cooperation to operation, both have a strong Web2 mindset and lack some Web3 genes. Various cooperation projects have always been tepid in the circle.

However, in terms of the potential of the Move system, it is worth exploring in many aspects, and some developers have already noticed the future value of Move. As mentioned in the preface, there are already projects that introduce Move into ETH Layer2, and the future Move system will also shine in the ETH second-layer ecosystem. What needs to be done now is more about how to promote the Move system.

 

References:

A comparison of Aptos and Sui:https://cryptotvplus.com/2022/08/a-comparison-of-aptos-and-sui/

Nansen: Detailed explanation of the technical characteristics and ecological status of the star public chain Aptos: https://foresightnews.pro/article/detail/16825

Aptos documentation: https://aptos.dev/en/network/blockchain/move

Sui official documentation: https://docs.sui.io/

As a newcomer to blockchain, how do you understand Sui and how it works? :https://medium.com/sui-network-cn/As a newcomer to blockchain - how to understand Sui and how it works -f2aaa5d8848f