With the demand for security, the Internet companies and institutions have formed independent trust domains by utilizing different cryptographic settings, which brings up the problem of cross-domain authentication. To solve the crossdomain authentication problem, researchers have proposed many schemes that can be divided into two categories: centralized and blockchain-based. However, the challenges of privacy leakage, low efficiency, and incomplete cross-domain have not been effectively overcome in existing schemes. In this paper, we propose a Blockchain-based Privacy-preserving scheme for Cross-Domain Authentication (BPCDA). To realize complete cross-domain, the blockchain is introduced for building trust between different domains. For lightweight management, the Pedersen Commitment is adopted for identity voucher generation. In addition, the NonInteractive Zero-Knowledge (NIZK) proof algorithm is utilized for mutual and anonymous authentication. The security analysis and the performance evaluation demonstrate that the proposed BPCDA is secure, privacy-preserving, and efficient.