Skip to content

Commit 4b197d6

Browse files
Subsubs to mechanisms (#96)
* wip * wip * wip
1 parent cf4d72f commit 4b197d6

File tree

4 files changed

+89
-69
lines changed

4 files changed

+89
-69
lines changed

docs/learn/anatomy-of-incentive-mechanism.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,29 @@ This page explores the concept and usage of incentive mechanisms in Bittensor.
88

99
See [Components of the Bittensor platform](../learn/neurons) for an explanation of the basics, such as subnets, miners, validators, and the role of the blockchain.
1010

11-
Each subnet has its own _incentive mechanism_, a scoring model that drives the behavior of its participants, and the production of the subnet's digital commodity, by defining **how validators are to evaluate miners work**. Miners are incentivized to optimize for this model so validators will score (or 'weight') their work highly, resulting in higher emissions. Validators are incentivized to accurately score miners' work according to the model because the algorithm penalizes departure from consensus in miner scores with lower emissions.
11+
Each subnet has one or more _incentive mechanisms_, scoring models that drive the behavior of participants and the production of the subnet's digital commodity by defining **how validators are to evaluate miners' work**. Miners are incentivized to optimize for these models so validators will score (or 'weight') their work highly, resulting in higher emissions. Validators are incentivized to accurately score miners' work according to the models because the algorithm penalizes departure from consensus in miner scores with lower emissions.
1212

13-
Each validator on a subnet is responsible for periodically computing a vector of weights assigned to each miner, representing an aggregate ranking based on the miners' performance. Validators transmit these **weight vectors** to the blockchain. Typically, each subnet validator transmits an updated ranking weight vector to the blockchain every 100-200 blocks.
13+
When a subnet uses multiple incentive mechanisms, each mechanism operates independently with its own bond pool for [Yuma Consensus](./yuma-consensus) calculations, allowing subnet creators to distribute emissions across different types of work or evaluation criteria.
1414

15-
The Bittensor blockchain waits for the latest rankings/weight vectors from all the validators of a given subnet, then forms a **weight matrix** from these rankings, which is then provided as input to the Yuma Consensus module on-chain. Yuma Consensus (YC) uses this weight matrix, along with the amount of stake associated with each UID on the subnet, to calculate emissions to each participant within each subnet. These emissions are finalized and debited to participants' hotkeys at the end of each _tempo_ or 360 blocks.
15+
Each validator on a subnet is responsible for periodically computing vectors of weights assigned to each miner for each incentive mechanism, representing aggregate rankings based on the miners' performance in each mechanism. Validators transmit these **weight vectors** to the blockchain.
16+
17+
The Bittensor blockchain waits for the latest rankings/weight vectors from all the validators of a given subnet, then forms **weight matrices** from these rankings (one matrix per incentive mechanism), which are then provided as input to the Yuma Consensus module on-chain. Yuma Consensus (YC) uses these weight matrices, along with the amount of stake associated with each UID on the subnet, to calculate emissions to each participant within each mechanism. These emissions are finalized and debited to participants' hotkeys at the end of each _tempo_ or 360 blocks.
1618

1719
:::tip note
1820
The tempo duration (360 blocks) is the same for all the user-created subnets. However, the timing of tempos can differ among subnets, depending on when they were created.
1921
:::
2022

23+
## Multiple Incentive Mechanisms
24+
25+
Subnets can implement multiple incentive mechanisms to evaluate different aspects of miner performance or to support diverse tasks within a single subnet. This allows subnet creators to:
26+
27+
- **Distribute emissions across different tasks**: Allocate specific percentages of subnet emissions to different types of work
28+
- **Maintain independent evaluation**: Each mechanism operates with separate bond pools, so miner performance in one mechanism doesn't affect their rating in another
29+
- **Enable specialized competition**: Miners can excel in specific mechanisms that match their capabilities
30+
- **Provide transparent control**: All emission distributions and mechanism configurations are visible on-chain
31+
32+
For detailed information about implementing and managing multiple incentive mechanisms, see [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-sub-subnets).
33+
2134
## Subnet creator responsibilities
2235

2336
In order for a subnet to succeed, the creator must:

docs/resources/glossary.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -266,9 +266,9 @@ A portion of the TAO emission received by the subnet miners when they provide va
266266

267267
### Incentive Mechanism
268268

269-
A system that drives the behavior of subnet miners and governs consensus among subnet validators in a Bittensor subnet. Each subnet has its own incentive mechanism, which should be designed carefully to promote desired behaviors and penalize undesired ones.
269+
A system that drives the behavior of subnet miners and governs consensus among subnet validators in a Bittensor subnet. Each subnet has one or more incentive mechanisms, which should be designed carefully to promote desired behaviors and penalize undesired ones. When multiple incentive mechanisms are used, each operates independently with separate bond pools for Yuma Consensus calculations, allowing subnet creators to distribute emissions across different types of work or evaluation criteria.
270270

271-
**See also:** [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](../subnets/understanding-subnets.md)
271+
**See also:** [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md), [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-sub-subnets.md), [Understanding Subnets](../subnets/understanding-subnets.md)
272272

273273
### Issuance
274274

@@ -320,6 +320,12 @@ A data structure that contains comprehensive information about the current state
320320

321321
**See:** [The Subnet Metagraph](../subnets/metagraph)
322322

323+
### Multiple Incentive Mechanisms
324+
325+
A feature that allows subnets to implement multiple independent evaluation systems within a single subnet. Each mechanism operates with its own bond pool for Yuma Consensus calculations, enabling subnet creators to distribute emissions across different types of work or evaluation criteria. Validators must evaluate miners separately for each mechanism, and miner performance in one mechanism does not affect their rating in another.
326+
327+
**See also:** [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-sub-subnets.md), [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md)
328+
323329
### Miner Deregistration
324330

325331
The process of removing a poor-performing subnet miner from a UID slot, making room for a newly registered miner.
@@ -594,11 +600,6 @@ A Bittensor subnet is an incentive-based competition market that produces a spec
594600

595601
**See also:** [Understanding Subnets](../subnets/understanding-subnets.md), [Working with Subnets](../subnets/working-with-subnets.md), [Create a Subnet](../subnets/create-a-subnet.md)
596602

597-
### Subnet Incentive Mechanism
598-
599-
The framework that governs the behavior of subnet miners and ensures consensus among subnet validators by promoting desirable actions and penalizing undesired ones.
600-
601-
**See also:** [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](../subnets/understanding-subnets.md)
602603

603604
### Subnet Miner
604605

@@ -608,9 +609,9 @@ The task-performing entity within a Bittensor subnet. A subnet miner is a type o
608609

609610
### Subnet Creator
610611

611-
The individual or entity responsible for defining the specific digital task to be performed by subnet miners, implementing an incentive mechanism, and providing sufficient documentation for participation in the subnet.
612+
The individual or entity responsible for defining the specific digital task to be performed by subnet miners, implementing one or more incentive mechanisms, and providing sufficient documentation for participation in the subnet. Subnet creators can configure multiple incentive mechanisms to distribute emissions across different types of work or evaluation criteria.
612613

613-
**See also:** [Create a Subnet](../subnets/create-a-subnet.md), [Subnet Creators btcli Guide](../subnets/subnet-creators-btcli-guide.md)
614+
**See also:** [Create a Subnet](../subnets/create-a-subnet.md), [Subnet Creators btcli Guide](../subnets/subnet-creators-btcli-guide.md), [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-sub-subnets.md)
614615

615616
### Subnet Protocol
616617

@@ -620,15 +621,15 @@ A unique set of rules defining interactions between subnet validators and miners
620621

621622
### Subnet scoring model
622623

623-
A component of the incentive mechanism that defines how subnet miners' responses are evaluated, aiming to align subnet miner behavior with the subnet's goals and user preferences. It is a mathematical object that converts miner responses into numerical scores, enabling continuous improvement and competition among miners.
624+
A component of an incentive mechanism that defines how subnet miners' responses are evaluated, aiming to align subnet miner behavior with the subnet's goals and user preferences. It is a mathematical object that converts miner responses into numerical scores, enabling continuous improvement and competition among miners. When multiple incentive mechanisms are used, each has its own scoring model for independent evaluation.
624625

625-
**See also:** [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md), [Understanding Subnets](../subnets/understanding-subnets.md)
626+
**See also:** [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md), [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-sub-subnets.md), [Understanding Subnets](../subnets/understanding-subnets.md)
626627

627628
### Subnet Task
628629

629-
A key component of any incentive mechanism that defines the work the subnet miners will perform. The task should be chosen to maximize subnet miner effectiveness at the intended use case for the subnet.
630+
A key component of any incentive mechanism that defines the work the subnet miners will perform. The task should be chosen to maximize subnet miner effectiveness at the intended use case for the subnet. When multiple incentive mechanisms are used within a subnet, each mechanism can define different tasks for miners to perform.
630631

631-
**See also:** [Understanding Subnets](../subnets/understanding-subnets.md), [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md)
632+
**See also:** [Understanding Subnets](../subnets/understanding-subnets.md), [Anatomy of Incentive Mechanism](../learn/anatomy-of-incentive-mechanism.md), [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-sub-subnets.md)
632633

633634
### Subnet Weights
634635

@@ -952,17 +953,17 @@ The directory path where the generated Bittensor wallets are stored locally on t
952953

953954
### Weight Matrix
954955

955-
A matrix formed from the ranking weight vectors of all subnet validators in a subnet, used as input for the Yuma Consensus module to calculate emissions to that subnet.
956+
A matrix formed from the ranking weight vectors of all subnet validators in a subnet, used as input for the Yuma Consensus module to calculate emissions to that subnet. When multiple incentive mechanisms are used, each mechanism has its own weight matrix for independent consensus calculations.
956957

957-
**See also:** [Yuma Consensus](../learn/yuma-consensus.md), [Consensus-Based Weights](../concepts/consensus-based-weights.md)
958+
**See also:** [Yuma Consensus](../learn/yuma-consensus.md), [Consensus-Based Weights](../concepts/consensus-based-weights.md), [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-sub-subnets.md)
958959

959960
### Weight Vector
960961

961-
A vector maintained by each subnet validator, with each element representing the weight assigned to a subnet miner based on its performance.
962+
A vector maintained by each subnet validator, with each element representing the weight assigned to a subnet miner based on its performance. When multiple incentive mechanisms are used, validators maintain separate weight vectors for each mechanism.
962963

963-
The ranking weight vectors for each subnet are transmitted to the blockchain, where they combine to form the [weight matrix](#weight-matrix) that is input for Yuma Consensus.
964+
The ranking weight vectors for each subnet are transmitted to the blockchain, where they combine to form the [weight matrix](#weight-matrix) (or matrices when multiple mechanisms are used) that is input for Yuma Consensus.
964965

965-
**See also:** [Consensus-Based Weights](../concepts/consensus-based-weights.md), [Yuma Consensus](../learn/yuma-consensus.md)
966+
**See also:** [Consensus-Based Weights](../concepts/consensus-based-weights.md), [Yuma Consensus](../learn/yuma-consensus.md), [Multiple Incentive Mechanisms Within Subnets](../subnets/understanding-sub-subnets.md)
966967

967968
## Y
968969

0 commit comments

Comments
 (0)