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.

Task Definition

Task definition specifies the task parameters including required security levels, number of operators, and other operational criteria for task execution. These parameters ensure that the Tasks requiring consensus can be clearly defined as per the security and operational needs.

Tasks contain the following parameters:

Usage


Minimum Voting Power For a Task

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 for a Task

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 for a Task

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

Usage

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


Last updated