AVS Overview
Last updated
Last updated
An AVS (Actively Validated Service) is a system that requires its own unique validation process for verification. Examples include sidechains, bridges, data availability layers, virtual machines, keeper networks, oracle networks, ZK provers, MPC commitees, FHE networks, and trusted execution environments (TEE).
In Exocore, AVSs are off-chain services or applications that utilize decentralized operators to execute specific off-chain tasks essential for the AVS's proper functionality. To incentivize participation, AVSs provide token-based rewards for both operators and restakers. This approach encourages the provision of computing resources and staking tokens, ultimately strengthening the network's infrastructure and enhancing its crypto-economic security.
Each AVS operates with a distinct set of contracts. These contracts maintain essential information about the service, including details about their task definitions, operational metadata, participating operators, and the amount of stake allocated to ensure its security and integrity.
Operators are entities responsible for running off-chain software based on the exocore-sdk to the specific AVSs they have chosen to support. This specialized software operates independently from the core Exocore protocol.
AVS developers have the flexibility to design and implement their own contracts, provided that their entry point adheres to the interface specified by the Exocore protocol. For more details information, please refer to our hello-avs demonstration and the exocore-sdk repo.
Let's detail some of the interactions depicted in the above diagram.
AVS Operators initiate their participation in the Exocore Network by utilizing the exocore-chain register CLI command, which facilitates their integration into the network's ecosystem.
The AVS integrates with the Exocore Network through the execution of the exocore-chain register CLI command or by invoking the AVS-Service-Contract.
The task requester submits the task to be executed to the AVS-Service Contract.
The AVS-Service Contract calls the avs-service precompile deployed on the Exocore chain.
Task-related information is recorded on the Exocore chain.
Upon receiving the event, the operator:
Executes the task offline.
Signs the result using a BLS signature.
Transmits the signature to the aggregator entity.
The Aggregator entity:
Combines operators' signatures into a single aggregated signature.
Sends the aggregated signature back to the AVS-Service contract when the threshold is met.
The AVS-Service Contract routes the event to the Exocore chain to verify the BLS signature's validity. If valid, the execution result is accepted.
Task Generator: This component serves as the source for task publication. It generates tasks at regular intervals (customizable, with a default of 20 seconds in our demonstration) and submits them to the createNewTask function. Each task involves the summation of two integers and requires approval from a specified percentage of operators, as determined by the thresholdPercentage, to be considered valid.
AVS Operator: The AVS operator, currently opted-in with the AVS, is responsible for executing several key functions. These include:
Retrieving tasks from the Task Contract.
Computing the task result (in this case, summing two numbers).
Signing the computed result using the BLS algorithm.
Transmitting both the task response and signature to the designated aggregator.
Aggregator: This component consolidates operator signatures utilizing BLS aggregation. Upon receiving a response that meets or exceeds the predetermined thresholdPercentage (as established by the task generator during task creation), the aggregator submits the consolidated response to the Task contract for final processing.
AVS Service Manager: A critical component within the Exocore chain that oversees and coordinates AVS service operations. This manager efficiently handles the onboarding and offboarding processes for AVS services and tasks, ensuring seamless integration and effective management within the ecosystem.
AVS Off-Chain SDK: This software development kit enables AVS developers to create off-chain software for operators. It provides a framework for implementing custom business logic, including setting BLS verification thresholds, defining slashing conditions, and establishing reward mechanisms, all of which facilitate seamless interaction with the Exocore network.