Time:2024-01-29 Click:154
作者:鑫伟,MT Capital
长话短说
并行EVM的必要性在于它解决了传统EVM顺序事务处理的效率问题。 通过允许同时执行多个操作,它显着提高了网络吞吐量和性能。
并行 EVM 的实现包括基于调度程序的并发处理、多线程 EVM 实例和系统级分片,同时面临时间戳不可靠、区块链确定性和验证者利润导向等技术挑战。
Monad Labs 通过其 Layer 1 项目 Monad,旨在通过独特的技术功能显着增强区块链的可扩展性和交易速度。 其中包括每秒处理多达 10,000 个交易、1 秒的出块时间、并行执行能力和 MonadBFT 共识机制。
Sei V2 是 Sei Network 的重大升级,旨在成为第一个完全并行的 EVM。 它提供向后兼容的EVM智能合约、乐观并行化、新的SeiDB数据结构以及与现有链的互操作性,旨在大幅提高交易处理速度和网络可扩展性。
Neon EVM 是 Solana 上的一个平台,旨在为以太坊 dApp 提供高效、安全、去中心化的环境。 它允许开发人员轻松部署和运行 dApp,同时利用 Solana 的高吞吐量和低成本优势。
Lumio 由 Pontem Network 开发,是一种第 2 层解决方案,通过独特地支持 Aptos 使用的 EVM 和 Move VM,创新地解决了以太坊的可扩展性挑战,将 Web3 体验提升到更接近 Web2 水平。
Eclipse 是以太坊第 2 层解决方案,可使用 SVM 加速事务处理。 它采用模块化的rollup架构,集成了以太坊结算、SVM智能合约、Celestia数据可用性和RISC零欺诈证明。
Solana 使用其 Sealevel 技术进行并行智能合约处理。 Sui 通过 Narwhal 和 Bullshark 组件提高了吞吐量。 Fuel通过UTXO模型实现交易并行执行,Aptos则利用Block-STM引擎增强交易处理能力。 都展示了并行技术在区块链领域的不同实现方式和优势。
采用并行性的主要挑战包括解决数据竞争和读写冲突、确保与现有标准的兼容性、适应新的生态系统交互模型以及管理增加的系统复杂性,特别是在安全性和资源分配方面。
Parallel EVM demonstrates tremendous potential in enhancing blockchain scalability and efficiency, marking a significant shift in blockchain technology. It improves transaction processing capacity by executing transactions simultaneously on multiple processors, breaking free from the constraints of traditional sequential transaction processing. While Parallel EVM offers immense potential, its successful implementation requires overcoming complex technical challenges and ensuring widespread adoption in the ecosystem.
Basic Concepts of Parallel EVM
Introduction to EVM
The Ethereum Virtual Machine (EVM) is a core component of the Ethereum blockchain, acting as its computational engine. It is a quasi-Turing-complete machine that provides an execution environment for smart contracts on the Ethereum network, crucial for maintaining trust and consistency across the entire Ethereum ecosystem.
The EVM executes smart contracts by processing bytecode, a more basic form of smart contract code typically written in high-level programming languages like Solidity. This bytecode consists of a series of operation codes (opcodes) used to perform various functions, including arithmetic operations and data storage/retrieval. The EVM operates as a stack machine, processing operations in a last-in, first-out manner, and each operation in the EVM has an associated gas cost. This gas system measures the computational work required to execute an operation, ensuring fair resource allocation and preventing network abuse.
In Ethereum, transactions play a vital role within the functionality of the EVM. There are two types of transactions: one that leads to message calls and another that leads to contract creation. Contract creation results in a new contract account containing compiled smart contract bytecode, which is executed when another account makes a message call to the contract.
The architecture of the EVM includes components like bytecode, stack, memory, and storage. It has a dedicated memory space for temporarily storing data during execution and a persistent storage space on the blockchain for indefinite data preservation. The EVM’s design ensures a secure execution environment for smart contracts, isolating them to prevent reentrancy attacks, and incorporates various safety measures, such as gas and stack depth limits.
Furthermore, the influence of the EVM extends beyond Ethereum, reaching a broader scope through EVM-compatible chains. While these chains differ, they maintain compatibility with Ethereum-based applications, enabling seamless interaction with Ethereum’s foundational applications. These chains play a key role in various domains like enterprise solutions, GameFi, and DeFi.
The Necessity of Parallel EVM
The necessity of Parallel EVM (Ethereum Virtual Machine) stems from its ability to significantly enhance the performance and efficiency of blockchain networks. Traditional EVM processes transactions sequentially, which is not only energy-intensive but also places a heavy burden on network validators. This method of processing often leads to high transaction costs and inefficiency, considered a major barrier to the widespread adoption of blockchain technology.
Parallel EVM revolutionizes the consensus process by allowing multiple operations to execute simultaneously. The ability to execute in parallel greatly increases the network’s throughput, thus enhancing the performance and scalability of the entire blockchain. With Parallel EVM, blockchain networks can process more transactions in a shorter amount of time, effectively addressing the common congestion issues and slow processing times of traditional blockchain systems.
Parallel EVM has significant impacts on various aspects of blockchain technology:
It provides a more energy-efficient and effective method for processing transactions. By reducing the workload of validators and the network as a whole, Parallel EVM contributes to building a more sustainable blockchain ecosystem.
The increased scalability and added throughput directly lead to reduced transaction fees. Users will enjoy a more economical experience, making blockchain platforms more attractive to a broader audience.
Processing multiple transactions simultaneously rather than sequentially means that dApps can run more smoothly, even during periods of high network demand.
Implementation Methods of Parallel EVM (Credited toSiyuan H.)
In the current EVM architecture, the most granular read and write operations aresloadandsstore, used for reading from and writing to the state trie, respectively. Therefore, ensuring that different threads do not conflict on these two operations is a straightforward entry point for implementing parallel/concurrent EVM. In fact, in Ethereum, there is a special type of transaction that includes a special structure called the "access list," allowing transactions to carry the storage addresses they will read and modify. Thus, this provides a good starting point for implementing a scheduler-based concurrent approach.
Regarding system implementation, there are three common forms of parallel/concurrent EVM:
Multithreading of a single EVM instance.
Multithreading of multiple EVM instances on a single node.
Multithreading of multiple EVM instances across multiple nodes (essentially system-level sharding).
The differences of parallel/concurrent processing in blockchain compared to database systems include:
Unreliable timestamps make timestamp-based concurrency methods difficult to deploy in the blockchain world.
Absolute determinism on blockchain systems to ensure that transactions re-executed by different validators are identical.
Validators’ ultimate goal is higher revenue, not faster transaction execution.
So, what do we need?
A system-level consensus is required where faster execution leads to higher rewards.
A multi-variable scheduling algorithm considering block limitations, capable of capturing more revenue while completing executions more quickly.
More granular data operations, including opcode-level data locking, memory caching layers, etc.
Major Projects and Their Technologies
Monad Labs
Monad is an EVM Layer 1, aimed at significantly enhancing the scalability and transaction speed of the blockchain through its unique technological features. A key advantage of Monad is its capability to process up to 10,000 transactions per second with a block time of just 1 second. This is made possible by its MonadBFT consensus mechanism and compatibility with EVM, enabling it to process transactions efficiently and swiftly.
One of the most notable features of Monad is its parallel execution capability, which allows it to process multiple transactions simultaneously. Compared to the sequential processing method in traditional blockchain systems, this greatly increases network efficiency and throughput.
Monad’s development is led by Monad Labs, co-founded by Keone Hon, Eunice Giarta, and James Hunsaker. The project has successfully raised $19 million in seed funding and plans to launch its testnet in mid-Q1 2024, followed by the mainnet launch.
Monad has optimized in the following four main areas, making it a high-performance blockchain:
MonadBFT:
MonadBFT is the high-performance consensus mechanism of the Monad blockchain, used to achieve consistency in transaction ordering under partially synchronous conditions in the presence of Byzantine actors. It is an improved version based on HotStuff, utilizing a two-phase BFT algorithm, featuring optimistic responsiveness, linear communication costs in common cases, and quadratic communication costs in timeout scenarios. In MonadBFT, the leader sends a new block and the previous round’s QC (Quorum Certificate) or TC (Timeout Certificate) to validators each round. Validators review the block and send a signed “yes” vote to the leader of the next round if they agree. This process aggregates2f+1validators' "yes" votes into a QC through threshold signatures. In common communication cases, the leader sends the block to validators who then send votes directly to the leader of the next round. MonadBFT also employs pairing-based BLS signatures to address scalability issues, allowing signatures to be incrementally aggregated into a single signature, proving that shares associated with public keys have signed the message. For performance considerations, MonadBFT adopts a hybrid signature scheme, where BLS signatures are only used for aggregatable message types (votes and timeouts). The integrity and authenticity of messages are still provided by ECDSA signatures. Due to these features, MonadBFT can achieve efficient and robust blockchain consensus.
2. Deferred Execution:
This is a key innovation that decouples the execution process from the consensus process. In this architecture, the consensus process involves nodes agreeing on the official ordering of transactions, while execution is the actual process of executing these transactions and updating the state. In this design, the leading node proposes a transaction order but does not know the final state root when proposing the order; validators also do not know whether all transactions in the block will execute successfully when voting on its validity.
This design allows Monad to achieve significant speed improvements, enabling a single-shard blockchain to scale to millions of users. In Monad, each node independently executes the transactions in block N while reaching consensus on block N+1. This method allows for a larger gas budget, as execution only needs to keep up with the pace of consensus. Additionally, since execution only needs to average up to the pace of consensus, this method is more tolerant of specific variations in computation time.
To further ensure state machine replication, Monad includes a Merkle root delayed by D blocks in the block proposal. This delayed Merkle root ensures consistency across the entire network, even if there are node execution errors or malicious behaviors.
In MonadBFT, finality is single-slot (1 second), and the execution results typically lag less than 1 second on full nodes. This single-slot finality means that after submitting a transaction, users will see the official order of the transaction after a single block. There is no possibility of reordering unless a supermajority of the network behaves maliciously. For users who need to know transaction results quickly (e.g., high-frequency traders), running a full node can minimize delays.
3. Parallel Execution:
It enables Monad to execute multiple transactions simultaneously. This approach might initially seem different from Ethereum’s execution semantics, but it is not. Blocks in Monad are the same as in Ethereum, both being linearly ordered sets of transactions. The results of executing these transactions are the same between Monad and Ethereum.
In the parallel execution process, Monad uses an optimistic execution method, i.e., starting the execution of subsequent transactions before earlier transactions in the block are completed. This sometimes leads to incorrect execution results. To address this issue, Monad tracks the inputs used in the execution of transactions and compares them with the outputs of previous transactions. If differences are found, it indicates that the transaction needs to be re-executed with the correct data.
Additionally, Monad employs a static code analyzer to predict dependencies between transactions during execution, avoiding invalid parallel executions. In the best-case scenario, Monad can predict many dependencies in advance; in the worst-case scenario, it reverts to simple execution mode.
Monad’s parallel execution technology not only improves network efficiency and throughput but also reduces the occurrence of transaction failures due to parallel execution by optimizing execution strategies.
Ecosystem Projects
Tayaswap
TayaSwap is an AMM DEX based on Monad, supported by SubLabs, allowing asset trading without traditional order books or intermediaries. AMMs rely on mathematical formulas and smart contracts to facilitate token exchanges, determine prices, and enable peer-to-peer transactions using smart contracts.
Ambient Finance
Ambient (formerly CrocSwap) is a decentralized trading protocol allowing combined centralized and constant product liquidity on any pair of blockchain assets through a bilateral AMM. Ambient runs the entire DEX within a single smart contract, where individual AMM pools are lightweight data structures, not separate smart contracts.
Shrimp Protocol
Shrimp is a (3,3) DEX with a flywheel token economy, supporting real-world assets, set to launch on Monad.
Catalyst
Catalyst is a permissionless liquidity solution between modular blockchains, built to connect all chains, aiming to enable access to any asset anywhere. Catalyst allows developers to automatically connect to all chains, gaining access to users in a unified ecosystem, while its simple, decentralized, and self-custodial design ensures safe, seamless access to liquidity.
Swaap
Swaap is a market-neutral Automated Market Maker (AMM). It combines oracles and dynamic spreads to provide sustainable returns for liquidity providers and cheaper prices for traders. The protocol significantly reduces impermanent loss and offers multi-asset pools.
Elixir
Elixir is a decentralized market-making protocol that interacts with centralized exchanges using market-making algorithms through API calls, bringing liquidity to long-tail crypto assets.
Timeswap
Timeswap is an AMM-based decentralized money market protocol that operates without oracles or liquidators. Unlike Uniswap, which allows real-time asset trading, borrowing on Timeswap involves trading tokens until repayment. Lenders provide Asset A for loans, simultaneously “insuring” a certain amount of Asset B used as collateral by borrowers. Users can adjust their risk profile, obtaining higher rates with lower collateral ratios, and vice versa.
Poply
Poply is a community-based NFT marketplace, specifically for the Monad chain, showcasing and empowering NFT collections created specifically for this chain. It attracts individuals interested in unique NFTs for ERC-721 token trading through AI-generated art and user-friendly interfaces.
Switchboard
Switchboard is a permissionless, customizable, multi-chain oracle protocol for general data feeds and verifiable randomness. By allowing anyone to push any form of data, regardless of type, it offers a one-stop solution for users and helps drive the development of the next generation of decentralized applications.
Pyth Network
Pyth Network, developed by Douro Labs, is a next-generation price oracle solution aiming to provide valuable financial market data on-chain to projects, protocols, and the public, including cryptocurrencies, stocks, forex, and commodities. The network aggregates first-party price data from over 70 trusted data providers and publishes it for use by smart contracts and other on-chain or off-chain applications.
AIT Protocol
AIT Protocol is an artificial intelligence data infrastructure offering Web3 AI solutions. AIT’s decentralized marketplace provides a unique and extensive opportunity for millions of cryptocurrency users to engage in “train-to-earn” tasks, a concept allowing them to earn rewards while actively contributing to the development and advancement of AI models.
Notifi
Notifi offers a universal communication layer for all Web3 projects, planning to embed notification and messaging functionalities into decentralized applications for interaction with users across digital and on-chain channels. The Notifi API allows developers to unlock complex communication infrastructures through simple APIs, providing native user experiences for applications worldwide; Notifi Center offers users a customized notification experience, allowing them to view and manage all messages in the Web3 world from mobile and web endpoints; Notifi Push enables marketers to create cohesive multi-channel engagements, driving business growth and retaining their user base.
ACryptoS
ACryptoS is an advanced crypto strategy platform, a multi-chain yield aggregator optimizer, and DEX, offering a range of unique products including automated compounding single token vaults, dual token LP vaults, unique liquidity vaults, Balancer-V2 branch DEX, and stablecoin exchange. Initially launched on the BNB chain in November 2020, ACryptoS has now expanded to 11 chains, deploying over 100 vaults, aiming to support DeFi users and protocols.
MagmaDAO
MagmaDAO is a DAO-controlled liquidity staking protocol aiming for fair token distribution through ecosystem competitive airdrops. It is the first distributed validator outside Ethereum, built on the fastest, cheapest, and most censorship-resistant EVM L1 Monad.
Wombat Exchange
Wombat Exchange is a multi-chain stablecoin swap with open liquidity pools, low slippage, and one-sided staking.
Wormhole
Wormhole is a decentralized universal messaging protocol, enabling developers and users of cross-chain applications to leverage the advantages of multiple ecosystems.
DeMask Finance
DeMask Finance is an on-chain AMM protocol for trading between NFTs and ERC20 tokens. DeMask Finance supports creating NFT collections and NFT launchpads: paired with ETH and other tokens. NFT decentralized exchange: supports ERC-1155 NFTs or other tokens paired with ETH and ERC-20 tokens. The DeMask protocol aims to increase liquidity in the NFT market, providing an interface for seamless exchanges between ERC20 tokens or native tokens and NFT collections. DeMask is an interconnected system of smart contracts where all users can create and own liquidity pools and trade in a fully automated way. Each pool holds a pair of assets, including a token and an NFT, providing fixed prices for instant trading. This also allows other contracts to estimate the average price of both assets over time. Users owning liquidity pools are rewarded when exchanging asset pairs.
Sei V2
Sei V2 is a significant upgrade to the Sei network, aiming to become the first fully parallelized EVM. This upgrade will endow Sei with the following capabilities:
Backward Compatibility with EVM Smart Contracts:
This means that developers can deploy already-audited, EVM-compatible smart contracts on Sei without any code changes. This is extremely important for developers as it simplifies the process of moving their existing smart contracts from other blockchains like Ethereum to Sei.
Technically, Sei nodes will automatically import Geth — the Go implementation of the Ethereum Virtual Machine. Geth will be used to process Ethereum transactions, and any resulting updates (including state updates or calls to non-EVM related contracts) will go through a special interface created by Sei for EVM.
2. Optimistic Parallelization:
It allows the blockchain to support parallelization without the need for developers to define any dependencies. This means all transactions can run in parallel, and when conflicts arise (e.g., transactions touching the same state), the chain will track the storage parts each transaction touches and re-run these transactions in order. This process will continue recursively until all unresolved conflicts are resolved. As transactions are ordered within a block, this process is deterministic and simplifies the developer workflow while maintaining chain-level parallelism.
3. SeiDB:
It will introduce a new data structure called SeiDB to optimize the platform’s storage layer. The main goal of SeiDB is to prevent state bloat, the issue of the network becoming data-heavy, and to simplify the state synchronization process for new nodes. This design aims to enhance the overall performance and scalability of the Sei blockchain.
Sei V2 achieves this by transforming the traditional IAVL tree into a dual-component system — state storage and state commitment. This change significantly reduces latency and disk usage, and Sei V2 also plans to transition to using PebbleDB to improve read-write performance for multi-threaded access.
From a performance perspective, Sei V2 will offer a throughput of 28,300 batch transactions per second, along with a block time of 390 milliseconds and finality of 390 milliseconds. This enables Sei to support more users, provide a better interaction experience, and offer cheaper transaction costs per transaction compared to existing blockchains.
The main upgrade progress of Sei V2 is currently nearing code completion. After the review is completed, this upgrade will be released in the public testnet in Q1 2024 and deployed to the mainnet in the first half of 2024.
Neon
Neon EVM leverages the capabilities of the Solana blockchain to provide an efficient environment for Ethereum dApps. It operates as a smart contract within Solana, allowing developers to deploy Ethereum dApps with minimal or no code changes, and benefit from Solana’s advanced features. The architecture and operations of Neon EVM focus on security, decentralization, and sustainability, offering Ethereum developers a seamless transition to the Solana environment. Utilizing the advantages of Solana’s low fees and high transaction speed, it enables parallel execution of transactions, high throughput, and reduced costs. The key components of the Neon EVM ecosystem include:
Neon EVM Program:
It is an EVM compiled into Berkeley Packet Filter bytecode, running on Solana. It processes Ethereum-like transactions (Neon transactions) on Solana, following Ethereum rules. Neon EVM is configured through a decentralized multi-signature EVM account, with participants able to change Neon EVM code and set parameters.
The process of Neon EVM handling transactions involves several key steps. Firstly, users initiate Ethereum-like transactions (N-tx) through Ethereum-compatible wallets. These transactions are encapsulated into Solana transactions (S-tx) via the Neon Proxy and then passed to the Neon EVM program hosted on Solana. The Neon EVM program decapsulates the transactions, verifies user signatures, loads the EVM state (including account data and smart contract code), executes the transaction in the Solana BPF (Berkeley Packet Filter) environment, and updates Solana’s state to reflect the new Neon EVM state.
2. Neon Proxy: It enables Ethereum dApps to be ported to Neon with minimal reconfiguration. Neon Proxy packages EVM transactions into Solana transactions, offered as a containerized solution for ease of use. Operators running Neon Proxy servers facilitate the execution of Ethereum-like transactions on Solana, accepting NEON tokens as gas fees and other payments within the Solana ecosystem.
3. Neon DAO: The DAO provides custodial services for the Neon Foundation and guides future research and development. It operates as a series of contracts on Solana, providing a governance layer to control Neon EVM functions. NEON token holders can participate in DAO activities, including proposing and voting on decisions.
4. NEON Token: This utility token serves two primary purposes — paying for gas fees and participating in governance through the DAO.
5. Integrations and Tools: Neon EVM supports various integrations and tools for development and analysis. These include block explorers like NeonScan, ERC-20 SPL wrappers for token transfers, NeonPass for transferring ERC-20 tokens between Solana and Neon EVM, NeonFaucet for test tokens, and compatibility with EVM-compatible wallets like MetaMask.
Eclipse
Eclipse is a Layer 2 solution for Ethereum that significantly accelerates transaction processing by leveraging the Solana Virtual Machine (SVM). Designed for speed and scalability, Eclipse adopts a modular rollup architecture and integrates key technologies such as Ethereum settlement, SVM smart contracts, Celestia data availability, and RISC Zero security.
Specifically, Eclipse Mainnet combines the best modular stack components:
Settlement Layer — Ethereum: Eclipse uses Ethereum as its settlement layer. At this layer, transactions are finalized and secured. Utilizing Ethereum means not only leveraging its robust security and liquidity but also using ETH as the gas token for paying transaction fees. This setup allows Eclipse to inherit Ethereum’s strong security features.
Execution Layer — SVM: For smart contract execution, Eclipse employs SVM. This contrasts with the EVM’s sequential transaction processing, as SVM can handle parallel transaction processing. Its Sealevel runtime feature allows parallel processing of transactions that do not involve overlapping states, enabling Eclipse to scale horizontally and increase throughput.
Data Availability — Celestia: To ensure timely and verifiable data availability, Eclipse adopts Celestia. Celestia provides a scalable and secure platform for data publication, supporting Eclipse’s high throughput.
Fraud Proofs — RISC Zero: Eclipse integrates RISC Zero for zero-knowledge fraud proofs, eliminating the need for intermediate state serialization, thus enhancing the system’s efficiency and security.
Eclipse’s design goal is to provide a genuinely scalable and general-purpose Layer 2 solution for Ethereum. It aims to address the limitations and resulting isolation and complexity brought by specific application rollups, which could degrade user and developer experiences. Through its modular rollup system and integrated technology components, Eclipse offers an attractive option for building scalable and high-performance dApps on Ethereum.
Lumio
Lumio is a Layer 2 solution developed by Pontem Network, designed to address Ethereum’s scalability challenges and bring a Web2-like experience to Web3. It stands out as a unique rollup in the blockchain space because it supports both the EVM and Move VM used by Aptos. This dual compatibility allows Lumio to process transactions on Aptos while settling on Ethereum, providing a versatile and efficient solution for dApp developers and users. Its key features include:
Dual Virtual Machine Compatibility: Lumio uniquely supports both the EVM and Aptos’s Move VM. This dual compatibility enables Lumio to seamlessly integrate the functionalities of Ethereum and Aptos, enhancing flexibility and efficiency in dApp development and execution.
High Throughput and Low Latency: By leveraging high-performance chains like Aptos for transaction ordering, Lumio significantly enhances transaction bandwidth. This integration ensures that Lumio can efficiently handle a large volume of transactions while maintaining Ethereum’s security and liquidity features.
Optimistic Rollup Technology: Lumio uses open-source OP stack and adopts optimistic rollup technology. Optimistic rollups are known for their efficient transaction processing and lower costs, suitable for scaling Ethereum-based applications.
Flexible Gas Fee Economic Model: Lumio introduces an application-centric gas fee economic model. This model allows app developers to directly benefit from network usage, potentially incentivizing more innovative and user-friendly dApp development.
Interoperability and Integration: Lumio’s ability to process transactions on Aptos and settle on Ethereum demonstrates a high degree of interoperability between different blockchain ecosystems. This feature allows developers to fully utilize the strengths of both Ethereum and Aptos in their applications.
Balance of Security and Scalability: Combining Ethereum’s robust security and Aptos’s scalability offers developers an attractive solution for building high-performance, secure dApps. Lumio’s architecture is designed to effectively balance these two key aspects.
Lumio is currently in a closed testing phase, with plans to gradually roll out to selected users. This approach allows for comprehensive testing and improvements to the platform based on user feedback, ensuring a robust and user-friendly platform when released more broadly.
Other Parallel Projects in the Industry
Solana
Solana’s Sealevel technology is a key component of its blockchain architecture, designed to enhance the performance of smart contracts through parallel processing technology. This approach significantly differs from the single-threaded processing of other blockchain platforms, such as EVM and EOS’s WASM-based runtime, which handle one contract at a time and modify the blockchain state sequentially.
Sealevel enables the Solana runtime to process tens of thousands of contracts in parallel, utilizing all the cores available to validators. This parallel processing capability is possible because Solana transactions explicitly describe all the states that will be read or written during execution, allowing non-overlapping transactions to be executed concurrently, and transactions that only read the same state.
The core functionality of Sealevel is based on Solana’s unique architecture, including components like the Cloudbreak account database and the Proof of History (PoH) consensus mechanism. Cloudbreak maps public keys to accounts, with accounts maintaining balances and data, while programs (stateless code) manage these accounts’ state transitions.
Transactions in Solana specify an instruction vector, each instruction containing a program, program instructions, and a list of accounts the transaction wishes to read and write. This interface is inspired by low-level operating system interfaces to devices, allowing the SVM to sort millions of pending transactions and schedule all non-overlapping transactions for parallel processing. Furthermore, Sealevel can sort all instructions by program ID and run the same program simultaneously on all accounts, a process similar to SIMD (Single Instruction, Multiple Data) optimizations used in GPUs.
Sealevel in Solana offers several benefits, including enhanced scalability, reduced latency, cost efficiency, and improved security. It enables the Solana network to handle a significantly higher number of transactions per second, provide almost instant transaction finality, and reduce transaction fees. Even during parallel processing, smart contract security is maintained through Solana’s robust security protocols.
By achieving high-speed parallel processing and increased transaction throughput, Sealevel makes Solana a powerful platform for decentralized applications.
Sui
Sui’s parallel technology features make it a highly efficient, high-throughput blockchain platform suitable for various Web3 applications and use cases. These significant features work together to enhance the efficiency and throughput of its network:
Narwhal and Bullshark Components: These two components are crucial to Sui’s consensus mechanism. Narwhal, acting as a mempool, is responsible for accelerating transaction processing and improving network efficiency, ensuring data availability when submitted to Bullshark (the consensus engine). Bullshark is tasked with ordering data provided by Narwhal, utilizing Byzantine Fault Tolerance mechanisms to validate transactions and distribute them across the network.
Asset Ownership Model: In the Sui network, assets can be owned by a single owner or shared among multiple owners. Assets owned by a single owner can move quickly and freely within the network, while shared assets require validation through the consensus system. This asset ownership system not only improves the efficiency of transaction processing but also enables developers to create various types of assets for their applications.
Distributed Computing: Sui’s design allows the network to scale resources as needed, functioning similarly to cloud services. This means that as demand for the Sui network increases, network validators can add more processing power, maintaining the network’s stability and keeping gas fees low.
Sui Move Programming Language: Sui Move is Sui’s native programming language, specifically designed for creating high-performance, secure, and feature-rich applications. Based on the Move language, it aims to address shortcomings in smart contract programming languages, enhancing the security of smart contracts and the efficiency of programmers.
Programmable Transaction Blocks (PTB): PTBs in Sui are complex, composable sequences of transactions that can access any public on-chain Move functions in all smart contracts. This design offers strong assurances for payment or finance-oriented applications.
Horizontal Scalability: Sui’s scalability extends beyond just transaction processing to include storage. This allows developers to define complex assets with rich attributes and store them directly on-chain, without resorting to indirect off-chain storage to save on gas costs.
Fuel
In the Fuel network, “parallel transaction execution” is a key technology that enables the network to efficiently process a large volume of transactions. This parallel execution is fundamentally achieved through the use of strict state access lists based on the UTXO (Unspent Transaction Output) model, a basic element in Bitcoin and many other cryptocurrencies.
Fuel introduces the capability of parallel transaction execution within the UTXO model. By utilizing strict state access lists, Fuel can process transactions in parallel, thereby leveraging more CPU threads and cores that are typically idle in single-threaded blockchain systems. As a result, Fuel can offer more computational power, state access, and transaction throughput than single-threaded blockchains.
Fuel addresses the concurrency issues in the UTXO model. In Fuel, users do not sign UTXOs directly, but instead sign contract IDs, indicating their intention to interact with a contract. Hence, users do not directly alter the state, leading to the consumption of UTXOs. Instead, block producers are responsible for processing how various transactions in a block affect the overall state, which in turn impacts contract UTXOs. The consumed contract UTXOs create new UTXOs with the same core characteristics but updated storage and balances.
To facilitate parallel transaction execution, Fuel has developed a specific virtual machine — the FuelVM. The design of FuelVM focuses on reducing wasted processing found in traditional blockchain virtual machine architectures, while offering developers more potential design space. It incorporates lessons learned and improvements from years in the Ethereum ecosystem, improvements that could not be implemented in Ethereum due to the need for backward compatibility with previous versions.
Aptos
The Aptos blockchain utilizes a parallel execution engine known as Block-STM (Software Transactional Memory) to enhance its transaction processing capabilities. This technology allows Aptos to execute transactions in a pre-determined order within each block and allocate the transactions to different processor threads during execution. The core idea of this method is to record the memory locations modified by transactions while executing all transactions simultaneously. After all transaction results are verified, if it is found that a transaction accessed a memory location modified by a previous transaction, that transaction will be invalidated. The aborted transaction is then re-executed, and this process is repeated until all transactions are completed.
Unlike other parallel execution engines, Block-STM maintains the atomicity of transactions without needing to know the data to be read/written in advance. This makes it easier for developers to build highly parallelized applications. Block-STM supports richer atomicity than other parallel execution environments, which often require breaking down operations into multiple transactions (breaking logical atomicity). By reducing latency and increasing cost efficiency, Block-STM enhances user experience.
Additionally, Aptos employs a consensus mechanism known as AptosBFTv4, a rigorously proven correct production blockchain BFT protocol. This protocol optimizes responsiveness, capable of delivering low latency and high throughput, fully leveraging the advantages of the underlying network. AptosBFTv4 employs a pipeline design similar to processors, ensuring maximum utilization of resources at every step. Therefore, a single node might participate in many aspects of consensus, from selecting transactions to be included in a block, to executing another set of transactions, writing the output of another set of transactions to storage, and certifying the output of another set of transactions. This means that throughput is limited only by the slowest stage, rather than the sequential combination of all stages.
Challenges
Technical Difficulties
Generally, the core challenge of adopting parallel or concurrent approaches is the issue of data races, read-write conflicts, or data hazards. All these terms describe the same problem: different threads or operations trying to read and modify the same data simultaneously. Implementing an efficient and reliable parallel system requires solving complex technical problems, especially ensuring predictable, conflict-free execution of parallel operations across thousands of decentralized nodes. Additionally, the challenge of technical compatibility lies in ensuring that new parallel processing methods are compatible with existing EVM standards and smart contract code.
Ecosystem Adaptability
For developers, they may need to learn new tools and methodologies to maximize the advantages of parallel EVMs. Moreover, users might need to adapt to potential new interaction patterns and performance characteristics. This requires a certain level of understanding and adaptability to new technologies by all ecosystem participants, including developers, users, and service providers. Furthermore, a robust blockchain ecosystem relies not just on its technical features but also on broad developer support and a rich array of applications. New technologies like parallel EVMs need to establish sufficient network effects to attract participation from developers and users for market success.
Increased System Complexity
Parallel EVMs require efficient network communication to support data synchronization across multiple nodes. Network latency or synchronization failures can lead to inconsistent transaction processing, adding to the complexity of system design. To effectively leverage the advantages of parallel processing, the system needs to manage and allocate computing resources more intelligently. This might involve dynamically distributing load among different nodes and optimizing the use of memory and storage. Developing smart contracts and applications that support parallel processing is more complex than traditional sequential execution models. Developers need to consider the characteristics and limitations of parallel execution, which can make the coding and debugging process more challenging. In a parallel execution environment, security vulnerabilities might be amplified, as a security issue could affect multiple transactions executing in parallel. Therefore, more stringent security audits and testing processes are required.
Future Outlook
Parallel EVMs demonstrate tremendous potential in enhancing the scalability and efficiency of blockchains. The mentioned parallel EVMs represent a significant shift in blockchain technology, aiming to enhance transaction processing capabilities by executing transactions simultaneously on multiple processors. This approach breaks free from the traditional sequential transaction processing method, allowing for higher throughput and lower latency, which are crucial for the scalability and efficiency of blockchain networks.
The successful implementation of parallel EVMs largely depends on the foresight and skills of developers, especially in the design of smart contracts and data structures. These elements are crucial in determining whether transactions can be executed in parallel. Developers must consider parallel processing from the start of the project, ensuring their designs facilitate independent, uninterrupted operation of different transactions.
并行 EVM 还保持与以太坊生态系统的兼容性,这对于已经参与基于以太坊的应用程序的开发人员和用户至关重要。 这种兼容性确保了现有 dApp 的平稳过渡和集成,这对于 DAG 等系统来说是一个挑战,因为这些系统通常需要对现有应用程序进行重大修改。
开发并行 EVM 被视为解决区块链可扩展性基本限制的关键一步。 这些创新有望为未来的区块链网络做好准备,使其能够满足不断增长的需求,并成为下一代 Web3 基础设施的基石。 虽然并行 EVM 具有巨大的潜力,但其成功实施需要克服复杂的技术挑战并确保在生态系统中得到广泛采用。
参考
https://github.com/hsyodyssey/awesome-parallel-blockchain
https://www.techflowpost.com/article/detail_15290.html
https://amberlabs.substack.com/p/parallel-power-unlocked
什么是 SVM - Solana 虚拟机 - Squads 博客
Solana 虚拟机,简称 SVM,是处理事务和智能的执行环境...
小队.so
明泰资本
将愿景转化为价值,我们赋能下一代加密货币创新。
MT Capital 的愿景是成为全球领先的投资公司,专注于支持能够产生巨大价值的早期技术企业。
我们不仅仅是投资者,我们还是创始团队背后的推动力量。
我们相信,基金与其投资组合公司之间建立的联系和信任对于共同成功至关重要。
网站:https:
//mt.capital
推特:https:
//twitter.com/MTCapital_US