  Payment channel network (PCN) is a layer-two scaling solution that enables
fast off-chain transactions but does not involve on-chain transaction
settlement. PCNs raise new privacy issues including balance secrecy,
relationship anonymity and payment privacy. Moreover, protecting privacy causes
low transaction success rates. To address this dilemma, we propose zk-PCN, a
privacy-preserving payment channel network using zk-SNARKs. We prevent from
exposing true balances by setting up \textit{public balances} instead. Using
public balances, zk-PCN can guarantee high transaction success rates and
protect PCN privacy with zero-knowledge proofs. Additionally, zk-PCN is
compatible with the existing routing algorithms of PCNs. To support such
compatibility, we propose zk-IPCN to improve zk-PCN with a novel proof
generation (RPG) algorithm. zk-IPCN reduces the overheads of storing channel
information and lowers the frequency of generating zero-knowledge proofs.
Finally, extensive simulations demonstrate the effectiveness and efficiency of
zk-PCN in various settings.
