There seems to be a fundamental misunderstanding of shielded transactions and addresses in this question. So maybe someone smarter than me can clarify.
For #1, you can get the balance of every transparent address, but for #2, you can’t even get the set of all shielded addresses… and even if you could do that, you wouldn’t have the fvk to calculate the balance for every single shielded address.
I thought this was the beauty of sapling/shielded? We don’t get spam to our shielded addresses. On ETH and BSC spam coin from drops are out of control.
For your #1 it also seems a little odd that the transparent hodler use case is somehow more valuable than the shielded hodler or even folks who actually transact in zcash. Kinda moot at this point but just giving my opinion.
Unless I’m misunderstanding something, either 1) folks would have to opt-in somehow to reveal the portion of their stake that they wanted to apply toward a drop OR 2) there’d have to be some proof of position ownership mechanism at a certain point in time. I think this was discussed in other threads regarding shielded stake-weighted voting.
I might be missing something though