Task Definitions

Overview

Core service can be broken down into “Tasks", each representing a unit of work to be carried out by the Operators. A Task is any off-chain computation the network performs, from fetching price feeds to training ML models.

Othentic Stack enables developers to configure multiple tasks for operators to execute, each with customizable parameters, rewards, and operator clusters.

Each task is uniquely identified by a Task Definition ID. By default, a task with Task Definition ID 0 is automatically created and available for use.

Default Task Definition (ID 0)

By default, a Task Definition with ID 0 is created for every AVS. This default task definition is intended solely for testing purposes and is not recommended for production use.

For production deployments, AVS teams must create and configure new Task Definitions for their specific use cases.

Fields and Usage

Task definitions outline the key metadata and parameters that govern how each task operates. These parameters are essential for ensuring tasks are configured according to specific security and operational requirements.

Each Task Definition includes the following fields:

Usage


Minimum Voting Power

Minimum Voting Power is the minimum amount of Voting Power an operator must have to participate in a Task’s execution or attestation.

By default, the minimum voting power is zero, which means that any active operator can participate in any consensus role and task execution. You can restrict this to having only operators with minimum shares.

  • If an operator attests to a task and has less than the minimum voting power, the task would fail with a OperatorDoesNotHaveMinimumVotingPower(operatorIndex) error.

  • The AVS Governance Multisig should not set this value too high so that no attester passes the threshold.

Usage


Restricted Operator Set

AVS can have an unlimited number of tasks, and each task can be executed by different Operator clusters. For certain tasks, you may want to restrict execution to a specific group of operators.

You can define a restricted operator set—an "allowlist" of operators—who are eligible to execute a particular task.

  • Only those on the restrictedOperatorIndexeslist can perform or attest

  • If someone outside the list tries, the task will fail with: InvalidRestrictedOperator

Usage


Maximum Number of Attesters

You can define a maximum number of Attesters—who are eligible to submit attestations for a particular task.

Usage

This can be specified when creating the task definition or set using setTaskDefinitionMaximumNumberOfAttesters method in the AttestationCenter contract.


Last updated