Skip to content

Conversation

@unconst
Copy link
Contributor

@unconst unconst commented Dec 29, 2025

Description

Bittensor for the subnets.

Chain buys are a novel update to the Bittensor dynamic TAO mechanism through which subnets attain direct chain purchases when their price determined alpha_in emission exceeds 0.5 per block. The effect is exciting, transitioning Bittensor's emission away from a purely price neutral injection to a more price-positive position.

There are a number of downsides to this change however, for one, chain buys open up potential for abuse where subnets attempt to game the emission computation (notably TaoFlow) in the short term, attain direct chain buys over a short window, and then extract the TAO used to purchase the subnet. This can be done without any outside interest from the community, and with no regard to the subnet producing value -- indeed, subnets that attempt this almost universally burn 100% of their miner emission since it inconveniences the exploit.

The solution lies in distribution: there must be individuals in the ecosystem that can "shit test" (sell) the distribution of Bittensor emission through market dynamics. However, without any individuals owning the subnet in the first place -- there exists no miner emission, all root dividends are automatically sold, and no outside buyers exist -- there is correspondingly no one to sell. No sell pressure makes gaming TAO flow cheap, low risk and an obvious attack vector.

The change in this PR is justified simply: if we distribute the chain bought alpha to subnet owners at large, then this group of individuals can police the worst aspects of Bittensor's subnets, attain that value to fund their own projects, and collectively coalesce more global integration. In the worst case, a subnet excluded from chain buys does not experience any downward price consequences from other owners selling their token (since it is matched with chain buys).

@unconst unconst changed the base branch from main to devnet-ready December 29, 2025 16:32
@github-actions github-actions bot added the hotfix This PR needs to be merged very quickly and will likely skip testing on devnet and testnet label Dec 29, 2025
@opentensor opentensor deleted a comment from github-actions bot Dec 29, 2025
@ppolewicz ppolewicz changed the title Buys go to owners Chain buys go to owners of other subnets Dec 29, 2025
netuid,
alpha_share,
);
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and if we cannot get the subnet owner coldkey/hotkey for some reason, then what happens? Shouldn't we accumulate the amount and recycle it at the end of the function?

if let Ok(buy_swap_result_ok) = buy_swap_result {
let bought_alpha: AlphaCurrency = buy_swap_result_ok.amount_paid_out.into();
Self::recycle_subnet_alpha(*netuid_i, bought_alpha);
Self::distribute_alpha_to_subnet_owners(*netuid_i, bought_alpha);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest a global hyperparameter to allow root to choose between 0 for full recycle and 65535 for full distribution. We don't know yet how powerful this is going to be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hotfix This PR needs to be merged very quickly and will likely skip testing on devnet and testnet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants