A Bittensor subnet focused on validating prediction market results. This subnet leverages open-source verification methods to determine the truth value of statements with confidence intervals.
The Brain subnet is designed to create a decentralized prediction market verification system where:
- Miners verify statements by determining if they are true or false with confidence intervals
- Validators evaluate miners' verification results for accuracy and proper methodology
This creates an incentive mechanism where the most accurate and reliable verification miners receive a greater share of TAO emissions.
The subnet consists of the following components:
- Protocol: Defines the communication protocol between miners and validators
- Miners: Verify statements using open-source methods and provide results
- Validators: Evaluate miner results and distribute rewards based on accuracy
- Statement verification with confidence intervals
- Evidence-based verification methodology
- Cross-validation to prevent cheating
- Reward mechanism based on accuracy and evidence quality
- Python 3.8+
- Bittensor
# Clone the repository
git clone https://github.com/yourusername/bittensor-brain-subnet.git
cd bittensor-brain-subnet
# Install the package
pip install -e .To run a miner on the Brain subnet:
# Run a miner with default settings
brain-miner --netuid 1 --wallet.name miner --wallet.hotkey default
# Run with custom settings
brain-miner --netuid 1 --wallet.name miner --wallet.hotkey default --miner.verify_timeout 120To run a validator on the Brain subnet:
# Run a validator with default settings
brain-validator --netuid 1 --wallet.name validator --wallet.hotkey default
# Run with custom settings
brain-validator --netuid 1 --wallet.name validator --wallet.hotkey default --validator.run_validation- Validators select statements from a database to be verified
- Miners receive statements and perform verification using:
- Web searches
- Database lookups
- Logical reasoning
- Evidence collection
- Miners return results with:
- True/False determination
- Confidence score (0.0-1.0)
- Supporting evidence
- Explanation of reasoning
- Methodology description
- Validators evaluate results based on:
- Accuracy (compared to ground truth when available)
- Evidence quality
- Explanation quality
- Methodology soundness
- Validators distribute rewards to miners based on performance
To prevent cheating, validators may also request miners to validate other miners' results:
- Validators send a miner's verification result to other miners
- These miners evaluate if the verification was performed correctly
- If issues are detected, they provide an alternative result
- This cross-validation helps ensure integrity in the network
bittensor-brain-subnet/
├── brain/ # Core subnet functionality
│ ├── __init__.py # Package initialization
│ ├── protocol.py # Communication protocol definitions
│ ├── forward.py # Forward pass implementation
│ └── reward.py # Reward mechanism implementation
├── neurons/ # Neuron implementations
│ ├── miner.py # Miner implementation
│ └── validator.py # Validator implementation
├── docs/ # Documentation
├── setup.py # Package setup
└── README.md # Project documentation
To create a custom miner with specialized verification methods:
- Inherit from the base
BrainMinerclass - Override the
perform_verificationmethod with your custom logic - Implement specialized search and analysis methods
Example:
from neurons.miner import BrainMiner
class CustomBrainMiner(BrainMiner):
def perform_verification(self, statement):
# Your custom verification logic here
# ...
return is_true, confidence, evidence, explanationThis project is licensed under the MIT License - see the LICENSE file for details.