Beginners Guide to Eigen Layer and it's AVS
In this tutorial we will study what is EL's AVS and how to run our own AVS to Square a number ,Youtube Tutorial for this can be found here .
Let's First understand what is Eigen Layer?
Eigen Layer is designed to enhance the functionality and security of existing blockchain networks, particularly Ethereum. Here's a concise overview:
Purpose: Eigen Layer aims to create a new layer of crypto-economic security for blockchains.
Restaking: Its core concept is "restaking," which allows users to reuse their staked ETH(LSTs) to secure other protocols and services.
Enhanced security: By allowing ETH stakers to opt into securing additional services, it potentially increases the overall security of the Ethereum ecosystem.
Modular services: It enables the creation of various decentralized services that can leverage Ethereum's security without needing their own token or blockchain.
Ecosystem expansion: Eigen Layer could foster the development of new decentralized applications and services by reducing barriers to entry.
What are the Trusts that are being provided by the Eigen Layer ?
Eigen Layer provides three main types of trust that build upon and extend Ethereum's existing security model. Let's explore the Economic, Decentralized, and Ethereum trust provided by Eigen Layer:
Economic Trust:
This is similar to the cryptoeconomic trust mentioned earlier, but with a specific focus on economic incentives.
Economic trust in Eigen Layer is based on the principle of "restaking" - allowing ETH stakers to reuse their staked ETH to secure additional services.
Validators put their staked assets at risk when participating in Eigen Layer services.
The potential for rewards incentivizes good behavior, while the risk of losing staked assets (slashing) deters malicious actions.
This economic model aligns the interests of validators with the security and success of the services they support.
Decentralized Trust:
Eigen Layer enhances decentralization by allowing a diverse set of validators to participate in securing various services.
The Active Validator Set (AVS) model allows for specialized validator groups for different services, promoting decentralization of expertise and resources.
Decentralized trust is achieved through the distribution of validation responsibilities across many independent operators.
Ethereum Trust:
Eigen Layer leverages and extends the existing trust model of Ethereum.
It builds upon Ethereum's established security and decentralization, rather than creating a completely new trust model.
By allowing ETH stakers to secure additional services, Eigen Layer effectively "borrows" security from Ethereum.
This model potentially increases the overall security of the Ethereum ecosystem by providing additional use cases and value for ETH staking.
Ethereum's consensus mechanisms and network effects provide a strong foundation for Eigen Layer's trust model.
How these trusts work together:
Economic trust provides the incentives for participation and honest behavior.
Decentralized trust ensures resilience and resistance to centralized control or failure.
Ethereum trust provides a solid, established foundation and leverages existing security.
This combination allows Eigen Layer to create a flexible, secure, and scalable environment for new services and applications, all while enhancing the overall Ethereum ecosystem.
The interplay of these trust models enables Eigen Layer to potentially support a wide range of decentralized services with varying security needs, from simple applications to complex financial protocols, all secured by Ethereum's underlying infrastructure.
Now we have a basic understanding of Eigen Layer, now let's study what's AVS.
Eigen Layer's AVS stands for Active Validator Services. This is a key concept within the Eigen Layer ecosystem. Here's a brief explanation of AVS:
Definition: An AVS is a group of validators that are responsible for running and securing specific services or protocols built on top of Eigen Layer.
Specialized roles: Each AVS is dedicated to a particular service or application, allowing for specialized validation and security.
Opt-in system: Validators can choose which AVS(s) they want to participate in, based on their interests, expertise, or economic incentives.
Modular security: This system allows different services to have their own set of validators, creating a modular approach to blockchain security.
Customizable requirements: Each AVS can have its own set of requirements for validators, such as minimum stake, hardware specifications, or specific expertise.
Incentive alignment: Validators in an AVS are typically rewarded for their participation, aligning their interests with the success of the service they're supporting.
Scalability: The AVS model allows for the creation of multiple specialized validator sets, potentially improving scalability and efficiency.
Risk management: By separating validators into different sets, it helps contain risks associated with specific services or protocols.
The AVS concept is central to Eigen Layer's vision of creating a more flexible and efficient validation ecosystem on top of existing blockchain networks like Ethereum. It allows for the creation of specialized security services without the need for separate blockchains or tokens.
Components Of AVS
Operator:
Operators are the entities that run the actual nodes for a specific AVS.
They are responsible for executing the tasks and validating operations for the service the AVS supports.
Operators stake their ETH (or restaked ETH) to participate in the AVS.
They earn rewards for their participation and can be slashed for malicious behavior.
Aggregator:
Aggregators collect and combine the results or outputs from multiple Operators.
They play a crucial role in enhancing efficiency by reducing the amount of data that needs to be processed on-chain.
Aggregators may also perform additional checks or validations on the collected data.
In some implementations, they might also be responsible for submitting the aggregated results to the blockchain.
Task Manager:
The Task Manager is responsible for coordinating and assigning tasks to Operators within an AVS.
It manages the workflow of the specific service or protocol the AVS is supporting.
The Task Manager ensures that tasks are distributed efficiently among Operators.
It may also handle aspects like task prioritization, load balancing, and tracking task completion.
AVS Contract:
This is the smart contract that governs the rules and operations of a specific AVS.
It defines the parameters for participation, such as minimum stake requirements.
The AVS Contract manages the registration and deregistration of Operators.
It typically handles the distribution of rewards to Operators and potentially Aggregators.
The contract may also implement slashing conditions and execution of penalties for misbehavior.
It serves as the primary interface between the AVS and the broader Eigen Layer ecosystem.
These components work together to create a flexible and efficient validation system:
Operators perform the actual work.
Aggregators consolidate the results.
The Task Manager coordinates the activities.
The AVS Contract governs the overall process and interfaces with Eigen Layer.
This structure allows for specialized validation services that can be built on top of Ethereum's security, enabling a more modular and scalable approach to blockchain services.
Steps to run Squaring AVS
Step 1 : Git clone and Installing dependencies.
- Clone this repo to get started with Squaring AVS
git clone https://github.com/Layr-Labs/incredible-squaring-avs
- Install Foundry to build and run contracts,you can find installation steps here .
curl -L https://foundry.paradigm.xyz | bash
- Install zap-pretty for Prettifying Logs ๐ .
go install github.com/maoueh/zap-pretty@latest
Step 2 : Build Contracts(Optional,If you have made any changes to the contracts then compulsory).
- You can simply use
make
command to see various pre-set commands that you can use .
make build-contracts
Step 3 : Start a local anvil chain for Transactions.
Eigen Layer and Task manager contracts will be deployed on this Anvil chain and their state will be saved on it.
You don't need any faucet to do transactions on Anvil as it's a local blockchain.
(Note : A Docker instance should be running in background for this service to start).
make start-anvil-chain-with-el-and-avs-deployed
Step 4 : Start Operator and Aggregator.
- In a separate terminal run the following command to spin up a Aggregator.
make start-aggregator
- After the aggregator is setup, use the following command in a different command-line to start Operator.
make start-operator
The Roles of Aggregator and Operator are explained in previous section.
After these steps , Every 10 seconds AVS will get a Number and it will return a Square of it.
If your Operator and Aggregator are spun up correctly, you should be seeing following logs :
Aggregator :
Further, If you want to make changes in this AVS and make something cool,feel free to fork the repo and tinker with it.
If you have any doubts, Feel free to reach out to me on @aeyshubh (Both Twitter and Telegram).
Subscribe to my newsletter
Read articles from Shubham Patel directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Shubham Patel
Shubham Patel
Integration Engineer at Push Protocol.