Each operator can assume one of three roles within a given time slot: executor, attester, or aggregator.

Executor. At each moment in time, a single operator is chosen to send a transaction on the chain. An operator in the executor role should review which active workflows can be executed at that moment and create a batched transaction to run all workflows scheduled for execution.

Attesters. A committee of attesters is selected to verify the fidelity of the executor's actions. For the majority of the time, they receive active workflows (just like the executor) and store them in their local storage. When an attestation task arises, they are required to cast a vote on whether the executor has performed their duties accurately. The task and votes are transmitted via a peer-to-peer connection.

Aggregator. This role is responsible for collecting verdicts and is authorized to send the consensus verdict to the chain.

P.S.: In the initial iteration, the aggregator will also manage the bootstrap node and the creation of attesting tasks.

Last updated