  Since the concern of privacy leakage extremely discourages user participation
in sharing data, federated learning has gradually become a promising technique
for both academia and industry for achieving collaborative learning without
leaking information about the local data. Unfortunately, most federated
learning solutions cannot efficiently verify the execution of each
participant's local machine learning model and protect the privacy of user
data, simultaneously. In this article, we first propose a Zero-Knowledge
Proof-based Federated Learning (ZKP-FL) scheme on blockchain. It leverages
zero-knowledge proof for both the computation of local data and the aggregation
of local model parameters, aiming to verify the computation process without
requiring the plaintext of the local data. We further propose a Practical
ZKP-FL (PZKP-FL) scheme to support fraction and non-linear operations.
Specifically, we explore a Fraction-Integer mapping function, and use Taylor
expansion to efficiently handle non-linear operations while maintaining the
accuracy of the federated learning model. We also analyze the security of
PZKP-FL. Performance analysis demonstrates that the whole running time of the
PZKP-FL scheme is approximately less than one minute in parallel execution.
