Smart Contracts architecture
byzantine-contracts
repository contains the smart contracts of the Byzantine protocol, an infrastructure that abstracts away the technical complexity of a restaking offer.
Stakers can fully customize their restaking strategy by selecting their preferred restaking protocols and devising their AVS portfolio, without having to worry about how to interact with the different protocols.
Byzantine also allows the restaking of native ETH, and provides pre-created Distributed Validators to native restakers. This technology highly reduce the risk of slashing and inactivity penalties.
In this document, you will learn more about the protocol components and the interaction between them.
System Components
Auction
Auctions are a part of the Byzantine Finance protocol to fairly and efficiently match stakers with operators in a framework that is beneficial for both of them. An auction is the event where the top few are selected to become part of a DV cluster.
The Obol technology is used for the creation of Distributed Validators.
Escrow
The Escrow
contract serves as a secure holding area for funds sent by node operators when bidding in an auction. As long as operators hasn't won, they can withdraw their bid at any moment and be refunded the amount paid.
When an auction is run, the Escrow
releases the amount of the winning bids to the StakerReward
contracts. From that point on, it is no longer possible to withdraw the winning bids.
StakerReward
Coming soon.
StrategyModuleManager
This contract is responsible for assigning a pre-created DV to stakers wanting to stake native ETH, ensuring a smooth restaking experience. It also allows a StrategyModule
to be tradeable through the sale of its associated byzNft.
Data regarding the number of deployed StrategyModule
, their owners, and NFTs are stored in the StrategyModuleManager
.
StrategyModule
The restaking strategy is devised in the StrategyModule
. This contract aggregates different restaking protocols and abstracts their interactions.
ByzNft
This contract mints a ByzNft every time a new Strategy Module is deployed. The ownership a ByzNft conveys the ownership of a StrategyModule
.
Smart Contracts architecture
Explanation of the user flow and the interaction between the contracts:
Node operators made bids
Node operators wishing to join a Distributed Validator make bids by interacting with the
Auction
contract. They then join the auction set and wait to win to have the right to join a Distributed Validator. Learn more about the Auction mechanisms.The bid price is locked in the
Escrow
contract. As long as the node operator hasn't won the auction, it is possible to withdraw the bid or update its parameters.
Staker deploys a new
StrategyModule
and stakes 32ETHA staker wanting to stake native ETH calls the
StrategyModuleManager
to ask for the deployment a newStrategyModule
.The
StrategyModuleManager
effectively creates a newStrategyModule
contract and provides the deposit-data of a pre-created DV so that the staker can directly deposit his ETH on the Beacon Chain.A new ByzNft is minted, associated to the newly created
StrategyModule
and given to the staker.In the meantime, the
StrategyModuleManager
triggers a new auction to pre-create a new DV for the next staker.The auction winners are selected and their bid price is released from the Escrow to the
StakerReward
contract to secure the stakers PoS rewards.
Staker devise his restaking strategy
Now that the
StrategyModule
is deployed, and the ETH staked, the staker can start devising his restaking strategy.The
StrategyModule
calls restaking protocols and starts securing AVSs.
Last updated