Skip to content

Prevent subnet-start style insider trading #2844

Description

@Jackalgirl

Is your feature request related to a problem? Please describe.

In subnet 99, the subnet owner apparently bundled a staking extrinsic in a batch with the subnet-start extrinsic (this may not be true; I'm kind of putting together a bunch of pieces from the 99 and rao channels in the Discord). This effectively allowed the subnet owner to engage in a form of insider trading*: unwise "investors", seeing the new subnet, threw their stakes into it without knowing anything about it, and then the owner sold and made a profit.

* In the commonly understood/layperson meaning of this phrase, not as a legal or regulatory definition.

Describe the solution you'd like

Enable a sudo-level constant/variable for something like 'staking-start'. This is a pre-determined time, in blocks, after subnet start when no staking into or out of the subnet can happen. This establishes a known "trading start time" for everyone, and prevents owners from engaging in bundled-extrinsic insider trading (the staking extrinsic will just fail).

This will NOT solve the problem of "how to protect gamblers from themselves", which is not (I think) Bittensor's problem to solve. But it will at least prevent insider trading.

Describe alternatives you've considered

No response

Additional context

Originally, when Bittensor had a problem with people immediately staking into newly-registered subnets (without knowing what they were), the subnet-start call was introduced, and had a block time before which the subnet could not be started (hence the btcli s check-start command).

The block time has recently been set to 0, allowing the subnet owner to register and then immediately start the subnet's emissions. While I am not proposing that changes be made for the "safety" of people who are essentially gambling addicts (or their crappy scripted trading bots) or suggesting that Bittensor should focus exclusively on making the network a safe place for speculators, I'm proposing this as a way to create a predictable schedule (for those who bother to take the time to look) for when staking and unstaking will be open to everyone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions