Internal Tasks
Last updated
Last updated
Internal Tasks are consensus-based modules for ongoing maintenance of the AVS network. Each module is purpose-built for a specific function and is carried out by the AVS Operators.
Each internal task is uniquely identified and configured with a specific task definition ID.
These tasks are scheduled based on a specified frequency, which can vary depending on the operational requirements.
The execution and validation of internal tasks are facilitated by the same operator set and consensus engine used by the AVS, ensuring that they adhere to the same consensus standards as core AVS Tasks.
The Operator's voting power is proportional to the amount of (re)stake assets locked to secure the AVS, and determine the influence of individual Operators over the consensus process. The module factors the fluctuations in the value of the underlying assets and adjustments to an Operator's stake
VotingPowerSyncTask
for synchronizing voting power updates is registered as an internal task with the Task definition ID 10001
.
VotingPowerPerTaskDefinitionSyncTask
for synchronizing voting power per task definition is registered as an internal tasks with Task definition ID 10002
.
To verify that the internal tasks are running as expected, check your Attestation Center submitTask transactions for these tasks.
These tasks runs automatically as part of the Aggregator node internal task scheduler, which can be configured via INTERNAL_TASKS
environment variables to adjust frequency.
It accepts a JSON array of task objects, where each task has:
name
: The name of the voting power sync tasks. Valid values are VOTING_POWER_SYNC
and VOTING_POWER_PER_TASK_DEFINITION_SYNC
interval
: Execution interval in milliseconds
Example:
Default interval: 3600000
ms (1 hour)
Minimum allowed interval: 60000
ms (1 minute)
Voting Power Calculation and Syncing Logic
The Voting Power Calculator is responsible for calculating the voting power of operators across Layer 1 (L1) and Layer 2 (L2) blockchains. The task logic contains fetching the voting power from both chains, computing the difference, identifying operators whose voting power has either increased or decreased.
Periodic scheduling of the voting power synchronization process.
Validation of proposed voting power updates against recalculated values.
Broadcasting results through the P2P framework.
The task logs important events, including scheduling, execution, and validation results, to facilitate debugging and monitoring.
Errors encountered during execution are logged using the Logger
service.
Validation errors are handled by comparing calculated and proposed values.
The WeightsUpdateTask is a critical internal task registered with the Task Definition ID 10003 corresponding to the WEIGHTS_UPDATE
. It is responsible for periodically updating validator weights across Layer 2 chains in the Othentic AVS framework. These weights influence the voting power of validators and reflect the latest token economics and strategy multipliers, such as token prices.
The WeightsUpdateTask runs automatically as part of the Aggregator node internal task scheduler, which can be configured via INTERNAL_TASKS
environment variables to adjust frequency.
It accepts a JSON array of task objects, where each task has:
name
: The internal task name WEIGHTS_UPDATE
interval
: Execution interval in milliseconds
Example:
Default interval: 86400000 ms (24 hour)
Minimum allowed interval: 60000
ms (1 minute)
Validator weights determine the relative influence of staking contracts in the consensus process. The WeightsUpdateTask:
Fetches the latest weights data from an external TokenDataService, which accounts for factors like token prices, multipliers, and staking balances.
Encodes this weights data into a format suitable for on-chain transactions.
Broadcasts these updates as internal tasks to the Othentic network on all configured Layer 2 chains.
Ensures the validator set's voting power stays aligned with dynamic market and token conditions.
By adjusting weights periodically, the system maintains fairness and accuracy in voting power distribution reflecting real-world token prices.
Whenever an internal task is executed, a proof of task is generated. The generated proof, along with task execution data, is broadcast internally to the P2P network. validate the execution by verifying the proof and recalculating expected outcomes.
Internal tasks are executed by nodes when the --internal-tasks
option is enabled.