I'm currently working on the development of an unorthodox system in which, ideally, there would be one master key pair, with thousands of keys derived from it. There needs to be a way to prove that any one of those keys is derived from the master key. In this scenario, the private and the public keys of all of the derived keys can be considered common knowledge and can be used in that verification process. The public key in the master key pair may also be considered common knowledge. The only secret entity is the private key in the master key pair. I am aware that using non-hardened derivation, it is possible to accomplish this goal, yet that it contains many security risks, and the private key in the master key pair could be figured out (making non-hardened derivation as I've seen it, an unacceptable solution, unless you know of a way to make this process safe).
Is there any way to prove that derived keys could only have come from one master key pair, without exposing that master key pair's private key? Is there a safe way to do this with non-hardened key derivation? Is there a way to do this with zero knowledge proofs (they would have to be non-interactive)? Assume that it would not be feasible for the master to simply create and sign a document listing keys they've derived (new keys could be derived at any moment, and there could theoretically be too many keys derived to list within message size constraints). You may also assume that any algorithm that can accomplish this goal can be used (i.e. not necessarily just RSA).
This is for sure an abstract and vague question, so please guide me on what more information you need or how I can amend this question. Thanks.