General Flow

This is a general flow of the FLock system in four parts: client interface, IPFS, blockchain and client run in docker.

The combination of four parts is an easy and cost effective way to demonstrate our vision and methodology on how ML should be integrated with blockchain.

Here is the breakdown of each part:

  1. Decentralised participation:

    • People or computer systems (nodes) can join a group project through an online interface.

    • To take part, users need to stake some cryptocurrency or tokens, which encourages honest participation and can be seen as a form of security deposit.

  2. Data handling via IPFS:

    • IPFS stands for InterPlanetary File System, a way to store and share files across a wide network.

    • Data required for ML tasks, such as model files, is managed like in a large communal drive. This enhances the system's robustness against data loss and censorship.

  3. Blockchain integration serves multiple purposes:

    • Staking mechanism: Makes sure that only those who are truly interested (and have put down a deposit) can join, improving the quality of contributions better.

    • Reward distribution: Provides a transparent and secure way to compensate participants based on their contributions to the learning task.

    • Penalty enforcement: Discourages bad behaviour by enforcing penalties (slashing stakes) for dishonest participation.

  4. Client integration: By running the training locally on participants' computers using a local docker.

    • Machine learning in containers:

      • The actual training of the ML model occurs within Docker containers, which ensures a consistent and reproducible environment across all participant nodes.

    • Model training and evaluation:

      • Within these containers, models are trained on the data and then evaluated to measure their performance. This training can happen on individual nodes, leveraging their computational resources.

    • Aggregation:

      • The learning from individual nodes is aggregated to improve a centralised model. This is a key part of federated learning, where updates from different places are merged without having to move the data to one location.

  5. Incentives and penalties:

    • Upon successful completion of tasks, participants can claim their rewards from the blockchain.

    • On the flip side, if the system detects any wrongdoing or failure to contribute valid work, the participant's stake may be slashed as a penalty.

Last updated