As an emerging learning paradigm, Federated Learning (FL) enables data owners to collaborate training a model while keeps data locally. However, classic FL methods are susceptible to model poisoning attacks and Byzantine failures. Despite several defense methods proposed to mitigate such concerns, it is challenging to balance adverse effects while allowing that each credible node contributes to the learning process. To this end, a Fair and Robust FL method is proposed for defense against model poisoning attack from malicious nodes, namely FRFL. FRFL can learn a high-quality model even if some nodes are malicious. In particular, we first classify each participant into three categories: training node, validation node, and blockchain node. Among these, blockchain nodes replace the central server in classic FL methods while enabling secure aggregation. Then, a fairness-aware role rotation method is proposed to periodically alter the sets of training and validation nodes in order to utilize the valuable information included in local datasets of credible nodes. Finally, a decentralized and adaptive aggregation mechanism cooperating with blockchain nodes is designed to detect and discard malicious nodes and produce a high-quality model. The results show the effectiveness of FRFL in enhancing model performance while defending against malicious nodes.