-
Notifications
You must be signed in to change notification settings - Fork 18
BIT-0016: Subnet Deregistration #29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
||
The current in-progress implementation may be used as a basis for such discussion, which is described below. | ||
|
||
### Subnet Pruning |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume that's outdated, because it still mentions the old behavior (lowest emission)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's just whatever starting point design was. It's an open discussion.
Co-authored-by: Maciej Kula <[email protected]>
Co-authored-by: Maciej Kula <[email protected]>
|
||
### High-Level Flow | ||
|
||
```mermaid |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
```mermaid | |
```mermaid | |
flowchart TD | |
A[New Registration] --> B{Check Subnet Limit?} | |
B -->|No| C[Register New Subnet] | |
B -->|Yes| E[Prune a Subnet] | |
E --> F[Deregister] | |
F --> G[Register New Subnet] | |
H[Deregistration<br/>] --> I[Destroy α-in/out] | |
I --> J[Distribute TAO] | |
J --> K[Remove Network] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It has both the mermaid chart and the old content in the code block right now (syntax broken)
Would be great if there was a plot showing how current subnets score for each of these criteria. |
Wouldn't that still be the case by setting the |
- Lack of demand for subnet Alpha token | ||
- Low subnet price and emissions | ||
- Unfavorable ratio and/or values of subnet parameters such as TAO and Alpha pool liquidity, Alpha circulating, Alpha issued, Alpha burned, FDV, Alpha volume, etc. | ||
- Only allow deregistration of subnets which would have a higher value of Alpha from liquidation than from unstaking |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only allow deregistration of subnets which would have a higher value of Alpha from liquidation than from unstaking
The table below shows which subnets would be the "first ones" to get deregistered should they be not in immunity based on the criteria of having a higher value of ALPHA from liquidation than from unstaking, sorted/ordered by lowest price first.
Netuid | ALPHA price | NAV Ratio |
---|---|---|
126 | 0.001 | 1.3278 |
103 | 0.0011 | 1.4477 |
105 | 0.0011 | 1.0102 |
128 | 0.0013 | 1.4157 |
122 | 0.0013 | 1.3143 |
86 | 0.0013 | 1.2147 |
102 | 0.0013 | 1.8806 |
127 | 0.0014 | 1.6807 |
109 | 0.0015 | 1.7133 |
94 | 0.0015 | 1.3397 |
111 | 0.0016 | 1.7108 |
107 | 0.0016 | 1.7597 |
108 | 0.0017 | 1.3951 |
97 | 0.0017 | 1.1824 |
121 | 0.0017 | 1.9053 |
74 | 0.0017 | 1.0838 |
90 | 0.0017 | 1.9745 |
59 | 0.0017 | 1.1223 |
66 | 0.0018 | 1.1114 |
38 | 0.0018 | 1.2223 |
80 | 0.0018 | 1.0553 |
60 | 0.0018 | 1.3497 |
24 | 0.0018 | 1.3141 |
47 | 0.0018 | 1.4738 |
70 | 0.0019 | 1.4593 |
104 | 0.0019 | 1.2621 |
91 | 0.0019 | 1.2304 |
76 | 0.0019 | 1.4825 |
113 | 0.002 | 1.0707 |
79 | 0.0021 | 1.5682 |
114 | 0.0021 | 1.7816 |
28 | 0.0021 | 1.2822 |
27 | 0.0022 | 2.1783 |
58 | 0.0022 | 1.6837 |
26 | 0.0023 | 1.177 |
55 | 0.0023 | 1.6008 |
99 | 0.0024 | 1.8332 |
21 | 0.0024 | 1.3293 |
84 | 0.0024 | 1.1841 |
46 | 0.0025 | 1.406 |
61 | 0.0026 | 1.4416 |
40 | 0.0027 | 1.5254 |
23 | 0.0027 | 1.1886 |
124 | 0.0027 | 1.7496 |
16 | 0.0027 | 1.2081 |
65 | 0.0027 | 1.0569 |
96 | 0.0029 | 2.264 |
32 | 0.0029 | 1.1692 |
69 | 0.003 | 1.0114 |
88 | 0.0031 | 1.082 |
29 | 0.0032 | 1.161 |
45 | 0.0032 | 1.774 |
42 | 0.0033 | 2.8872 |
18 | 0.0033 | 1.2601 |
22 | 0.0036 | 1.3242 |
72 | 0.0036 | 2.1313 |
20 | 0.0036 | 1.2422 |
57 | 0.0036 | 1.0663 |
2 | 0.0037 | 1.0936 |
30 | 0.0038 | 1.2767 |
98 | 0.0039 | 1.711 |
37 | 0.0042 | 1.1133 |
6 | 0.0043 | 1.3364 |
85 | 0.0046 | 2.2632 |
25 | 0.005 | 1.7122 |
106 | 0.0068 | 1.8086 |
41 | 0.007 | 1.0851 |
81 | 0.0076 | 2.2814 |
75 | 0.0078 | 1.7841 |
10 | 0.0094 | 1.3552 |
52 | 0.0097 | 1.675 |
53 | 0.0097 | 1.0837 |
68 | 0.0151 | 1.3654 |
13 | 0.0155 | 1.3497 |
1 | 0.0155 | 1.6753 |
19 | 0.0171 | 1.9703 |
34 | 0.02 | 1.789 |
8 | 0.0433 | 1.2997 |
4 | 0.0538 | 1.6608 |
51 | 0.0592 | 1.2926 |
64 | 0.1278 | 1.0166 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is one "problem" with this criteria though, because NAV in the most simple way means ALPHA in the pool > ALPHA held by users
, post-halving each new subnet would naturally lean towards a NAV < 1 given that the ALPHA injected into the pool should be halved, while the ALPHA emitted to participants will stay the same until the ALPHA halving of the subnet.
This makes older subnets more vulnerable to being registered with this criteria.
If the owner already unstaked all of his owner alpha and he get the lock_amount, so the owner can get margianl profit by regging? |
For the lock cost refund it doesn't look at what the owner holds, it looks at the emissions of the subnet (lifetime total) and gets only the owner_cut (18%) to determine how much the owner has received. So the owner can't get more because of unstaking, in fact he could potentially get less by unstaking when the liquidation price would be higher in the end. |
Would this structure promote bottom-scraping? All the data would be there to pick up pre-dereg subnet tokens for potential TAO payout benefitting from the entire TAO_in history. |
If you mean that people could stake into so that they benefit from the higher liquidation price, then yes, I talked about it in CoR before. Esentially "arbitrage" |
Summary
BIT-0016 proposes reenabling and improving subnet deregistration to remove non-functional subnets that waste emissions, chain storage, and compute resources. Deregistration would be based on on-chain metrics such as lack of demand for the subnet’s Alpha token, low price and emissions, centralized miner distribution, and poor liquidity/volume parameters. A new
SubnetLimit
(default 128/256) would trigger automatic pruning by removing the lowest-emission subnet outside its immunity period, with tie-breaks by oldest registration. Deregistration would return the registration cost to the owner (or owners in case if it was a crowdloan), fully clean up α-in/out stakes, distribute remaining TAO to stakers, and adjust owner refunds based on emissions received, with root-only access for dissolution calls.