Hetu Network Subnet Governance Model
1. Overview
The subnet governance model of Hetu Network is a distributed governance system based on token economics and staking mechanisms, aiming to create a decentralized network infrastructure. This model includes core links such as subnet registration, auction, management, and neuron (node) participation. It ensures the security, decentralization, and sustainable development of the network through economic incentives and governance mechanisms.
2. Core Components
2.1 Subnet Manager Contract (SubnetManager)
The subnet manager contract is the core of the governance model, responsible for subnet registration, activation, and management. Each subnet has its own Alpha token and AMM pool for liquidity management and value capture.
2.2 Neuron Manager Contract (NeuronManager)
The neuron manager contract is responsible for the registration, deregistration, and management of network nodes, including role assignment and permission management for validators and ordinary neurons.
2.3 Global Staking Contract (GlobalStaking)
The global staking contract manages users' HETU token staking, including global staking and subnet-specific staking allocation, providing economic guarantees for network participation.
2.4 Subnet AMM (SubnetAMM)
The Automated Market Maker contract provides a liquidity mechanism for each subnet, manages the exchange between HETU and Alpha tokens, and maintains a price discovery mechanism.
3. Subnet Registration and Auction Mechanism
3.1 Subnet Registration Process
Registration Cost Calculation:
Subnet registration requires locking a certain amount of HETU tokens
The locking cost is determined based on a dynamic auction mechanism, following the formula:
The minimum locking amount is
networkMinLock
(default 100 HETU)
Registration Methods:
Basic registration: Register a subnet with default hyperparameters
Custom registration: Register a subnet with some or all custom hyperparameters
Permit-based registration: Complete authorization and registration in a single transaction using the permit mechanism
Registration Process:
Calculate and collect the locking cost
Create the Alpha token for the subnet
Create the AMM pool for the subnet and inject initial liquidity
Record subnet information and assign netuid (subnet ID)
Set subnet hyperparameters
3.2 Auction Mechanism
Subnet registration adopts a dynamic auction mechanism with the following characteristics:
Exponential Growth: After each registration, the next registration cost doubles
Time Decay: Registration cost decreases linearly over time
Minimum Threshold: Maintain a minimum registration cost to ensure network accessibility
Rate Limiting: Limit registration frequency through the
networkRateLimit
parameter
Auction mechanism formula:
4. Subnet Activation and Management
4.1 Subnet Activation
After creation, a subnet needs to be explicitly activated by the owner before it can accept neuron registrations:
function activateSubnet(uint16 netuid) external nonReentrant;
4.2 Subnet Hyperparameters
Each subnet has a set of hyperparameters that define its operating rules:
Network Parameters:
rho
: Consensus parameterkappa
: Incentive parameterimmunityPeriod
: Immunity periodtempo
: Network tempomaxValidators
: Maximum number of validatorsactivityCutoff
: Activity thresholdmaxAllowedUids
: Maximum number of allowed neuronsmaxAllowedValidators
: Maximum number of allowed validators
Economic Parameters:
baseNeuronCost
: Basic neuron registration costvalidatorThreshold
: Minimum staking threshold for validatorsneuronThreshold
: Minimum staking threshold for neurons
Governance Parameters:
registrationAllowed
: Whether registration is allowedcommitRevealEnabled
: Whether commit-reveal mechanism is enabledcommitRevealPeriod
: Commit-reveal period
4.3 Subnet Management Functions
Subnet owners and system administrators can perform the following management functions:
Query Subnet Information:
Get basic subnet information
Get subnet hyperparameters
Get detailed subnet information (including AMM pool status)
System Management:
Update network parameters (system administrators only)
Update subnet hyperparameters (system administrators only)
Reset network locking status (system administrators only)
5. Neuron Registration and Management
5.1 Neuron Registration
Registration Prerequisites:
The subnet must exist and be activated
The user must have sufficient available staking (meeting neuron or validator thresholds)
The subnet has not reached the maximum number of neurons or validators
Registration Process:
function registerNeuronWithStakeAllocation( uint16 netuid, uint256 stakeAmount, bool isValidatorRole, string calldata axonEndpoint, uint32 axonPort, string calldata prometheusEndpoint, uint32 prometheusPort ) external;
Registration Costs:
Basic registration cost:
baseNeuronCost
Staking requirements: Ordinary neurons need to meet
neuronThreshold
, validators need to meetvalidatorThreshold
5.2 Neuron Roles
Ordinary Neurons:
Minimum staking requirement:
neuronThreshold
Can participate in the network but do not validate transactions
Validators:
Minimum staking requirement:
validatorThreshold
Responsible for transaction validation and consensus
Quantity limited to
maxAllowedValidators
5.3 Neuron Management Functions
Deregistration:
function deregisterNeuron(uint16 netuid) external;
Update Stake Allocation:
function updateStakeAllocation( uint16 netuid, address account, uint256 newStake ) external;
Update Service Information:
function updateNeuronService( uint16 netuid, string calldata axonEndpoint, uint32 axonPort, string calldata prometheusEndpoint, uint32 prometheusPort ) external;
6. Staking Mechanism
6.1 Global Staking
Add Global Stake:
function addGlobalStake(uint256 amount) external;
Remove Global Stake:
function removeGlobalStake(uint256 amount) external;
6.2 Subnet Stake Allocation
Allocate Stake to Subnet:
function allocateToSubnet(uint16 netuid, uint256 amount) external;
Deallocate from Subnet:
function deallocateFromSubnet(uint16 netuid, uint256 amount) external;
6.3 Registration Costs
When registering a neuron, the system charges a basic registration cost:
function chargeRegistrationCost(
address user,
uint16 netuid,
uint256 cost
) internal;
These costs are transferred to the protocol treasury for network maintenance and development.
7. Liquidity and Price Discovery
7.1 AMM Pool Mechanism
Each subnet has a dedicated AMM pool that manages the exchange between HETU and Alpha tokens:
Pool Initialization:
AMM pool is created when the subnet is registered
Initial liquidity (equal value of HETU and Alpha tokens) is injected
Exchange Mechanism:
HETU to Alpha:
swapHETUForAlpha
Alpha to HETU:
swapAlphaForHETU
Price Discovery:
Dynamic price based on reserve ratio in the pool
Moving average price provides smooth price signals
7.2 Liquidity Management
Inject Liquidity:
function injectLiquidity( uint256 hetuAmount, uint256 alphaAmount ) external;
Extract Liquidity:
function withdrawLiquidity( uint256 hetuAmount, uint256 alphaAmount, address to ) external;
8. Adjustment of Governance Parameters
8.1 Network Parameters
System administrators can adjust the following network parameters:
Minimum lock-up amount:
networkMinLock
Rate limit:
networkRateLimit
Lock reduction interval:
lockReductionInterval
8.2 Subnet Hyperparameters
System administrators can update the hyperparameters of subnets to adjust their operating rules:
function updateSubnetHyperparams(
uint16 netuid,
SubnetTypes.SubnetHyperparams calldata newHyperparams
) external onlyAdmin;
9. Summary
Hetu Network's subnet governance model builds a scalable decentralized network infrastructure through economic incentives and staking mechanisms. The core features of this model include:
Dynamic auction mechanism: Ensures efficient allocation of subnet resources
Dual-layer staking system: Combines global staking and subnet-specific staking
Role stratification: Distinguishes between ordinary neurons and validator roles
Liquidity mechanism: Each subnet has an independent AMM pool and Alpha token
Parameterized governance: Achieves flexible governance through adjustable hyperparameters
This design enables Hetu Network to support a diverse ecosystem of subnets while maintaining the security and sustainable development of the overall network.
Last updated