  Blockchain-based federated learning (BCFL) has recently gained tremendous
attention because of its advantages such as decentralization and privacy
protection of raw data. However, there has been few research focusing on the
allocation of resources for clients in BCFL. In the BCFL framework where the FL
clients and the blockchain miners are the same devices, clients broadcast the
trained model updates to the blockchain network and then perform mining to
generate new blocks. Since each client has a limited amount of computing
resources, the problem of allocating computing resources into training and
mining needs to be carefully addressed. In this paper, we design an incentive
mechanism to assign each client appropriate rewards for training and mining,
and then the client will determine the amount of computing power to allocate
for each subtask based on these rewards using the two-stage Stackelberg game.
After analyzing the utilities of the model owner (MO) (i.e., the BCFL task
publisher) and clients, we transform the game model into two optimization
problems, which are sequentially solved to derive the optimal strategies for
both the MO and clients. Further, considering the fact that local training
related information of each client may not be known by others, we extend the
game model with analytical solutions to the incomplete information scenario.
Extensive experimental results demonstrate the validity of our proposed
schemes.
