Symbiotic Strategy
Last updated
Last updated
This section explores how the curators of a Sym Byz vault can efficiently and strategically manage their operator and network delegations.
Read to understand the Delegation and Delegators concepts in the Symbiotic Protocol.
Byzantine has abstracted the complexity of the Symbiotic protocol's multiple contracts and features. Curators of the Sym Byz vault can easily manage and delegate stakes to networks and operators through a streamlined, single point of access. (cf. High Level Contract Structure)
The relevant curator roles mentioned in this section are: networkLimitSetRoleHolders
and operatorNetworkLimitOrSharesSetRoleHolders
. (cf. )
At the creation of the Sym Byz vault, the vault creator must opt for a Delegator among the four types of Delegators implemented by Symbiotic: , , and . The level of risk varies from one delegator type to another.
Curators interacts directly with the Sym Syz vault to manage their delegation strategy.
Links to the abovementionned contracts:
SymNativeByzVault
: available soon
To effectively manage a vault's delegations and develop a strategy that aligns with a particular risk profile, it is crucial to understand how the four types of Delegators work in the Symbiotic protocol.
The table below the respective features of the four Delegators to help curators assess the risk profile that suits their needs:
MNMO
or
SNMO
MNMO
or
SNMO
MNSO
SNSO
(4 being the highest)
3
4
2
1
The delegation process varies depending on the type of Delegator selected. Regardless of the type of Delegator, the curator only needs to interact with the following two functions to implement a delegation strategy or modify it:
Only the Network Limit Set Role Holders have the permission to call the above function.
Only the Operator Network Limit Set Role Holders have the permission to proceed with the above function.
Based on the chosen Delegator, curators can consult the appropriate step-by-step guide to learn how to establish and modify a delegation strategy.
For a more efficient and straightforward strategy implementation process, it is recommended that curators get in touch with networks and operators in advance to ensure both's willing to work with the Sym Byz vault.
A network must set its maximum limit to the vault before the curator calls manageNetworksDelegation
to set the network's stake limit. Otherwise, the Set network limits step mentioned below will fail. By setting a non-zero limit for a Sym Byz vault, the network shows its willingness to work with this particular vault.
Once the networks opted-in to vault have set their maximum limits (maxLimit) for the vault, the curator can call manageNetworksDelegation
to set each network's limit to the vault (networkLimit). This defines the maximum amount of stake a curator can allocate to each network.
The network limit set by the curator should not exceed the maximum limit set by the network.
With the handshake between the networks and the Sym Byz vault now complete, the curator can set a stake limit for each operator within every opted-in network. This defines the maximum amount of stake a curator can allocate to each operator within the network.
The example below illustrates the calculation of stake weight:
The total stake allocated to all operators within a single network will never exceed the total stake of the vault.
The curators can change the vault strategy by calling the same functions for implementation.
Multiple parties are involved in dealing with the Symbiotic strategy implementation, such as networks, operators and curators. It is helpful for curators to know about the actions taken by the operators and the networks before making any decision. The following functions allow the curators to check the details related to participants of the vault.
Check if a Network or an Operator has registered within the Symbiotic ecosystem
IOperatorRegistry
isEntity()
Check if an Operator has opted-in to a Symbiotic vault (and at a specific moment)
IOptInService
isOptedIn()
isOptedInAt()
Check if an Operator has opted-in to a Network
IOptInService
isOptedIn()
isOptedInAt()
All types of Delegator
Check the maximum limit set by a Network
IBaseDelegator
maxNetworkLimit()
For NRD
Check the sum of Operators' shares for a specific Network (and at a specific moment)
INetworkRestakeDelegator
totalOperatorNetworkShares()
totalOperatorNetworkSharesAt()
Check an Operator's shares for a Network
INetworkRestakeDelegator
operatorNetworkShares()
Check the Network limit set by the curator itself
INetworkRestakeDelegator
networkLimit()
For FRD
Check an Operator's limit for a Network (and at a specific moment)
IFullRestakeDelegator
operatorNetworkLimit()
operatorNetworkLimitAt()
Check the Network limit set by the curator itself (and at a specific moment)
IFullRestakeDelegator
networkLimit()
networkLimitAt()
For OSD
Check the Operator managing the vault's funds
IOperatorSpecificDelegator
operator()
Check the Network limit set by the curator itself (and at a specific moment)
IOperatorSpecificDelegator
networkLimit()
networkLimitAt()
For ONSD
Check the Operator managing the vault's funds
IOperatorNetworkSpecificDelegator
operator()
Check the Network the vault delegates the funds to
IOperatorNetworkSpecificDelegator
network()
Check the maximum limit set by a Network at a specific moment
IOperatorNetworkSpecificDelegator
maxNetworkLimitAt()
Vault configuration
Restaking across multiple networks
Restaking across multiple operators within the same network
Stake isolation for networks
SNMO MNMO
SNMO MNMO
Stake isolation for operators
Relative risk level
Restaking across multiple networks allows the stake of the vault to be restaked in every network that has been opted-in to the vault. (cf. )
Restaking across multiple operators within the same network allows the stake of the vault to be restaked across multiple operators within the same network. (cf. )
For more details on how the Delegator type can affect the slashing result, go to .
Recommendations:
The curator must specify a number of shares
they wish to allocate to the operator for a particular network. As mentioned earlier, the NRD type does not allow restaking across multiple operators within the same network (cf. ). The weight of the stake allocated to an operator depends on the total number of shares within the network. Each operator's stake is distinct, ensuring it's not reused (restaked) in the same network.
Unlike the NRD, the curator specifies a limit
of stake for each operator within a particular network. This thereby allows restaking not only across networks but also within the same network. In other words, every operator within a single network can be allocated the total amount of stake that a SymByz vault has. (cf. )
To call the functions above mentioned, it is necessary to know the addresses of the deployed contracts. Find them .