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:
Name - a descriptive name for your task
Base rewards - each task defines the base rewards for all entities participating in consensus: the Performer, the Attesters, and the Aggregators.
Task Expiry - Use this to specify a block number after which the task expires and is no longer executable. If left blank the Task never expires.
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
This can be specified when creating the task definition or set using setTaskDefinitionMinVotingPower method in the Attestation center contract.
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
restrictedOperatorIndexes
list can perform or attestIf someone outside the list tries, the task will fail with:
InvalidRestrictedOperator
Usage
This can be specified when creating the task definition or set using setTaskDefinitionRestrictedOperators method in the Attestation center contract.
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