zk-snarks are ~1KB, zk-starks are ~300KB. None of them will be feasible to put on the ledger directly. So you're looking at a hash, and external storage. What are you going to do with the proofs, when you have them? There's no way for a Stellar transaction to look at a proof anyway, and succeed/fail based on it.