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 continued 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. The pressure led by the Biden administration eventually led 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 they have evolved into the Move twins Sui and Aptos that we are familiar with. In addition, there are Linera (a 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 optimization), which can 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.
2. 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 sorting: Ensure that the execution order of transactions complies with causal relationships 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. Its working principle is to maintain a local transaction pool, sort and broadcast transactions according to their causal relationship, and ensure that all nodes have the same and valid transaction order. Bullshark will vote on the transaction list after receiving 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 low latency and high throughput.
Mysticeti allows multiple validators to propose blocks in parallel, making full use of network bandwidth and providing censorship resistance. In addition, the protocol only requires three rounds of messages to commit blocks from the DAG (directed acyclic graph), the same as pBFT and matching the theoretical minimum. The commit rules allow for parallel voting and certification of block leaders, further reducing median and tail latencies. The 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. Now, the Sui network can process tens of thousands of transactions per second with end-to-end latency well below one second.
The 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 passing 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: Commit rules allow tolerating unavailable leaders (when a leader node fails, the system automatically elects a new leader to take over its duties) 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 Accounts
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 status.
Sui's abstract account model processes transactions through the following steps:
1. Transaction creation: The user creates a transaction and sends it to the Sui network;
2. Transaction verification: The Sui network verifies the validity and integrity of the transaction;
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 to 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 to challenge iOS and Android in the current mobile phone market. 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 blockchain has been basically designed around finance since its birth, and because of the low performance of decentralized structures, it is 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 characteristics.
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 pre-declared data dependencies, 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's architecture is designed to handle a large number of concurrent transactions while maintaining high speed, low fees and security.
The 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 a multi-version data structure to store data. Each write operation creates a new data version, and the 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. Collaborative Scheduling: Block-STM uses a collaborative scheduler to coordinate the execution and verification tasks of each thread 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.
Advantages of Block-STM:
● 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. Currently, 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, types of applications and user scale all need time to accumulate. From external cooperation to operation, both have a relatively strong Web2 thinking 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.
Welcome to BlockBeats the BlockBeats official community:
Telegram subscription group: https://t.me/theblockbeats
Telegram group: https://t.me/BlockBeats_App
Official Twitter account: https://twitter.com/BlockBeatsAsia