Decentralized deepfake Detection – Need Feedback on Architecture & Decentralization
This is actually my bachelor's graduation project, and I'm trying to build a demo of a decentralized deepfake detection system. Since I'm relatively new to blockchain, AI, P2P networks, and federated learning, I'd really appreciate any feedback on my approach.
Goal of the Project
I want to create a decentralized system where anyone can check if an image or video is a deepfake without relying on a central authority. The AI model used for detection should continuously improve over time as deepfake techniques evolve. The system should be community-driven, with contributors rewarded for running inference models or helping update the AI model.
Current Technical Architecture
The system is built as a P2P network using libp2p, with three types of participants:
-
End users – Submit deepfake detection requests.
-
Worker nodes – Run inference on AI models to detect deepfakes.
-
Federated learning nodes – Train and improve the AI model, which workers later download.
Blockchain is used to reward worker and federated nodes with tokens for their contributions.
Workflow:
-
A user submits a detection request via a frontend (likely hosted on IPFS for permanence).
-
The frontend communicates with a gateway node in the P2P network.
-
The gateway node distributes the request to worker nodes running the AI model, distribution mechanism for now is just simple round-robin.
-
The worker node publishes the result back to the network.
-
The gateway sends the result to the frontend and updates the smart contract to reward the worker.
-
Separately, federated learning nodes train a new model and upload it to IPFS, and worker nodes periodically download the latest model.
Main Concern – The Centralized Gateway Node
Right now, the gateway node is a single point of failure and controls task distribution. If someone modifies its code, they could manipulate task assignments or block certain nodes from participating.
I considered hashing the gateway’s code and making the smart contract only interact with a verified gateway, but I don’t think that’s possible. Also, calling the smart contract for every task completion might cause scalability issues due to gas fees.
Questions & Challenges
How can I decentralize the gateway node?
Is task distribution better handled on-chain, or should workers interact with the contract directly?
How do similar decentralized AI projects prevent manipulation?
Should I rethink the entire architecture for better scalability and decentralization?
This is just an early-stage demo, and I know security, task verification, and reputation systems and other stuff need to be added later. Right now, I want to get the architecture right before moving forward.
Any insights or suggestions would be greatly appreciated! Thanks in advance.
submitted by /u/xomer000
[link] [comments]