On-Chain Mempools

Overview

The Arcium Network places pending Computations into a dual-mempool design. The active mempool contains Computations that are ready to be executed, while the dependent mempool contains Computations that are waiting on the completion of other unfinished Computations. Additionally, Computations may specify validity window rules, enabling them to define within which precise time-frames execution is permissible.

Both System Computations and normal Computations share the active mempool, however, System Computations do not use the dependent mempool since they cannot be dependent. For more details on how the priority fees are set for System Computations, see the Types of Computations section.

The Active Mempool

Computations in the active mempool are not dependent on the completion of any other Computations. Computations in the active mempool may define "valid after" and "valid before" timestamps representing when the Computation is valid to be executed. For more on the mechanics of these fields in the active mempool, see the Computation Lifecycle section.

The active mempool is divided into siloed fee markets based on the Clusters that share mutual Arx nodes. Depending on the current level of computational activity in the Network as well as how much homogeneity exists between active Cluster node sets in the Network, the union of Clusters who share Arx nodes can oscillate between being the set of all nodes in the Network and many highly isolated Network portions or micro-fee markets. For more on how these fee market dynamics work in the active mempool, see Cluster Unions as Priority Fee Markets for more info.

The Dependent Mempool

Free of a priority-ranking system, the dependent mempool can be thought of simply as a hash table which maps from Computation identifiers to dependent Computations. These dependent Computations simply wait until their associated Computations have been completed, eventually moving over to the active mempool for execution. Validity windows have no effect on Computations waiting in the dependent mempool, since such Computations must first wait on the completion of their dependencies and move into the active mempool before their windows of validity are taken into account.

Last updated