Execution Workflow

To execute a circuit, a certain number of prerequisites have to be met. First, the cluster peers need to confirm they all have capacity to pick up a computation from the mempool. This entails verifying whether they have enough preprocessing values for it: if they don't, they need to generate new values for that purpose. In practice, the node software schedules preprocessing protocol rounds so as to always be prepared for new computations, and in a way that takes advantage of spare computing and storage capacity within the node.

Once these conditions are met, the computation can then be executed. The Cluster's Arx nodes retrieve any inputs from the blockchain and feed them to the circuit accordingly. Gates are processed concurrently by the nodes until the result is reached, at which point it is opened and recovered by all the Arx nodes. At this point they all submit the signed result to the blockchain program, which allows other applications to use it with confidence.

Last updated