Files
aitbc/docs/faq
aitbc e4f1a96172
Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Failing after 8s
CLI Tests / test-cli (push) Successful in 10s
Contract Performance Benchmarks / benchmark-gas-usage (push) Successful in 1m22s
Contract Performance Benchmarks / benchmark-execution-time (push) Successful in 1m11s
Contract Performance Benchmarks / benchmark-throughput (push) Successful in 1m13s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Failing after 5s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 5s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Failing after 3s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Cross-Node Transaction Testing / transaction-test (push) Successful in 5s
Deploy to Testnet / deploy-testnet (push) Successful in 1m14s
Contract Performance Benchmarks / compare-benchmarks (push) Has been cancelled
Documentation Validation / validate-docs (push) Failing after 10s
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Has been cancelled
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Has been cancelled
Smart Contract Tests / test-foundry (push) Has been cancelled
Smart Contract Tests / lint-solidity (push) Has been cancelled
Smart Contract Tests / deploy-contracts (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Successful in 3s
Integration Tests / test-service-integration (push) Failing after 45s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Failing after 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 5s
P2P Network Verification / p2p-verification (push) Successful in 3s
Production Tests / Production Integration Tests (push) Failing after 7s
Python Tests / test-python (push) Failing after 46s
Staking Tests / test-staking-service (push) Failing after 2s
Staking Tests / test-staking-integration (push) Has been skipped
Staking Tests / test-staking-contract (push) Has been skipped
Staking Tests / run-staking-test-runner (push) Has been skipped
Systemd Sync / sync-systemd (push) Successful in 21s
API Endpoint Tests / test-api-endpoints (push) Failing after 12m19s
ci: standardize pytest invocation and add security scanning
- Changed pytest calls to use `venv/bin/python -m pytest` with explicit config
- Added `--rootdir "$PWD"` and `--import-mode=importlib` for consistent imports
- Fixed PYTHONPATH to use absolute paths with $PWD prefix
- Added smart contract security scanning for Solidity files
- Added Circom circuit security checks for ZK proof circuits
- Added ZK proof implementation security validation
- Added contracts/** to security scanning workflow
2026-05-11 13:46:42 +02:00
..

Frequently Asked Questions

This document provides answers to frequently asked questions about the AITBC platform.

Table of Contents

General Questions

What is AITBC?

AITBC (AI Training Blockchain Compute) is a decentralized platform for AI compute resources. It allows GPU owners to rent out their compute power and AI developers to access affordable GPU resources for training and inference.

How does AITBC work?

AITBC uses blockchain technology to create a trustless marketplace for GPU compute. Miners register their GPUs, submit compute offers, and process jobs. Developers submit jobs which are matched with available miners. Payments are handled through smart contracts with escrow to ensure fair compensation.

What are the main components?

  • Blockchain Node: Maintains the decentralized ledger
  • Coordinator API: Manages job submission and coordination
  • Marketplace Service: Matches jobs with miners
  • Wallet Daemon: Handles cryptographic operations
  • GPU Miner: Processes AI jobs on GPUs

Is AITBC open source?

Yes, AITBC is open source. The code is available on GitHub at https://github.com/oib/AITBC

How can I contribute?

Contributions are welcome! Please see the contributing guidelines for more information.

Installation and Setup

What are the system requirements?

Minimum (Development):

  • CPU: 4 cores
  • RAM: 8 GB
  • Storage: 100 GB SSD
  • Python 3.13+

Recommended (Production):

  • CPU: 8+ cores
  • RAM: 16+ GB
  • Storage: 500 GB NVMe SSD
  • GPU: NVIDIA RTX 3090 or better (for mining)

How do I install AITBC?

See the Deployment Guide for detailed installation instructions for various scenarios.

Can I run AITBC on Windows?

AITBC is designed for Linux (Debian/Ubuntu). While it may run on Windows with WSL, it's not officially supported. We recommend using a Linux environment for production deployments.

What Python version do I need?

Python 3.13 or higher is required. Earlier versions are not supported.

How do I update AITBC?

cd /opt/aitbc
git pull origin main
source venv/bin/activate
pip install -r requirements.txt
sudo systemctl restart aitbc-*

API Usage

How do I get an API key?

Register as a client through the Coordinator API:

curl -X POST http://localhost:8011/v1/clients/register \
  -H "Content-Type: application/json" \
  -d '{"name": "My Application"}'

The response will include your API key.

What are the rate limits?

  • Job submission: 100 requests per minute
  • Job status queries: 1000 requests per minute
  • Result retrieval: 500 requests per minute

See the API Reference for more details.

How do I submit a job?

import aitbc_sdk

client = aitbc_sdk.Client(api_key="your-api-key")
job = client.submit_job(
    payload={"model": "llama2", "prompt": "Hello world"},
    ttl_seconds=900
)

See the Python SDK Examples for more examples.

How do I monitor job status?

You can poll the status endpoint or use WebSocket for real-time updates:

# Polling
status = client.get_job(job_id)

# WebSocket
client.watch_job(job_id, callback=on_update)

What happens if a job fails?

If a job fails, the state will be set to FAILED and an error message will be provided. The payment will be refunded if the job was paid.

How long do jobs stay in the system?

Jobs expire based on their ttl_seconds parameter. The default is 900 seconds (15 minutes). You can specify a longer TTL up to 86400 seconds (24 hours).

Blockchain

What blockchain does AITBC use?

AITBC uses a custom blockchain optimized for GPU compute transactions. It supports smart contracts, zero-knowledge proofs, and fast transaction confirmation.

How do I run a blockchain node?

See the Deployment Guide for blockchain node setup instructions.

How do I sync with the blockchain?

The blockchain node automatically syncs when started. You can check sync status:

curl http://localhost:8080/v1/network

What if my node gets out of sync?

If your node gets out of sync, try the following:

  1. Restart the blockchain node
  2. Add bootstrap peers
  3. Reset the blockchain state (last resort)

See the Troubleshooting Guide for more details.

How do I become a validator?

Validators require staking AITBC tokens. See the Staking Documentation for more information.

Mining

What GPUs are supported?

NVIDIA GPUs with CUDA 12.4+ support are recommended. Tested GPUs include:

  • NVIDIA RTX 3090
  • NVIDIA RTX 4090
  • NVIDIA A100
  • NVIDIA H100

How do I register as a miner?

curl -X POST http://localhost:8011/v1/miners/register \
  -H "Content-Type: application/json" \
  -d '{
    "miner_id": "miner-123",
    "gpu_type": "nvidia-rtx-3090",
    "gpu_memory": 24
  }'

How do I start mining?

The mining process is automatic once you're registered. The Coordinator API will assign jobs to your miner based on your GPU specifications and job constraints.

How are payments calculated?

Payments are based on:

  • GPU type and memory
  • Job duration
  • Current market rates
  • Quality of service

How do I receive payments?

Payments are automatically sent to your wallet address when jobs are completed. You can specify your wallet address during miner registration.

Can I mine with multiple GPUs?

Yes, you can register multiple GPUs by creating multiple miner registrations, each with a unique miner ID.

Payments

How do I make a payment for a job?

Include payment details when submitting a job:

job = client.submit_job(
    payload={"model": "llama2", "prompt": "Hello"},
    payment_amount=100.0,
    payment_currency="AITBC"
)

What is escrow?

Escrow holds the payment in a smart contract until the job is completed successfully. If the job fails, the payment is refunded automatically.

What currencies are supported?

  • AITBC (native token)
  • ETH (via smart contract)
  • USDC (via smart contract)

How do I check payment status?

curl -H "X-Api-Key: $API_KEY" \
  http://localhost:8011/v1/jobs/{job_id}/payment

What happens if a miner fails to complete a job?

If a miner fails to complete a job, the payment is refunded and the miner may be penalized or banned depending on the severity of the failure.

Troubleshooting

Service won't start

Check the service status and logs:

sudo systemctl status aitbc-coordinator-api
sudo journalctl -u aitbc-coordinator-api -n 50

See the Troubleshooting Guide for more details.

Database connection failed

  1. Check PostgreSQL status: sudo systemctl status postgresql
  2. Test connection: psql -h localhost -U aitbc -d aitbc
  3. Check firewall rules

GPU not detected

  1. Check GPU: nvidia-smi
  2. Check driver: dmesg | grep -i nvidia
  3. Check CUDA: nvcc --version

Jobs stuck in queued state

  1. Check if miners are registered
  2. Verify job constraints can be satisfied
  3. Increase job TTL

See the Troubleshooting Guide for comprehensive troubleshooting steps.

Security

How are API keys secured?

API keys should be stored securely using environment variables or secret management systems. Never commit API keys to code repositories.

Is my data encrypted?

Yes, all data in transit is encrypted using TLS. Data at rest can be encrypted using disk encryption or database encryption.

How do I secure my installation?

See the Security Best Practices Guide for comprehensive security recommendations.

What should I do if I suspect a security breach?

  1. Immediately stop all services
  2. Rotate all credentials
  3. Review logs for suspicious activity
  4. Contact the security team
  5. Restore from clean backup

Performance

How can I improve API performance?

  1. Enable caching (Redis)
  2. Optimize database queries
  3. Use connection pooling
  4. Enable compression
  5. Use CDN for static assets

How can I improve blockchain performance?

  1. Increase peer connections
  2. Optimize block size
  3. Use SSD storage
  4. Increase network bandwidth

How can I improve mining performance?

  1. Use faster GPU
  2. Optimize job processing
  3. Reduce overhead
  4. Use GPU-specific optimizations

See the Deployment Guide for detailed hardware recommendations.

Additional Resources

Still Have Questions?

If you couldn't find the answer to your question, please:

  1. Search the documentation
  2. Check GitHub Issues
  3. Ask in the community forum
  4. Contact support at support@aitbc.dev