Voting Process

Setup Phase

To participate in a federated learning task, every participant must initially stake some tokens into the FLock system as collateral, which signifies their commitment. These staked tokens will subsequently be utilized in the reward/slash phase to reward honest participants and penalize malicious ones. For miners, the staked tokens also factor into the likelihood of being selected as the block producer and receiving block rewards, a process known as the Proof-of-Stake (PoS) mechanism.

In order to engage in model training, a proposer must compile a private training dataset and, optionally, a validation dataset for local model selection. Any node desiring to become a committee voter must prepare a local test dataset for global model weight auditing. Importantly, any proposer has the option to withhold a portion of their training dataset for use as the test dataset, thus enabling them to participate as a voter. The FLock system implements a novel reward/slash mechanism designed to incentivize honest proposers and voters and penalize malicious participants.

Training Phase

Step 1: Local training

At the end of each training phase, all nodes receive identical global model weights.

As a new training phase begins, several nodes are randomly selected as model proposers from the eligible pool of nodes.

These selected nodes will locally train their model based on the global model and submit their local model updates to the FLock system.

Step 2: Committee voting

To prevent improper model weight updates and penalise malicious proposers, an auditing committee is randomly chosen from all eligible participants to assess the global model weights.

Each committee voter locally evaluates the model's performance on their previously prepared test dataset and calculates a voting score based on this performance.

An automated on-chain protocol then determines whether the global model weights for this round will be discarded according to the voting scores.

Step 3: To reward or slash?

To promote honesty and eliminate malevolent actors, we redistribute the staked tokens according to the voting scores at the end of each training phase.

For proposers, the reward/slash is determined based on the voting scores.

Voters are assessed too, to evaluate the accuracy of their voting. Their reward/slash amount is computed based on the difference between their individual voting score and the final aggregation score, as well as the voting direction.

This system ensures that positive contributors get more tokens, while cheats and weak performers lose tokens. Over time, this means only the honest participants will remain, leading to a trustworthy and efficient learning process.

Last updated