As someone deep into ZKPs related to blockchain I should note that ZKPs have nothing to do with blockchain in their origin; the cryptography behind them was developed in the 80s (even protocols like zkSNARKs). Many applications are also not specific to blockchain and a lot of work on their mathematics does not relate directly to blockchain either
That said, a decent chunk is now directly for applications in that field. For instance, key decisions around the cryptography used by Circom (a zkSNARK language) are predicated on the idea they will be used in EVM smart contracts. Same is true of snarkjs that exports Solidity verifiers.
Have you also looked into Zero Knowledge?
It lets someone prove that they know or have something without giving up any information about what they know or have.
Not Boring did a good piece on it. https://www.notboring.co/p/zero-knowledge