Documentation Index
Fetch the complete documentation index at: https://docs.blindference.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Attestation Guide
Attestation provides cryptographic proof that a node is running the expected inference engine and hasn’t been tampered with. The ICL verifies this proof before the node is eligible for job assignments.Why Attestation Matters
Without attestation, any node could claim to be running the correct software while actually running tampered models that produce wrong (or malicious) outputs. Attestation closes this trust gap.Attestation Backends
Mock Attestation (Current — Tier 0)
Key:weloveblindference (default HMAC-SHA256 key, override via MOCK_ATTESTATION_KEY env var)
How it works:
- The ICL issues a random challenge nonce
- The node computes
HMAC-SHA256(key="weloveblindference", msg=challenge) - The ICL verifies the HMAC with the same key
--mock flag is required. The CLI checks MOCK_ATTESTATION_KEY env var first, then falls back to weloveblindference. The --tee-key flag overrides the key for development TEE simulation.
TPM 2.0 (Next Phase — Tier 1)
How it will work:- The ICL issues a challenge nonce
- The node uses
tpm2-toolsto create a TPM quote binding the challenge to PCR values - The inference engine hash is loaded into PCR 15 at startup
- The ICL verifies the quote against the node’s endorsement key
AMD SEV-SNP / Intel TDX (Future — Tier 2)
How it will work:- The node daemon runs inside an SNP-protected process or TDX trust domain
- The AES prompt key is only materialized within the enclave’s encrypted memory
- Manufacturer-signed attestation quote generated
- The ICL verifies against AMD/Intel certificate chain
Attestation Flow
Auto-Re-Attestation
Nodes now self-heal without manual intervention:- Startup check: On
blindference-node run, the daemon checks if the certificate is missing or expired - Auto-re-attest: Automatically generates a new quote, submits to ICL, persists the new certificate
- Watchdog: Background task checks every 10 minutes. If certificate expires within 6 hours, triggers re-attestation proactively
Manual Re-Attestation
While auto-re-attest handles all cases, you can manually trigger it:Interactive Attestation Flow (without —mock)
If you runblindference-node attest without --mock, the CLI presents an interactive menu:
- Option 1 (Mock): Proceeds with mock attestation using
weloveblindference - Option 2 (TEE): Explains hardware requirements, then offers “Use development TEE simulation?” — if yes, prompts for an attestation key (default
weloveblindference) and proceeds as a development attestation
Certificate Lifecycle
| Event | Action | Frequency |
|---|---|---|
| Initial startup | Auto-attest | Once |
| Expiry < 6h | Watchdog re-attest | Every 10min check |
| Expiry detected | Immediate re-attest | On startup/run |
| ICL restart | Node auto-re-attests | Next heartbeat cycle |
Tier Capabilities
| Capability | Tier 0 | Tier 1 | Tier 2 |
|---|---|---|---|
| Verifier jobs | ✅ | ✅ | ✅ |
| Leader jobs | ✅ | ✅ | ✅ |
| High-value tasks | ✅ | ✅ | ✅ |
| Premium fee rate | ❌ | ✅ | ✅ |
Note: All current built-in models (facebook/opt-125m,groq:llama-3.3-70b-versatile,gemini:gemini-2.5-flash) are tier 0, so tier 0 nodes participate in all quorums. Future models may require higher tiers.
Troubleshooting
”Attestation certificate expired”
The daemon will auto-re-attest. If it fails:- Check ICL connectivity:
curl $BLF_ICL_ENDPOINT/health - Check network access to ICL
- Restart the daemon:
blindference-node run
”Attestation rejected by ICL”
- For mock backend: Ensure you’re using the correct hardcoded key
- For TPM: Check
tpm2-toolsinstallation and TPM chip availability - For TEE: Verify enclave is properly initialized