LogoLogo
  • Developers
    • Macrocosmos SDK
      • Get Started
      • API Keys
      • Subnet 1 Apex API
      • Subnet 13 Gravity API
    • Tools
      • Macrocosmos MCP
  • SUBNETS
    • Subnet 1 Apex
      • Subnet 1 Getting Started
      • Subnet 1 Mining Setup Guide
      • Subnet 1 Incentive Mechanism
    • Subnet 9 IOTA
      • Subnet 9 Incentive Mechanism
      • Subnet 9 Mining Setup Guide
      • Subnet 9 Validating
    • Subnet 13 Data Universe
      • Subnet 13 Getting Started
      • Subnet 13 Data Universe API
      • Subnet 13 Incentive Mechanism
    • Subnet 25 Mainframe
      • Subnet 25 Getting Started
      • Subnet 25 Mainframe API
        • API Keys
        • Folding API
          • Running Folding API Server
          • Endpoints
        • Organic API
          • Endpoints
      • Subnet 25 Incentive Mechanism
  • Subnet 37 Finetuning
    • Subnet 37 Getting Started
    • Subnet 37 Mining Setup Guide
    • Subnet 37 Validating Setup Guide
    • Subnet 37 Incentive Mechanism
    • Subnet 37 Competitions
  • CONSTELLATION - USER GUIDES
    • Apex User Guide
      • Navigating Apex
      • FAQs
    • Gravity User Guide
      • Scraping data
      • Managing and Collecting your data
      • FAQs
    • Nebula User Guide
      • Explore Nebula
      • Analyzing data
  • About us
    • About Macrocosmos
    • Bittensor
      • DTAO
    • News and updates
    • Macromedia
    • Subnet Status Update
Powered by GitBook
On this page
  1. SUBNETS
  2. Subnet 9 IOTA

Subnet 9 Validating

PreviousSubnet 9 Mining Setup GuideNextSubnet 13 Data Universe

Last updated 5 days ago

Within the system, validators play a core role in determining if the work completed by the miner was honest. Primarily, the validator relies on computational reproducibility to achieve this validation signal. As the validator is tracking a specific miner, a portion of the miner’s training is completely rerun on the validator side. Forward and backwards passes are checked against the submitted miner activations using a cosine similarity. However, there are many complications when it comes to reliable validation, and we explore them in the remainder of the paper.

Joining the network

Validators join the network and get registered with the orchestrator using their API client.

Shadowing miners

Validators will periodically reproduce an epoch’s worth of work of a randomly selected miner. This can take up to an hour per miner in the current version, and we will reduce this as one of our first priorities post-launch. This is why there is an important tradeoff between effective batch size and network stability. Validators have more work to reproduce when scoring a miner the longer the training stage is. We will soon integrate CLASP into the system to allow the validators to estimate miner contributions using an auditor-like mechanism, but for now we have more basic and hopefully robust approach which is reproducibility checks. Once a validator has checked that all activations were correctly processed by a miner it then performs a local all-reduce to compare its local weights and optimizer state with what the miner uploaded. If a miner passes the check it ‘banks’ a score equal to the total number of activations it processed in that interval.

Setting weights

Validators share information via the orchestrator by design. This means that validators submit the miner scores that they produce in their spot check, and all the miner scores are pooled together to give a total consensus score. Periodically, validators request the miner scores from the orchestrator, normalize and set weights. This guarantees that validators agree with each other, sustaining very high validator trust.

Installation

To install the validator:Clone the repo: git clone Enter the folder: cd iota Create your .env: It is necessary to add `wallet_name, wallet_hotkey, netuid, network, Install the dependencies: uv sync If uv is not installed in your system, Activate the environment: source .venv/bin/activate Start the validator: python launch_validator.py --host 0.0.0.0 --port 8081

https://github.com/macrocosm-os/iota.git
install it here