Author: YBB Capital Researcher Zeke
Foreword
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 trust 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, even if they are not so grand, have their meanings, and they may just need enough underlying support. In the end, at least one of decentralization and a 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 their big brothers in many aspects. The public chain that carries applications needs innovation, which will drive the industry forward in every cycle. Therefore, today we will explore a type of public chain that has not been taken seriously 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 originally aimed to create a more stable and regulated stablecoin as the basis for its metaverse vision. However, contrary to expectations, the project has been strongly opposed and under pressure from global regulators. Regulators are concerned that Diem's scale 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.
But fortunately, the core of Diem has not been abandoned. Different factions split from the original team are still insisting on the excavation and development of Move, and now have evolved into the Move twins Sui and Aptos that we are familiar with. In addition, there are Linera (borrowing from the Rust public chain of Move), which is still in its infancy, and Movement, which has been vigorously promoted recently, and many other public chain projects.
So why can the residual heat of a project that was cut in half be so great? As a response from a Web2 giant to blockchain programming languages, Move has a solid foundation. In terms of design, it also reflects 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 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 virtual machine of the Move language is optimized (supports parallelism, memory management, 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 these issues aside, 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 architectural innovation:
Object storage model: This component is Sui's improved core component of 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.
Causal ordering: Ensure that the execution order of transactions conforms to the causal relationship to avoid data conflicts and inconsistencies. This enables Sui to handle a large number of concurrent transactions and maintain data consistency.
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.
Sui Move: Sui expands on the Move language and adds new features, such as support for NFTs, asset management, and data storage.
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, thereby 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), which is the same as pBFT and matches 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 latencies.
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.
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 described above to order 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;
Resistance to censorship: The Mysticeti protocol allows multiple validators to propose blocks in parallel, thereby increasing the network's resistance to censorship;
Tolerance to unavailable leaders: The submission rules allow tolerance of unavailable leaders (when a leader node fails, the system automatically elects a new leader to take over its duties) without significantly increasing submission 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 performed 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 abstract account model (Account Abstraction) is a mechanism that allows users to manage their accounts and transactions in a simpler and safer way. It achieves higher-level 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 pair.
Sui's abstract account model includes the following key components:
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;
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, etc.;
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, etc.;
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:
Transaction creation: The user creates a transaction and sends it to the Sui network;
Transaction verification: The Sui network verifies the validity and integrity of the transaction;
Account lookup: The Sui network looks up the corresponding account object based on the account ID in the transaction;
Account logic execution: The Sui network executes account logic to process transactions and update account status;
Transaction confirmation: The Sui network confirms the result of the transaction and writes it into the blockchain.
In short, 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 for Layer 1, which is basically against the trend, but the recent rise of multiple heterogeneous chains may prove that modularity is not the only answer. The second is to rebuild a public chain and adopt a new programming language. You can think of it 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 blockchain has been basically designed around finance since its birth, and because of the low performance of decentralized structures, it is naturally not suitable 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 last year's partnership with three of the four major Korean game giants (Netmarble, NHN and NCSoft). To this year's cooperation with Tiktok to develop chain games and SocialFi projects, Sui is introducing traditional giants into Web2.
3. Aptos
Aptos, as another Layer 1 blockchain based on the Move language, is also committed to building a high-performance and scalable Web3 infrastructure. Its architectural design has many similarities with Sui, but also shows 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's parallel execution engine can process transactions in parallel without prior knowledge of data locations, 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, thereby maximizing throughput and reducing latency;
4. Move programming language: Aptos uses Move Programming language, compared to the innovation introduced by Sui, Aptos has done more to improve it. For example, standardizing the language, introducing more powerful function support, and customizing 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 architectural 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 here on Aptos' core innovative parallel execution engine Block-STM:
The core principle of Block-STM:
Preset order execution: Block-STM relies on the preset order of transactions in the block, and all transactions must be executed in this order to ensure the consistency of the final state;
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 assumes that the probability of multiple transactions conflicting at the same time is very low, so modifications can be made first and then checked before the final submission to see if a conflict has actually occurred;
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 version of the data, while a read operation accesses the corresponding version of the data;
Verification and retry: After executing a transaction, Block-STM verifies whether the data version it reads is still valid. If the verification fails, it means a conflict has occurred, and the transaction will be marked as invalid and re-executed;
Cooperative scheduling: Block-STM uses a cooperative scheduler to coordinate the execution and verification tasks of each thread to maximize parallelism.
Block-STM workflow:
Transaction grouping: Group transactions in the block and assign them to different threads for parallel execution;
Optimistic execution: Each thread optimistically executes the transactions assigned to it and records the read-write set of each transaction;
Verification: When a thread completes the execution of a transaction, it verifies whether the data version in its read set is still valid;
Retry: If the verification fails, it means a conflict has occurred, and the transaction will be marked as invalid and re-executed;
Submission: After all transactions are verified, the results are written to the blockchain state 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 the confirmation time of transactions;
Security: Block-STM's preset sequential execution and verification mechanism ensures the consistency and security of the final state.
In short, Block-STM is an efficient parallel transaction execution engine that combines technologies such as optimistic concurrency control, multi-version data structure, and cooperative scheduling to maximize the throughput of the blockchain while ensuring security and correctness.
3.3 Abstract Accounts
Unlike Sui's abstract accounts, which are so direct, Aptos supports more limited abstract dimensions and no specific predefined standards. Its abstract account capabilities are mainly reflected in the following aspects:
Modular account management: Use the Move module to define and manage accounts. Developers can create custom modules to implement different account types and functions.
Flexible key management: Allow users to use different keys to perform different operations on accounts, such as using one key to sign transactions and another key to manage accounts.
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 cooperating 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.
Fourth, 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 Gemini 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 in a tepid state in the circle.
But 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 Layer 2. The future Move system will also shine in the ETH second-layer ecosystem. What needs to be done now is how to promote the Move system.