Computation Data

As all Computation definitions exist within the context of a particular MXE, data associated with Computations also exists within the MXE's state context. To use data with Computations they must either be referenced via data objects, which are wrappers for data provisioned from a variety of sources (see Data Provisioning), or passed directly during Computation commissioning as raw binary data.

Data Provisioning

Data may be provisioned to Computations from a variety of different types of sources enabling significant architectural versatility. When data is provisioned to a particular data object inside an MXE, only a reference (hash of the data) is stored inside the data object wrapper. Data provisioning sources are broken down into the following types:

  • Public Data Provisioning: this is data that is directly provisioned from an on-chain source. This method optionally supports encrypted data. Data mutability authority can be configured to be either immutable, a specific on-chain entity, any Computation in the data object's MXE, or both a specific on-chain entity as well as any Computation in the data object's MXE.

  • Protected Data Provisioning: this is data that is indirectly provisioned (via Middlelayer Nodes who relay the data) from an off-chain source. This method also optionally supports encrypted data. Computation Customers must trust the Middlelayer Nodes to use them, see the Middlelayer Nodes section for more on how data relaying works.

  • Private Data Provisioning: this is off-chain data that is directly provisioned from one of the Arx nodes that's a member of the Cluster that the MXE is running inside. This method of data provisioning is ideal for entities or institutions who want to act as both Computation Customers and Node Operators at the same time, participating in the execution of their own Computations.

Last updated