|
| 1 | +--- |
| 2 | +title: "Introducing Sub-Subnets" |
| 3 | +--- |
| 4 | + |
| 5 | +import ThemedImage from '@theme/ThemedImage'; |
| 6 | +import useBaseUrl from '@docusaurus/useBaseUrl'; |
| 7 | + |
| 8 | +# Introducing Sub-Subnets |
| 9 | + |
| 10 | +Historically, each subnet operates with a single **incentive mechanism**, a function that validators run to assign weights to miners based on the value of their work. The **Sub-Subnets** feature allows a subnet creator to apportion the subnet's emissions across multiple **sub-subnets**, each of which runs Yuma Consensus *independently* to evaluate the miners' performance on each of a number of distinct tasks. |
| 11 | + |
| 12 | +Each miner receives emissions separately within each sub-subnet, so a miner's performance within one sub-subnet does not affect their rating in another, and their emissions for each epoch are summed across the sub-subnets. Validators receive dividends as a weighted sum of their performance across all sub-subnets - they cannot choose which sub-subnets to validate, and if they don't validate all sub-subnets, they receive proportionally reduced emissions. Sub-subnets don't change the total emissions to a subnet, but create a way for subnet creators to distribute those emissions to miners working on different tasks. This mechanism affords subnet creators a transparent, on-chain way to exercise fine-grained control over the work they are incentivizing, keeping miner effort focused on work that is most needed at a time. |
| 13 | + |
| 14 | +Each sub-subnet has its own: |
| 15 | + |
| 16 | +- **Weight matrix**: Each validator sets weights for each miner on each of the subnet's sub-subnets. |
| 17 | +- **Independent emissions**: Since they depend on weights set by validators, a miner's emissions in each sub-subnet are independent. |
| 18 | +- **Transparent on-chain data**: All sub-subnet configurations and the flow of emissions are visible on-chain. |
| 19 | +- **Emission distribution**: Currently emissions are evenly distributed, but it is planned that subnet creators will control what percentage of total emissions goes to each sub-subnet. |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +### Takeaways |
| 24 | + |
| 25 | +1. **Same Validators, Same Stake**: All validators participate in all sub-subnets with identical stake weights. |
| 26 | +2. **Same Miners**: All registered miners can participate in any or all sub-subnets. |
| 27 | +3. **Owner-Controlled Proportions**: The holder of the *subnet creator* key will set the emission distribution among sub-subnets. |
| 28 | +<!-- CHeck release state of above feature!!! --> |
| 29 | +4. **Separate Yuma Consensus**: Each sub-subnet runs its own consensus to determine miner rankings. |
| 30 | + |
| 31 | + |
| 32 | +## What Should Stakers Know? |
| 33 | + |
| 34 | +**Core Impact:** |
| 35 | +- **No change to your staking mechanics**: Your stake weight remains identical across all sub-subnets within a subnet. The same validators, same stake, same neurons participate in all sub-subnets. |
| 36 | +- **Same total emissions**: The subnet's total emissions remain unchanged - sub-subnets only redistribute these emissions internally. |
| 37 | +- **Transparent allocation**: All emission proportions are visible on-chain, so you can see exactly how subnet owners are distributing emissions. |
| 38 | + |
| 39 | +**What This Means for Your Strategy:** |
| 40 | +- **No immediate action required**: Your existing staking strategy doesn't need to change |
| 41 | +- **Enhanced monitoring**: You may want to track sub-subnet performance to understand subnet health |
| 42 | +- **Risk assessment**: Factor in sub-subnet design when evaluating subnet quality |
| 43 | +- **Community oversight**: Use transparency to hold subnet owners accountable for fair emission distribution |
| 44 | + |
| 45 | +## What Should Miners Know? |
| 46 | + |
| 47 | +**Automatic Participation:** |
| 48 | +- **No separate registration**: When you register for a subnet, you automatically participate in ALL its sub-subnets |
| 49 | +- **Same UID across all sub-subnets**: You use the same UID for all sub-subnets within a subnet |
| 50 | + |
| 51 | +**Performance Tracking:** |
| 52 | +- **Independent scoring**: Your performance is independent in different subnets, e.g. sub-subnet 0 doesn't affect your rating in sub-subnet 1. |
| 53 | +- **Separate incentive columns**: You'll see individual incentive amounts for each sub-subnet in metagraph data. |
| 54 | +- **Cumulative emissions**: Your total emissions = sum of emissions from all sub-subnets where you participate. |
| 55 | + |
| 56 | +## What Should Validators Know? |
| 57 | + |
| 58 | +### Core Changes |
| 59 | + |
| 60 | +- **Separate weight setting**: You must set weights independently for each sub-subnet. |
| 61 | +- **Independent evaluation**: Each sub-subnet requires separate assessment according to its specific criteria. |
| 62 | +- **Separate Yuma Consensus**: Each sub-subnet runs its consensus algorithm independently to determine rankings. |
| 63 | +- **Same stake weight**: Your stake weight is identical across all sub-subnets - no additional stake required. |
| 64 | +- **Weighted dividend calculation**: Your dividends are calculated as a weighted sum of your performance across all sub-subnets. If you don't validate on all sub-subnets, you receive proportionally reduced emissions (e.g., if you validate 1 out of 8 sub-subnets, you receive 1/8 of your potential emissions). |
| 65 | + |
| 66 | +### Operational Changes |
| 67 | + |
| 68 | + |
| 69 | +**1. Evaluation Workload:** |
| 70 | +- **Multiple assessments**: You must evaluate miners separately for each sub-subnet's tasks |
| 71 | +- **Different criteria**: Each sub-subnet may have distinct evaluation standards |
| 72 | + |
| 73 | +**2. Data Structure Changes:** |
| 74 | +- **Two-dimensional weights**: Weight data becomes `[validator][uid][sub_subnet]` |
| 75 | +- **Separate incentive tracking**: Each sub-subnet tracks incentives independently |
| 76 | +- **Extended metagraph**: New columns for sub-subnet weights and incentives |
| 77 | + |
| 78 | +## What Should Subnet Creators/Developers Know? |
| 79 | + |
| 80 | +### Core Changes |
| 81 | +- **Emission distribution**: Currently, emissions are divided evenly between subnets; In the planned release state, you will control what percentage of total emissions goes to each sub-subnet. |
| 82 | + |
| 83 | + :::info |
| 84 | + Currently, emissions are divided evenly between sub-subnets; In the planned release state, you will control what percentage of total emissions goes to each sub-subnet (planned feature). |
| 85 | + ::: |
| 86 | +- **Incentive mechanism design**: You define the specific tasks and evaluation criteria for each sub-subnet |
| 87 | +- **Transparent configuration**: All sub-subnet settings are visible on-chain for community oversight |
| 88 | +- **Single subnet slot**: No need to register multiple subnets for multiple competitions |
| 89 | + |
| 90 | + |
| 91 | +:::tip |
| 92 | +Ensure proportions sum to 100%. |
| 93 | +::: |
| 94 | + |
| 95 | + |
| 96 | +## Example Emissions Split |
| 97 | + |
| 98 | +For each subnet, the subnet creator keeps 18% of emissions, 41% is allocated to miners, and 41% to validators and their stakers, unless the subnet creator has reduced their take. Of the 41% that goes to miners and validators, here is an estimated emission distribution across three sub-subnets for each 100 $\tau$ earned on the subnet: |
| 99 | + |
| 100 | +- Sub-subnet 0 (60%): 100 $\tau$ *.41 * .6 = 24.6 |
| 101 | +- Sub-subnet 1 (30%): 100 $\tau$ *.41 * .3 = 12.3 |
| 102 | +- Sub-subnet 2 (10%): 100 $\tau$ *.41 * .1 = 4.1 |
| 103 | + |
| 104 | + |
| 105 | +Note that a miner who excels in sub-subnet 0 but performs poorly in others might receive more emissions than a miner who performs moderately across all sub-subnets, depending on the emission proportions and their relative performance. |
| 106 | + |
| 107 | +## On-Chain Data Structure |
| 108 | + |
| 109 | +Sub-subnets extend the existing metagraph with additional columns: |
| 110 | + |
| 111 | +``` |
| 112 | +UID | Hotkey | Stake | Sub-subnet 0 Weights | Sub-subnet 1 Weights | Sub-subnet 0 Incentive | Sub-subnet 1 Incentive |
| 113 | +-----|--------|-------|---------------------|---------------------|----------------------|---------------------- |
| 114 | +123 | 5ABC...| 1000 | [0.3, 0.2, 0.1...] | [0.1, 0.4, 0.2...] | 0.05 τ | 0.02 τ |
| 115 | +456 | 7DEF...| 800 | [0.2, 0.3, 0.2...] | [0.2, 0.3, 0.1...] | 0.03 τ | 0.04 τ |
| 116 | +``` |
| 117 | + |
| 118 | +## Backward Compatibility |
| 119 | + |
| 120 | +- Existing subnets continue with only one subnet (sub-subnet 0) collecting all emissions by default |
| 121 | +- All existing API calls default to sub-subnet 0 |
| 122 | +- No breaking changes to current functionality |
| 123 | + |
0 commit comments