Разработка AVS (Actively Validated Service) на EigenLayer
AVS — это протокол который использует экономическую безопасность Ethereum через EigenLayer. Вместо того чтобы строить собственный validator set с нуля, AVS «арендует» security у тысяч Ethereum валидаторов которые restaked свой ETH. Это значительно снижает стоимость запуска нового протокола.
Что можно строить как AVS
Любой протокол требующий децентрализованного набора валидаторов для честного выполнения:
- Data Availability layer (как EigenDA — первый официальный AVS)
- Oracle network (как Chainlink, но поверх Ethereum security)
- Cross-chain bridge — валидаторы подписывают cross-chain сообщения
- Threshold encryption — decryption при выполнении условия
- ZK proof generation — decentralized prover network
- Shared sequencer — для rollup сетей
Архитектура AVS
AVS состоит из двух частей:
On-chain contracts
ServiceManager: центральный контракт AVS. Регистрирует операторов, управляет задачами, вызывает slashing при нарушениях.
contract YourAVSServiceManager is ServiceManagerBase {
// Задача: операторы должны подтвердить некоторые данные
struct Task {
bytes32 dataRoot;
uint32 taskCreatedBlock;
bytes quorumNumbers;
uint32 quorumThresholdPercentage;
}
mapping(uint32 => Task) public allTaskHashes;
uint32 public latestTaskNum;
function createNewTask(bytes32 dataRoot) external {
Task memory newTask = Task({
dataRoot: dataRoot,
taskCreatedBlock: uint32(block.number),
quorumNumbers: hex"00",
quorumThresholdPercentage: 66 // 66% кворум
});
allTaskHashes[latestTaskNum] = newTask;
emit NewTaskCreated(latestTaskNum, newTask);
latestTaskNum++;
}
function respondToTask(
Task calldata task,
uint32 referenceTaskIndex,
bytes calldata signature
) external {
// Проверить BLS aggregated signature от операторов
// Если кворум достигнут — задача выполнена
}
}
BLSSignatureChecker: верификация агрегированных BLS подписей от группы операторов. Эта библиотека от EigenLayer делает тяжёлую работу.
RegistryCoordinator: управление реестром операторов, их stake и quorum membership.
Off-chain node software
Программа запускаемая операторами. Она:
- Мониторит события
NewTaskCreatedна контракте AVS - Выполняет работу (например, скачивает данные, вычисляет хэш)
- Подписывает результат своим BLS ключом
- Отправляет подпись в aggregator
Aggregator: off-chain сервис который собирает подписи операторов, агрегирует BLS подписи, публикует on-chain при достижении кворума.
// Упрощённый operator node
func (o *Operator) ProcessTask(task Task) {
// Выполнить работу
result := o.computeTaskResult(task)
// Подписать BLS ключом
sig := o.blsKeyPair.SignMessage(result.Hash())
// Отправить в aggregator
o.aggregatorRpcClient.SendSignedTaskResponse(&SignedTaskResponse{
TaskResponse: result,
BlsSignature: sig,
OperatorId: o.operatorId,
})
}
Slashing механизм
Критический компонент AVS — доказательство мошенничества и slashing.
Objective slashing conditions: условия должны быть объективно верифицируемы on-chain. Нельзя слешить по субъективным причинам.
Fraud proof: при обнаружении нарушения (двойное подписание, подписание неправильного результата) — submitter предоставляет fraud proof контракту.
Slashing call: контракт AVS вызывает EigenLayer slashing механизм, который уменьшает shares нарушившего оператора.
Veto committee: EigenLayer имеет security council который может vetо слешинги. Защита от ошибочных или злонамеренных слешингов.
Экономика AVS
Операторы участвуют в AVS потому что получают AVS rewards. Модели:
- Фиксированный reward в ETH или ERC-20 токене AVS за каждую выполненную задачу
- APY поверх базового ETH staking reward
- Governance tokens AVS
AVS должен быть достаточно привлекательным по доходности чтобы операторы захотели взять дополнительный slashing risk.
Minimum stake requirement: AVS может требовать минимальный restaked amount от оператора. Это гарантирует "skin in the game".
Разработка с EigenLayer SDK
EigenLayer предоставляет Incredible Squaring как hello-world пример AVS. Структура repo:
contracts/
src/
core/ — EigenLayer contracts (submodule)
IncredibleSquaringServiceManager.sol
IncredibleSquaringTaskManager.sol
operator/
main.go — operator node entry point
operator.go — core operator logic
aggregator/
main.go — aggregator service
Для старта разработки — форкнуть этот пример, заменить task logic на свою.
Безопасность и аудит
AVS контракты защищают restaked ETH потенциально на миллиарды долларов. Обязательно:
- Formal verification для slashing conditions
- Multiple security audits (Trail of Bits, Spearbit)
- Staged rollout: сначала с малым max TVL, постепенно увеличивать
- Bug bounty program
Разработка MVA AVS — 3-6 месяцев для опытной команды. Production-ready с security audits и mainnet launch — 9-12 месяцев.







