Overview
MXEs are the core operational units in the Arcium Network, serving as customizable environments where computational tasks are securely executed. Created by Computation Customers, MXEs are flexible, enabling users to fine-tune data provisioning, encryption protocols, and other parameters to suit specific applications.
MXEs can be either:
Single-Use: Designed for one-time computations that do not share state with other tasks and do not need to be repeated. An example might be an isolated data analysis task that is executed once and then discarded.
Recurring: Configured to handle repeated computations with new input data but without retaining any persistent state. These are ideal for continuous operations where fresh data is processed within each computation cycle.
The Arcium Network is stateless, meaning each computation must be completed within a single epoch and cannot persist across multiple tasks at the protocol level. However, Computation Customers can employ external mechanisms to manage data persistence across computations outside of the Arcium protocol itself.
MXEs can be associated with multiple Clusters, which are responsible for executing the computations. This association improves the reliability and availability of each MXE, ensuring it can continue functioning even if some nodes in its primary Cluster become unavailable.
Execution Workflow
Executing a computation in Arcium's MXEs requires several prerequisites.
Cluster Readiness Check: Cluster peers assess their capacity for the upcoming task by verifying their available preprocessing values. If these are insufficient, nodes autonomously generate new values to maintain readiness. The node software schedules preprocessing rounds ahead of time, optimizing for resource use by leveraging spare computing and storage capacity.
Computation Retrieval: The computation is selected from the single decentralized mempool, with relevant inputs sourced and loaded into the circuit for processing. Arx nodes collaborate to handle gates concurrently, maximizing efficiency during execution.
Result Submission: Once complete, the final result is collectively verified, signed, and submitted to the blockchain. Since all computations must be completed within a single epoch, any unfinished task at the epoch’s end is terminated. Computation Customers may use external mechanisms to chain results into new computations outside the protocol.
Last updated