Federated Learning (FL), as an emergent paradigm in privacy-preserving machine learning, has garnered significant interest from scholars and engineers across both academic and industrial spheres. Despite its innovative approach to model training across distributed networks, FL has its vulnerabilities; the centralized server-client architecture introduces risks of single-point failures. Moreover, the integrity of the global model-a cornerstone of FL-is susceptible to compromise through poisoning attacks by malicious actors. Such attacks and the potential for privacy leakage via inference starkly undermine FL's foundational privacy and security goals. For these reasons, some participants unwilling use their private data to train a model, which is a bottleneck in the development and industrialization of federated learning. Blockchain technology, characterized by its decentralized ledger system, offers a compelling solution to these issues. It inherently prevents single-point failures and, through its incentive mechanisms, motivates participants to contribute computing power. Thus, blockchain-based FL (BCFL) emerges as a natural progression to address FL's challenges. This study begins with concise introductions to federated learning and blockchain technologies, followed by a formal analysis of the specific problems that FL encounters. It discusses the challenges of combining the two technologies and presents an overview of the latest cryptographic solutions that prevent privacy leakage during communication and incentives in BCFL. In addition, this research examines the use of BCFL in various fields, such as the Internet of Things and the Internet of Vehicles. Finally, it assesses the effectiveness of these solutions.