## 1 Introduction  
With the rapid growth in the number of mobile devices and the gradual enrichment of mobile application types, the amount of data has exploded. Algorithms such as machine learning and deep learning can mine huge potential value from these data, providing new development opportunities for various industries. However, such centralized algorithms need to collect data scattered across different enterprises and individuals for training. On the one hand, the transmission of massive data takes up a large amount of bandwidth, and the training of massive data requires massive computing resources [1]. On the other hand, with increasing awareness of data security and privacy protection among enterprises and individuals, data collection is becoming increasingly difficult, which makes it difficult for centralized algorithms to play their role [2]. In this context, Google proposed federated learning, which can realize the model training process of \"no data out of the local\" by sharing models [3], which not only protects data security and user privacy but also reduces the dependence of algorithms on network bandwidth and server performance, which will become an important supporting technology for the realization of ubiquitous intelligence in the future. Federated learning divides the traditional training process into two sub-processes. First of all, clients receive global models and train local models using local data. Then, the aggregation server collects local models from all clients and performs model aggregation to produce a new global model [4]. The two processes are iterated until the accuracy of the model is reached. It is easy to see that the above training process is still deficient in terms of communication efficiency and security. In terms of communication efficiency, the iterative process needs to transmit a large number of model parameters, which brings high communication overhead and reduces the training efficiency. In terms of security, the centralized aggregation server of federated learning not only has the risk of a single point of failure [5] but also may leak user privacy due to attacks. In addition, it is difficult for the central server to filter the poisoning attacks of Byzantine nodes reasonably and efficiently, thus affecting the training efficiency and model quality. In order to improve the communication efficiency of federated learning, some studies have proposed to reduce the communication overhead by reducing the number of model parameters through pruning, etc. [6], while others have proposed to reduce the communication overhead by reducing the number of iterations of training [7]. However, reducing the number of model parameters or the number of iterations may affect the accuracy of the model. With the popularity of cloud edge architecture, some studies have proposed the concept of hierarchical federation learning [8]. Taking advantage of the closer distance and faster speed of the edge, the edge aggregation process is introduced between the client and the cloud aggregation server, reducing the communication overhead by decreasing the number of communications between the client and the cloud aggregation server. However, hierarchical federation learning cannot solve the security problems in traditional federation learning; on the contrary, it introduces more opportunities to be attacked. Blockchain technology as a distributed architecture can ensure data security and user privacy, enabling a decentralized aggregation process [9; 10] and solving the potential risks posed by centralized aggregation servers. However, the introduction of blockchain may bring additional computation and communication overhead and reduce the efficiency of federated learning. The introduction of blockchain still needs to improve the decentralized aggregation process as well as the efficient filtering of malicious, slow, and low-data-quality nodes to improve the efficiency and accuracy of federated learning.