Skip to main content

Proof of AI Tokens Used (PoATU)

PoATU = recompensa minerului scalată direct cu tokens AI generați în procesarea unui task. Înlocuiește coinbase-ul fix de 50 OMBRA per bloc (pre-fork) cu o emisiune scalată cu munca reală.

Formula

reward_miner = (outputTokens + thinkingTokens) / 1,000,000 OMBRA

Sau echivalent: 1 token AI = 1 micro-OMBRA (1 OMBRA = 1,000,000 micro-OMBRA).

De ce excludem inputTokens

Input tokens (prompt-ul user-ului) sunt costul user-ului, nu munca minerului. Mineri ar putea încărca artificial input-uri irelevante pentru a umfla reward; excluzând input din formulă, închidem acest vector de manipulare.

Ce sunt thinkingTokens?

Modele moderne (Claude Opus 4.7, o1, gpt-5-thinking) au chain-of-thought reasoning intern care consumă tokens semnificative dar nu apar în output-ul vizibil. OmbraChain le tratează ca "muncă reală" pentru că reflectă compute consumat (același cost financiar la API provider).

Exemple numerice

Tip taskOutputThinkingTotalReward miner
Chat scurt5K05,0000.005 OMBRA
Chat tipic100K200K300,0000.30 OMBRA
Code simple50K50K100,0000.10 OMBRA
Code agentic500K1.5M2,000,0002.00 OMBRA
Long-form analysis1M3M4,000,0004.00 OMBRA

Cod sursă

Formula este implementată în packages/core/src/consensus/reward.ts:

export function calculateMinerReward(outputTokens: number, thinkingTokens: number): bigint {
if (outputTokens < 0 || thinkingTokens < 0) return 0n;
const totalTokens = BigInt(outputTokens + thinkingTokens);
return (totalTokens * 1_000_000n) / TOKENS_PER_OMBRA;
}

Constantele:

  • TOKENS_PER_OMBRA = 1_000_000n

Sursa token counts

Dispatcher-ul AI raportează tokensOut și thinkingTokens în MinerOutput:

export interface MinerOutput {
content: string;
thinking?: string;
model: string;
tokensIn?: number;
tokensOut?: number;
thinkingTokens?: number; // v2
durationMs: number;
}

Pentru providers care nu raportează direct (CLI Claude Code, Ollama local), enrichTokens() estimează heuristic ~4 chars per token din content și thinking string-uri.

Comparație cu v1

Aspectv1 PoAW Strictv2 PoATU
Coinbase50 OMBRA per bloc (halving)0 (dispărut)
Reward miner70% × fee(out+thinking)/1M + 70% × fee
EmisiuneFix per bloc (5760/zi × 50 ≈ 288K OMBRA/zi inflație)Scalată cu munca AI reală
Bloc golPosibil cu coinbase 50 OMBRA0 reward (minerul nu primește nimic pentru bloc gol)

Trade-off-uri

De ce raport 1M:1?

  • 1 OMBRA per million tokens reflectă cost real cloud LLM (~$0.01-1 per million tokens la Claude/GPT pricing)
  • Scalează natural cu costul real al compute
  • Granularitate fină (micro-OMBRA) pentru task-uri mici

De ce nu plătim per durată (durationMs)?

  • Hardware variabil (CPU lent vs GPU rapid) → același task durează diferit
  • Tokens sunt proof of work concret (verificabil prin re-rulare)

De ce nu plătim per quality score?

  • Scoring fără re-rulare necesită încredere în validator
  • Reward din tokens = obiectiv; bonus din validator score = opțional (5% fee)

Vezi și