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, data availability layers, virtual machines, keeper networks, oracle networks, bridges, threshold cryptography schemes, and trusted execution environments.
In Exocore Netowrk, Actively Validated Services (AVS) 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.
The operator opt-into the Exocore Network by calling AVS registry precompile
The AVS opt-into the Exocore Network by calling AVS-Service-Contract which will route the event into the Exocore Network
The task requester sends the task to be performed to the AVS-Service Contract
The AVS-Service Contract Proxy call the task-manager precompile within exocore chain
The task related information is recorded into exocore chain
Upon the subscriber received the event from the contract Proxy for task event, the operator will execute the task offline, sign the result with BLS signature and send the signature to the aggregator entity, in the real case, the aggregator is the operator with additional signature related jobs.
The Aggregator entity combines each signature from operator into a single aggregated signature using BLS mechanism, once the signature threshold is met, the aggregator sends the aggregated signature back to the AVS-Service contract
The AVS-Service Contract will route the event into Exocore chain to verify that the bls signature is valid, and the execution result is accepted if so.
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.