<aside> ❗
The Executor Network Service remains in a state of active research at the time of writing.
</aside>
<aside> 💡
The Executor Network Service supports Zone liveness by allowing Logos nodes to act as Zone executors. Executors service all Zones on an equal footing, ordering transactions and executing their state and ledger transitions. They also produce ZK proofs for Zone updates and send Zone data as blobs using LogosDA. Due to the heavy workload undertaken by executors, they are required to have powerful machines with GPUs that are capable of quick ZK proving. The Executor Network Service remains a work in progress at the time of writing.
Once a Logos node decides to participate in the Executor Network and is registered with the SDP, it can begin to acquire execution tickets. The execution ticket mechanism, described in the Crust section, defines a common timeline for Zones and allows executors to obtain exclusive execution rights for a Zone during a specified block range. Each Zone can distribute execution tickets in any way it sees fit. In the case where nobody owns an execution ticket for a given time period, any party can serve as a Zone executor in what is known as the “anarchy” scenario. This scenario, intended only as a fallback option, could involve any executor - or even users acting as executors not registered with the SDP - maintaining Zone liveness. These unregistered executors provide somewhat limited functionality since they are not able to submit Zone data to LogosDA, and would need to inscribe it instead.
An executor produces a ledger update for the Zone it is executing by processing transactions sent by Zone users. Each Zone receives transactions from users of that Zone, which are processed by the Zone executor. This processing includes verifying transaction correctness, determining the resulting ledger state, and ensuring that the Zone ledger adheres to global rules after effecting the update. In addition, the Zone executor is responsible for updating the Zone’s internal state by running its state transition function.