FLock
Developer GuideGithub
  • What is FLock
    • Introduction to FLock.io
    • The Centralisation Problem
    • Architectural Breakdown
      • System Design
      • Blockchain Layer
      • AI Layer
  • ❀️‍πŸ”₯FLock Products
    • AI Arena
      • Participants
      • Quickstart
        • Pre-requisites
          • WSL installation
        • gmFLOCK
        • Delegator Guide
        • Training Node Guide
        • Validator Guide
      • Task Lifecycle Deep-dive
      • Smart Contracts Deep-dive
    • FL Alliance
      • Participants
      • Components
      • Task Lifecycle Deep-dive
        • 1. Staking and Role Assignment
        • 2. FL Training
        • 3. FL Aggregation and Evaluation
        • 4. Rewards
      • Smart Contracts Deep-dive
      • FL Client
        • Pre-Requsites
        • Steps to Quickstart
      • FLocKit
    • AI Marketplace
      • Quickstart
        • Getting started Manual creation
        • Guideline Manual
        • Model API guide
        • Tutorials
          • Create a discord bot with Model API
          • Farcaster Frames with Model API
      • Participants
      • Deep-dive
        • Function breakdown
        • RAG
        • Contribution Mechanism
        • Roadmap
    • 2025 Roadmap
  • πŸ’°FLOCK TOKENOMICS
    • Overview
      • Incentivising open source model development
      • Security
    • Token Utility
      • Supply
      • Demand
    • Network Participation
      • AI Arena
        • Task Creator
        • Data Provider
        • Training Node
        • Validator
        • Delegator
        • Delegation Pool Rewards Explainer
      • FL Alliance
        • Task Creator
        • FL Nodes
      • AI Marketplace
        • Model Host
    • Token Allocations
    • Airdrop
    • Contract Details
  • πŸ’»FLock Use-Cases
    • AI-assisted Coding - FLock x Aptos LLM (outperforms ChatGPT-4o!)
    • AI Assistants - Farcaster GPT, Scroll GPT and many more to come!
    • AI Companions - Professor Grump w/ Akash
    • Web3 Agents - Text2SQL Agent
    • Privacy-preserving Healthcare
  • πŸ“ƒResources
    • Litepaper
    • Whitepaper
    • Publications
    • Glossary
    • FAQ
    • Social Media
    • Careers
    • Terms Of Use
    • Privacy Policy
    • FLock.io-Verified Developers
    • FLOCK Token Airdrop Terms and Conditions
Powered by GitBook
On this page
  • 0. Overview: reward drivers for training nodes
  • 1. Reward distribution within a single AI Arena task
  • 2. Rewards for training nodes & their delegators
  • 3. Rewards for training nodes
  • 4. Example

Was this helpful?

  1. FLOCK TOKENOMICS
  2. Network Participation
  3. AI Arena

Training Node

PreviousData ProviderNextValidator

Last updated 4 months ago

Was this helpful?

Training nodes are responsible for training and fine-tuning the AI tasks initiated by the task creators. This mechanism ensures the integrity and health of the ecosystem, as nodes have vested interests via staking. In return, the nodes will be rewarded in proportion to their contributions. To become a training node, a user has to stake FLOCK.

0. Overview: reward drivers for training nodes

Put simply, a training node’s daily return from a task depends on three factors:

(1) the relative staking amount of this task against all tasks, meaning a training node’s stake in a particular task will indirectly affect it’s rewards from that task; and

(2) a training node’s stake in this task as well as stake delegated to this training node; and

(3) quality of the node’s submission, as shown by the node’s relative ranking. Specifically, it is a geometric series, along with its ranking, multiplied by the relative stake of this task.

It’s important to note that rank is being used here to determine the quality of the training node’s work, not other metrics such as absolute scores, primarily because scores can come very closely between nodes. Such design decision is believed to make reward calculation fairer and easier.

Calculation of reward distributions for training nodes follow a three-step formula:

1. Reward distribution within a single AI Arena task

Within a single AI Arena task, the reward distribution between training nodes and validators is determined based on their relative stake amounts.

We assume there are 𝑛 submissions (𝑂1,...,𝑂𝑛)(𝑂_1, . . . , 𝑂_𝑛 )(O1​,...,On​) from 𝑛 training nodes with stakes (𝑑1,...,𝑑𝑛)(𝑑_1, . . . , 𝑑_𝑛 )(t1​,...,tn​), and π‘š validators (𝑉1,...,π‘‰π‘š)(𝑉_1, . . . , 𝑉_π‘š )(V1​,...,Vm​) with stakes (𝑠1,...,π‘ π‘š)(𝑠_1, . . . , 𝑠_π‘š)(s1​,...,sm​). Each validator 𝑉𝑗(1β‰€π‘—β‰€π‘š)𝑉_𝑗 (1 ≀ 𝑗 ≀ π‘š)Vj​(1≀j≀m) evaluates the nnn models submitted by the training nodes.

Let the total daily reward allocated to a task be denoted as R0R_0R0​​ and the parameter Ξ³\gammaΞ³ controls the split rewards, defining the balance between fixed and stake-dependent reward components.

The total rewards for training nodes are:

R0β‹…(Ξ³+(1βˆ’2Ξ³)β‹…βˆ‘i=1ntiβˆ‘i=1nti+βˆ‘j=1msj)R_0 \cdot \left( \gamma + (1 - 2\gamma) \cdot \frac{\sum_{i=1}^{n} t_i}{\sum_{i=1}^{n} t_i + \sum_{j=1}^{m} s_j} \right)R0​⋅(Ξ³+(1βˆ’2Ξ³)β‹…βˆ‘i=1n​ti​+βˆ‘j=1m​sjβ€‹βˆ‘i=1n​ti​​)

2. Rewards for training nodes & their delegators

We can now compute the total rewards allocated for the training nodes as well as their delegators, which is based on the quality of their submission and their total amount of stake:

3. Rewards for training nodes

4. Example

Let’s assume daily total rewards for all AI Arena tasks for a given day is 309,157.68. We have 1 task with 2 nodes and 3 validators.

First, for this given task, total rewards for *all* training nodes are:

We can then compute the rewards for *Node A and its delegators*. We are assuming that the scores for Node A and B are 0.501435 and 0.498565 respectively. Consider Ξ±t​=1, rewards for Node A (together with delegators) are:

Finally, given 𝜎=0.4, the actual rewards for *Node A alone* is:

fi(gi,ti)=giβ‹…tiΞ±tβˆ‘k=1ngkβ‹…tkΞ±tf_i(g_i, t_i) = \frac{g_{i} \cdot t_i^{\alpha_t}}{\sum_{k=1}^{n} g_{k} \cdot t_k^{\alpha_t}}fi​(gi​,ti​)=βˆ‘k=1n​gk​⋅tkΞ±t​​gi​⋅tiΞ±t​​​

In which tit_iti​ the total stake amount from the training node 𝑖 as well as its respective delegators, gig_igi​ is the scores of the submitted models from training node, whereas kkk denotes a given training node’s rank amongst its peers in the same task. On the other hand, Ξ±t\alpha_tΞ±t​ is a system parameter that determines the influence of the stake on the reward distribution.

If a training node iii’s stake in the task is tnt_ntn​ and stakes delegated to training node iii is tdt_dtd​ i.e. ti=tn+Ο΅β‹…tdt_i = t_n + \epsilon \cdot t_dti​=tn​+Ο΅β‹…td​, in which Ο΅\epsilonΟ΅ refers to the effective delegation amount. Specifically, effective delegation amount adjusts how much of the delegated stake tdt_dtd​​ is actually counted (i.e., how β€œeffective” it is) when computing node iii's total stake tit_iti​. When Ο΅=1\epsilon = 1Ο΅=1, then the delegated stake tdt_dtd​ ​ is counted fullyβ€”delegations are treated just like the training node’s own stake. When Ο΅<1\epsilon < 1Ο΅<1, then the delegated stake is β€œdiscounted,” so training node iii only gets a fraction of tdt_dtd​ when accounting for its total stake, and vice versa. Thus, the actual reward for training node iii is:

fiβ‹…(Οƒ+(1βˆ’Οƒ)β‹…tntn+td)f_i \cdot \left(\sigma + (1-\sigma) \cdot \frac{t_n}{t_n+ t_d}\right)fi​⋅(Οƒ+(1βˆ’Οƒ)β‹…tn​+td​tn​​)

Note that in the front-end, you will see a β€œreward-sharing ratio”, which refers to (1βˆ’Οƒ)(1 - \sigma)(1βˆ’Οƒ), which means when reward-sharing ratio is 60%, Οƒ\sigmaΟƒ is 0.4. This ratio is set by training nodes and validators permissionlessly.

Nodes A and B stake 3,000 and 3,500 FLOCK respectively, while validators A, B and C stake 3,000, 6,000 and 3,000 respectively. Node A also receives an additional 1,000 FLOCK from its delegators, which brings the tit_iti​ (total stake including delegated stake) to be 4,000 for Node A. For simplicity, we assume Ξ³\gammaΞ³ to be 0 and Ο΅\epsilon Ο΅ to be in this example.

R0Γ—βˆ‘i=1ntiβˆ‘i=1nti+βˆ‘j=1msjβ€…β€Š=β€…β€Š309,157.68Γ—65006500+12000β‰ˆ108,623.7R_0 \times \frac{\sum_{i=1}^n t_i}{\sum_{i=1}^n t_i + \sum_{j=1}^m s_j} \;=\; 309{,}157.68 \times \frac{6500}{6500 + 12000} \approx 108{,}623.7 R0β€‹Γ—βˆ‘i=1n​ti​+βˆ‘j=1m​sjβ€‹βˆ‘i=1n​ti​​=309,157.68Γ—6500+120006500β€‹β‰ˆ108,623.7
fi(gi,ti)=giβ‹…tiβˆ‘k=1ngkβ‹…tk=0.501435Γ—4000(0.501435Γ—4000)+(0.498565Γ—3500)Γ—108,623.7=58,084f_i(g_i, t_i) = \frac{g_i \cdot t_i}{\sum_{k=1}^{n} g_k \cdot t_k} = \frac{0.501435 \times 4000}{(0.501435 \times 4000) + (0.498565 \times 3500)} \times 108{,}623.7 = 58{,}084fi​(gi​,ti​)=βˆ‘k=1n​gk​⋅tk​gi​⋅ti​​=(0.501435Γ—4000)+(0.498565Γ—3500)0.501435Γ—4000​×108,623.7=58,084
fiβ‹…(Οƒ+(1βˆ’Οƒ) tntn+td)=58,084Γ—(0.4+0.6Γ—30004000)=49,371.40f_i \cdot \Bigl(\sigma + (1-\sigma)\,\frac{t_n}{t_n + t_d}\Bigr) = 58{,}084 \times \Bigl(0.4 + 0.6 \times \tfrac{3000}{4000}\Bigr) = 49,371.40fi​⋅(Οƒ+(1βˆ’Οƒ)tn​+td​tn​​)=58,084Γ—(0.4+0.6Γ—40003000​)=49,371.40
πŸ’°