Subnet
Subnet architecture
How the Tensorbox subnet is structured — miners, validators, scoring, and the protocol contract.
High-level shape
Like every Bittensor subnet, Tensorbox is a closed loop:
operators ──▶ miners ──▶ outputs ──▶ validators ──▶ scores ──▶ emissions ──▶ operators
▲ │
└──────────── feedback signal ─────────────────────────────┘
The interesting bits are:
- The task. What miners are actually being asked to produce. (See the task spec once published.)
- The scoring function. How validators grade miner outputs. This is the contract — change it and you change the entire economy.
- The reward distribution. How TAO emissions flow back to participants based on validator scores.
Hard constraints
| Property | Value |
|---|---|
| Network | Bittensor mainnet |
| Subnet UID | TBD — see About |
| Miner stake floor | TBD |
| Validator stake floor | TBD |
| Tempo | TBD blocks |
This table will be filled in and locked once we finalize numbers. We'd rather ship a TBD than a number we'll have to retract.
Why these choices
The hardest design question in a subnet isn't "what should miners produce." It's "what should validators measure." Get the second wrong and you get a market that optimizes for the wrong thing.
We picked the current scoring function because:
- It's falsifiable. Two validators with the same input should get the same output. No fuzzy human judgment in the inner loop.
- It's cheap to compute. Validators run on commodity hardware; we won't accidentally exclude small operators by needing a GPU farm to validate.
- It's robust to gaming. We tried to break it before shipping it. Open issue if you find a hole.
Open questions
- How aggressively do we deweight stale outputs? Currently linear decay; experimenting with step functions.
- Should validators see each other's scores? Currently no; this prevents trivial copying but also slows convergence.
These are the kinds of things that move between releases. The changelog tracks them.