Quick Introduction
An Short Overview of Arcology's Core Technologies
This document is a brief overview of the Arcology Network, consolidating information that is otherwise scattered across multiple sources into a single, concise summary to highlight some key features. For a deeper dive into Arcology, please refer to our detailed documentation here.
Modern processors are multi-core, built for parallel tasks. However Ethereum rollups are all single-threaded, can only use one core at a time. Single-threaded rollups fall short of meeting high performance demands. The resource underutilization leads to significant scalability limitations.
Arcology is a parallel rollup network capable of processing multiple transactions simultaneously. It can handle tens of thousands of transactions per second, outperforming all existing high-performance blockchains.
Comparison With Other L2s
Fee Stability Under Load
One of the key issues with Ethereum and its L2s is unstable fees during periods of high network activity. Arcology's architecture is designed to prevent fee spikes, maintaining low and stable transaction costs even during periods of high network activity. This contrasts with some L2 solutions where increased demand can lead to significant fee increases.
Unprecedented Gas Limit
Arcology Network stands out with its massive gas limit of 1 billion gas per second, targeting 2 billion at mainnet launch—vastly surpassing the 5–10 million targeted gas limits of traditional L2 solutions like Optimism and Arbitrum. This allows Arcology to achieve 10,000–15,000 TPS, enabling complex applications and reducing transaction costs by up to 3x, making it a scalable and cost-efficient choice for developers.
Arbitrum has a targeted gas limit of 7 million per second. With each coin transfer costing 21,000 gas, the network can handle roughly 333 of the simplest transactions per second — not to mention the significantly reduced capacity for complex smart contract calls, which consume far more gas.
Optimism, by comparison, is even slower, with a gas limit of 5 million per block and a block time of 2 seconds. This translates to just 2.5 million gas per second, allowing for only about 119 simple transactions per second, and even fewer for gas-intensive operations.
Enhanced Security
Arcology's parallel execution model eliminates MEV (Maximal Extractable Value) opportunities by processing transactions concurrently, preventing the ordering manipulations that enable sandwich attacks. This architecture allows the construction of DEXs where users can trade securely without the risk of front-running or other MEV-related exploits.
Unlocking New Design Possibilities
Arcology’s parallel execution model enables a new generation of resource-intensive applications. For example, it empowers DEXs to handle tens of thousands of transactions per second, making high-frequency trading and complex operations seamless and efficient.
Parallel Execution
Parallelization execution is a technology that leverages modern multicore computer architecture to run multiple tasks in at once. Workload is cut into independent tasks and allocated to individual core for more efficient processing. It is an effective scaling solution in computing. All supercomputers rely on parallel execution to scale, and blockchain scaling should be no different.
A parallel blockchain can handle significantly more transactions in a fraction of the time. It is wildly used in many areas. For blockchain, this means:
Significantly higher scalability.
reduced transaction costs.
What is Arcology
Arcology has a scalable, parallel processing-focused architecture, a redesign of traditional, sequential-centric blockchain systems. Not only does Arcology address the need for parallel execution but also other key bottlenecks in the original Ethereum, including slow storage access. Key features include:
EVM equivalent & composable
Deterministic parallel transaction execution
Dual storage(Parallelized, asynchronous MPT with dedicated execution storage)
Event-driven, microservice-based architecture
Challenges
For a parallel blockchain to work to its full potential, the following intertwined issues in the current blockchain design must be addressed with comprehensive solutions:
Deterministic concurrency control: Transaction executions must generate deterministic results, a fundamental requirement for blockchain. Unfortunately, most commonly used concurrency control tools in the centralized systems aren't designed for this, so a blockchain-native concurrency solution is the key.
Low performance StateDB: Even with parallel execution, overall throughput won't improve much if other bottlenecks persist; Ethereum's original stateDB design is the single biggest one. The module needs a substantial upgrade to keep up with parallel execution.
Parallel contract development: It's a common misconception that a blockchain with a parallel execution engine alone is enough to fully realize the benefits of parallelism. This is not true. Contracts must be designed and built for parallelization to unlock the full potential of the underlying parallel execution architecture.
Optimistic Concurrency Control
Parallel execution relies on an effective concurrency control system to maintain data consistency and integrity. Arcology needs one too. Generally, there are two main concurrency control strategies: Pessimistic Concurrency Control and Optimistic Concurrency Control.
Arcology uses a hybrid control strategy, primarily focusing on an STM-based optimistic approach. Given that optimistic concurrency control is sensitive to conflicts, Arcology also includes a concurrent library in Solidity to help developers write conflict-free contracts.
How Arcology Works
The EVM is a single-threaded system by design. To add parallel execution capability, it must either be reimplemented to include the necessary enhancements or wrapped in an external parallel execution framework as a unit of execution. Arcology chose the latter because it doesn't alter the EVM's core structure.
To keep track of all the Arcology inserted an intermediate layer between the EVM and the Ethereum StateDB to intercept state accesses. These records are later assessed by a dedicated conflict detection module to protect the state consistency. Arcology’s concurrency control system includes:
The system starts multiple EVM instances, each with its own cache. More instances generally mean better performance, but the number should not exceed the available processors.
Each EVM processes a transaction, temporarily saving read and written data in its cache. The EVMs run independently without communicating during processing.
An RW Cache that acts as an intermediary between the EVM and the StateDB.
A conflict detector to identify potential conflicts in state access.
A state committer to write clear state transitions to the storage.
The conflict history will be fed back to the scheduler to prevent future occurrences.
Storage Variables Only
In the EVM, there are memory variables and storage variables. Arcology’s concurrency control only tracks storage variables, treating memory variables as local to their transactions since they don’t affect the overall blockchain state directly. In Arcology's concurrent execution design, the system keeps track of three types of state operation during transaction processing:
For more information on conflict rules please check out this link.
Concurrent Data Structures
Optimistic concurrency control is effective when conflict likelihood is low. However, many contracts designed sequentially have contention points that ultimately result in conflicts, preventing them from fully benefiting from parallel execution. To fully harness the advantages of parallelism, developers need mechanisms to mitigate the impact of contention in their code.
The Concurrent Data Structures are a set of CRDT that help developers to write contention free smart contracts that can take best use of Arcology's parallel processing design.
Vending Machine Example
To better understand this, consider the following example from the Ethereum developers docs:
In the original implementation, the cupcakeBalances
mapping is a shared variable accessed and modified by multiple functions (refill
and purchase
), and it is shared among different users interacting with the contract.
Analysis
If two users, Alice and Bob, attempt to purchase their own cupcakes and the transactions are processed in parallel. These two versions will behave differently.
Original Version: Only one transaction will go through due to the obvious conflict caused by the concurrent accesses to
cupcakeBalances.
The parallel execution of transactions interacting with this contract won't bring any performance benefit.Parallelized Version: Both transactions will go through because the
cupcakeBalances
variable is concurrently updatable. Alice and Bob will both receive their cupcakes as long as there are enough in stock.
Performance
Last updated