The Innovation Game (TIG) creates a new economic framework for algorithmic development - one that aligns incentives, rewards contribution, and keeps innovation open.
At its core, TIG uses a novel proof-of-work variant built around computational challenges grounded in scientifically important problems. Innovators submit algorithms that solve these challenges, and benchmarkers are incentivized to adopt the most efficient ones for proof-of-work, creating a manipulation-resistant signal for rewarding the top-performing algorithms.
In this way, TIG democratizes algorithmic innovation, turning contribution into a sustainable economic opportunity, coordinating global intelligence to compete with centralized incumbents.
TIG currently has 8 active computational challenges:
| ID | Challenge | Description | CPU/GPU |
|---|---|---|---|
| c001 | satisfiability | Boolean Satisfiability (SAT) | CPU |
| c002 | vehicle_routing | Capacitated Vehicle Routing with Time Windows | CPU |
| c003 | knapsack | Quadratic Knapsack Problem | CPU |
| c004 | vector_search | Vector Range Search | GPU |
| c005 | hypergraph | Hypergraph Partitioning | GPU |
| c006 | neuralnet_optimizer | Neural Network Optimizer | GPU |
| c007 | job_scheduling | Flexible Job Shop Scheduling | CPU |
| c008 | energy_arbitrage | Energy Market Arbitrage | CPU |
| Term | Definition |
|---|---|
| Innovator | Participant who submits algorithms (code or advances) to solve challenges |
| Benchmarker | Participant who runs algorithm benchmarks and submits proofs |
| Challenge | A computational problem adapted for optimisable proof-of-work |
| Code | An algorithm source code submission by an Innovator |
| Advance | An algorithm improvement submission (documentation/paper) by an Innovator |
| Fuel | Computational cost metric — algorithms must solve within a fuel budget |
| OPoW | Optimisable Proof of Work — TIG's core consensus mechanism |
| Nonce | Input seed for a single benchmark run |
| Runtime Signature | Hash produced during algorithm execution, used for verification |
| Binary | A compiled shared object (.so) built from an algorithm submission |
- Getting Started for Innovators
- Getting Started for Benchmarkers
- TIG Documentation
- TIG Whitepaper
- TIG Licensing Explainer
- Code vs Advances
- Voting Guidelines for Token Holders
| Crate | Description |
|---|---|
| tig-algorithms | Hosts algorithm submissions (code and advances) made by Innovators |
| tig-benchmarker | Python scripts for running TIG's benchmarker in master/slave configuration |
| tig-binary | Wraps an algorithm submission for compilation into a shared object |
| tig-challenges | Implementations of TIG's 8 computational challenges |
| tig-protocol | Core protocol logic (block processing, submissions, verification) |
| tig-runtime | Executes a compiled algorithm for a single nonce, generating runtime signature and fuel consumed |
| tig-structs | Shared struct definitions used throughout TIG |
| tig-token | Solidity ERC20 token contract deployed on Ethereum L2 Base chain |
| tig-utils | Utility functions (hashing, Merkle trees, serialization, etc.) |
| tig-verifier | Verifies a single solution or Merkle proof |
TIG Docker images are hosted on GitHub Packages, supporting linux/arm64 and linux/amd64 platforms.
Note: Check
tig-benchmarker/.envfor the currentVERSION(currently0.0.5).
Development environment for writing and compiling algorithms:
| Challenge | Image |
|---|---|
| satisfiability | satisfiability/dev |
| vehicle_routing | vehicle_routing/dev |
| knapsack | knapsack/dev |
| vector_search | vector_search/dev |
| hypergraph | hypergraph/dev |
| neuralnet_optimizer | neuralnet_optimizer/dev |
| job_scheduling | job_scheduling/dev |
| energy_arbitrage | energy_arbitrage/dev |
Runtime images spun up as part of slave.yml (see benchmarker README):
| Component | Image |
|---|---|
| Slave orchestrator | benchmarker/slave |
| satisfiability | satisfiability/runtime |
| vehicle_routing | vehicle_routing/runtime |
| knapsack | knapsack/runtime |
| vector_search | vector_search/runtime |
| hypergraph | hypergraph/runtime |
| neuralnet_optimizer | neuralnet_optimizer/runtime |
| job_scheduling | job_scheduling/runtime |
| energy_arbitrage | energy_arbitrage/runtime |
Spun up as part of master.yml (see benchmarker README):
| Component | Image |
|---|---|
| Master orchestrator | benchmarker/master |
| Dashboard UI | benchmarker/ui |
| PostgreSQL | benchmarker/postgres |
| Nginx reverse proxy | benchmarker/nginx |
The runtime and dev images include these scripts on PATH:
list_algorithms # List available algorithms for the challenge
download_algorithm <algorithm_name_or_id> # Download an algorithm's source
test_algorithm <algorithm_name> <difficulty> # Test an algorithm locallyThe container automatically sets the
CHALLENGEenvironment variable (e.g.knapsack/runtimesetsCHALLENGE=knapsack). Use--testnetto target testnet.
See README for individual folders.
