Client Deepdown


  • Communication with a smart contract on a blockchain.

  • Interacting with IPFS for uploading and downloading model parameters.

  • Automatic staking of tokens based on the current threshold.

  • Participating in a federated learning system with a clear voting and proposing mechanism.

  • Flexible with any model that implements the required interface.

  • Handles training and evaluation of the models.

What manages the entire federated learning process?

The process is managed automatically by the use of EVM smart contracts, which define a specific set of rules that all clients have to abide by to participate. The smart contracts govern the random assignment of roles and rewards correct behaviour, while slashing incorrectly acting participants.

What is a model definition hash?

The FLock client has the ability to dynamically download and run any model defined in the flock system. A task creator implements the model using the Python Flock SDK which allows the interaction between the model and the client. When a task creator uploads a model definition to IPFS, they get a hash back which is used as a reference for clients to be able to find and download the model.

How is a model run securely? Can't it execute malicious code?

The FLock client runs the model in a docker container with no outgoing network access and no escalated privileges. This means the container cannot access the host system or extract any data passed over to it by the flock client (e.g. your dataset). The container can only respond to three very specific requests by the flock client: train, evaluate accuracy or aggregate a set of parameters.

Last updated