Team Members: Dhruv Bansal, Bryant Hargreaves, Viswa Kotra, Timothy Naumov, Akshat Sharma
Research Lead: Rohan Dave
Advisor: Dr. Murat Kantarcioglu
Federated Learning, a decentralized machine learning approach, has advanced significantly. However, integrating it with blockchain faces challenges, particularly with high gas fees and slow epochs. Our research addresses this by combining blockchain with federated learning and optimizing this conjunction using various tree structures and off-chain computing. We aim to reduce gas costs by deploying smart contracts on Ethereum for decentralization, while mitigating computation burdens off-chain. This strategy not only cuts gas expenses but also taps into blockchain's security, enabling efficient and cost-effective implementations.
- download python 3.9.16
python -p 3.9.16 venv .venv
- install dependencies
python -m pip install -r requirements.txt
- go to the brownie folder and init and/or compile the contract(?)
cd brownie
brownie compile
- run the local dev blockchain thing with the smart contract
brownie run scripts/test.py
- run the start_task.py script to start the task in the smart contract
cd ..
python start_task.py
- run multiple tree/client.py scripts to create new clients for federated learning
python tree/client.py