Part 1 - Proposal Submission
Name of Project: FELToken
Proposal in one sentence:
Creating a decentralized and more secure solution for federated learning while anonymizing data providers.
Description of the project and what problem is it solving:
FELToken is connecting owners of the data with scientists to train their machine learning models while preserving the privacy of the data. Current federated learning solutions rely on a central server. We are building a product with the simplest user experience possible while being decentralized. This allows anonymous participation of data providers and prevents malicious activities. Data providers get rewards for sharing their data and resulting models can be further sold.
Grant Deliverables: (Target deliverables for the funding provided.)
- Create a web application supporting basic training functionalities
- Propose a plan for OCEAN integration
- Write blog post about the integration with OCEAN
Which category best describes your project?
- Build / improve applications or integrations to Ocean
Are you applying for an Earmark?
- New Project
What is the final product?
The final product of FELToken consists of three main components: a set of smart contracts governing the federated learning process, a web application for simple interaction with smart contracts, and a tool for running a data provider node. During development, we focus mainly on making the process of setting up the federated learning project as simple as possible. So that data scientists and interested parties can train their models without any extra knowledge about smart contracts and blockchain.
Once the core components are working there are many possible ways for further extension. We would like to integrate with marketplaces to allow reselling of trained models or to allow training with datasets provided online. The tool can also act as a platform for further federated learning research.
Value add
- Usage of Ocean
- Viability
We already have a working demo of the core technology (smart contract and code for data provider). Right now we are building the user interface for interaction with the smart contracts. Once finished with this we want to plan further steps for integration with marketplaces out there (as proposed in grant deliverables).
We believe that this tool can drive the attention of more people working on machine learning and data privacy. We are also focusing on companies that will use this product with their real data. We want to integrate with other tools as well. We believe that this could bring more people to the community overall.
Funding Requested: 3000$
Proposal Wallet Address: 0x77edDB82E5e9901aA494825bC362fA93120B892c
Have you previously received an OceanDAO Grant?
N
Team Website: https://feltoken.ai
Twitter Handle: @FELToken
Discord Handle: Breta#9929
Project lead full name: Břetislav Hájek
Project lead email: info@bretahajek.com
Country of Residence: Czech Republic
Part 2 - Team
2.1 Core Team
Břetislav Hájek
- Role: developer
- Relevant Credentials:
- Background/Experience:
- AI developer: https://inventives.ai/
- PhD student at: https://www.nus.edu.sg/
Filip Masár
- Role: developer
- Relevant Credentials:
- Background/Experience:
- Kernel KB4 fellow https://kernel.community/
- Co-founder at http://avtr.gg/
- Front-end developer at https://avast.com/
Part 3 - Proposal Details
Details of the proposal:
We are building software for federated learning projects. As such we need to provide an easy UI for companies/interested parties to set up their projects. Right now we are building a web application that will allow exactly that. Meanwhile, we are still improving our smart contracts and other parts of the code. Once finished with that we want to focus on integration with other decentralized solutions.
App will be live at:
Is the software open-source?
Y
If open-source, please specify the license. If no, please specify why not open-source.
GPL-3.0 License
Project software can be found at:
Are there any mockups or designs to date?
Y: There is this video used for hackathon submission explaining the project: Federated Learning Token - FELT - YouTube
Please given an overview of the technology stack.
Smart contracts are written in solidity with the use of OpenZeppelin contracts. There are three main smart contracts: token contract, project manager and project contract. Project contract is the main contract managing federated learning processes. We are planning to deploy them on Polygon (MATIC) network.
The web application is written in TypeScript using React as a frontend framework. For communication with smart contracts, we use the Ethers.js library.
The data provider client is written in Python. Right now we support scikit-learn models. We will extend this for TensorFlow and PyTorch in the near future.
3.9 Project Deliverables - Roadmap
Any prior work completed thus far? Details?
Y: We started the project as part of Chainlink Fall Hackathon 2021 where we created the core contract and data provider code.
What is the project roadmap?
- Finish the web application for interacting with smart contracts. The main goal right now is to be able to start a new project and set up training of a model through the UI.
- Research about possible integration with OCEAN marketplace.
- Write a blog post about our further steps proposing a roadmap for the integration.
What is the team’s future plans and intentions?
There are many possible extensions. As mentioned before we want to integrate with different tools and marketplaces out there. Once the core of the project is finished we want to focus on getting people to use the project (working as a support and fixing bugs as needed). We would also like to attract researchers to develop new algorithms for federated learning on blockchain. Or run machine learning competitions in federated learning settings.
3.10 Additional Information
Any additional information
We were one of the winners of “On the Rise” category in Chainlink Fall Hackathon 2021