Loading
Loading
Neuron registration trends
Detecting synthetic media—deepfakes, AI-generated images, and manipulated audio—has become a critical challenge as generation technology evolves faster than detection tools. Static detection systems quickly become obsolete, and centralized approaches lack the scale and incentives to keep pace with adversarial improvements in generation quality. Organizations need detection classifiers that adapt as threats evolve, but building and maintaining these models in-house is expensive and isolated from the latest synthetic media research.
A decentralized network of detection contributors and synthetic-media generators creates a self-sustaining adversarial loop: detection models are continuously challenged by new synthetic content, forcing detectors to improve; better detectors push generators to create more realistic media; this cycle drives innovation in both domains without relying on a single vendor or research team. Participants compete for rewards based on the accuracy and robustness of their contributions, creating economic incentives aligned with the goal of staying ahead of synthesis threats.
GAS (Generative Adversarial Subnet) on Bittensor implements this model as an open competition. Discriminative miners submit detection classifiers for image, video, and audio that are evaluated against diverse real-world and synthetically generated datasets. Generative miners run servers that produce synthetic media on demand, earning rewards when their content passes validation and fools discriminators. Validators benchmark both types continuously, maintaining datasets updated with the latest synthetic examples and scoring models using calibration-aware metrics (MCC and Brier score) that reward both accuracy and confidence reliability.
Use cases were auto-generated from the GitHub repository and may not reflect the latest changes.
GAS (Generative Adversarial Subnet) is a Bittensor subnet (SN34) where discriminative miners submit media-provenance classifiers for image, video, and audio detection, while generative miners create synthetic media to challenge those detectors. The adversarial loop drives innovation in both synthetic media generation and detection capabilities, with continuous benchmarking against diverse datasets including real-world and GAS-Station generated content.
The GAS subnet runs three parallel components: (1) Discriminative Miners submit detection models (safetensors format) evaluated by validators on diverse real and synthetic media across image/video/audio. Models scored via sn34_score and ranked via King of the Hill competition. (2) Generative Miners operate FastAPI servers responding to prompt requests from validators; generated content must pass C2PA signature verification and is scored on pass rate and adversarial fool rate. (3) Validators run three PM2/Docker services: the validator (sends challenges, scores both miner types, runs King of the Hill), the generator (creates synthetic media for discriminator evaluation using external APIs: OpenAI, OpenRouter, Stability AI, Runway), and the data service (manages benchmark datasets, handles model uploads). Discriminative miners do not host inference; generative miners must produce C2PA-signed content.
Emissions split 40% image, 40% video, 4% audio, 16% generators, with each discriminator lane awarded 85/10/5 to current/previous/prior-previous kings.
This information was auto-extracted from the GitHub repository and may be incomplete or out of date. Always refer to the subnet's GitHub repository for the latest instructions.
Discriminator sn34_score = √(M_norm · B_norm) where M_norm = clip((M+1)/2, 0, 1)^1.2 and B_norm = max(0, (B0-B)/B0)^1.8. MCC uses Gorodkin multiclass (or binary collapse). Brier measures calibration error.
Generator base reward R_base = p·min(n,10) where p=pass rate, n=verified samples. Fool multiplier M = max(0, min(2.0, f·s)) where f=fool rate and s=sample size bonus (ramps 0.5x at n<20, logarithmic to 2.0x at n≥20). Final reward R_total = R_base·M.
Model cost affects multiplier: sqrt(model_price/baseline_price). Discriminator emissions follow King of the Hill: 85% current king, 10% previous king, 5% king before that (per modality). Challenger needs ≥0.01 higher score on same benchmark version to dethrone.
The sections above were auto-generated from the GitHub repository and may not reflect the latest changes. View repository
FAQs were auto-generated from the GitHub repository and may not reflect the latest changes.
Holder & total-staked metrics as of 2h ago (hourly snapshot)
Discriminative miners: no GPU required for inference (models are evaluated on validator infrastructure). Generative miners: GPU required for content generation; see generative mining docs for API service options.
Compute capability 8.0+. DDR6 RAM recommended. SSD storage with 5000 IOPS recommended. Shared shm_size 16GB for Docker. Validator hosts generation services and evaluation infrastructure.
Clone the repository
git clone https://github.com/BitMind-AI/bitmind-subnet.git && cd bitmind-subnet
Install uv package manager (fast Python dependency resolution)
curl -LsSf https://astral.sh/uv/install.sh | sh
Run installation script. For discriminative miners only: ./install.sh --no-system-deps
./install.sh
Activate Python virtual environment
source .venv/bin/activate
Create and configure .env.gen_miner with wallet info, API keys (OPENAI_API_KEY, OPEN_ROUTER_API_KEY, STABILITY_API_KEY, RUNWAYML_API_KEY), and service selection(optional)
cp .env.gen_miner.template .env.gen_miner && nano .env.gen_miner
Start generative miner service (or: pm2 start gen_miner.config.js)(optional)
gascli generator start
For discriminative miners: push safetensors model. Use --video-model or --audio-model on different hotkey(optional)
gascli d push --image-model image_detector.zip --wallet-name default --wallet-hotkey default
Clone the repository
git clone https://github.com/BitMind-AI/bitmind-subnet.git && cd bitmind-subnet
Install uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh
Run full installation script with system dependencies
./install.sh
Create validator config: set WALLET_NAME, WALLET_HOTKEY, CHAIN_ENDPOINT, API keys, cache paths, WALLET_PATH for Docker wallet bind-mount
cp .env.validator.template .env.validator && nano .env.validator
Start validator services via PM2 (starts sn34-validator, sn34-generator, sn34-data processes)
source .venv/bin/activate && gascli validator start
Alternative Docker deployment: three containers (validator, generator, data) with shared volumes(optional)
docker compose --env-file .env.validator up -d --build
Check validator status
gascli v status