SATNet is a Bittensor subnet where miners submit solver code as Docker images and validators execute that code in sandboxed containers to solve SAT‑encoded optimization problems. The flagship track is TSP, with other SAT families supported via public benchmarks.
We measure the optimality of SAT‑encoded optimization solutions produced by miner‑submitted solver containers on benchmark instances.
- SAT is universal: any NP problem can be reduced to SAT with deterministic verification.
- TSP is high‑value: logistics, routing, manufacturing, and sequencing.
- Benchmarks are mature: public SAT/TSP suites enable objective scoring.
- Miners publish Docker images (solver code) and commit image URLs on‑chain.
- Validators pull images, run them in sandboxed containers, and score outputs.
- Scoring rewards better solutions, faster runtimes, and harder instances.
- Build a Docker image that implements
Actor.evaluate(task=...). - Push the image to a registry (e.g., Docker Hub).
- Commit the image URL on‑chain via
subtensor.set_commitment(...). - Validators execute your container and score your results.
Benchmark Catalog ──► Validator
│
│ pulls image URL (on‑chain commitment)
▼
Container Runtime
│
▼
Miner Docker Image
│
▼
Solver Output + Timing
│
▼
Validator Scores
│
▼
On‑chain Weights
quality_ratio = min(1.0, best_known / miner_value)speed_factor = min(1.0, time_budget / elapsed_time)score = quality_ratio * speed_factor * difficulty_multiplier- Scores are smoothed with EMA and multiplied by credibility^2.5.
- Timeout → score 0, single credibility penalty
- Invalid or malformed → score 0, double credibility penalty
- Crash → score 0, no extra penalty
- Seed:
sha256(block_hash || instance_family || round_index) - Sampling: public ordered list; take the next
Nafter seed‑index
- Validator‑only development (no miner code in repo)
- No secret eval sets (assume all secrets leak)
- Compute costs on miners, not validators
- Containers for software competition (containerized execution)
- Open this repo in Cursor.
- Review
@knowledge/for invariants and mechanism patterns. - Configure and run
validator.pywith your benchmark catalog.
@knowledge/— design rules, invariants, and mechanism patternsvalidator.py— validator implementation (container execution, EMA scoring)
Made by Const <3
