The spam filter threshold is configurable in the Zecwallet SDK. The mobile apps currently set a threshold of sapling_outputs + actions < 50
. LightwalletD then filters out all the transactions that are over this threshold when sending the blocks to Zecwallet Lite.
The cmu
portion of the outputs is retained to allow the clients to maintain the witnesses. So the spam filter:
- Saves on download bandwidth
- Prevents trial decryption of spammy transactions
But does not help with:
- Clients still have to update the witnesses from spammy transactions.
The LightwalletD implementation is here: FilterSpamBlock · adityapk00/lightwalletd@a67fcec · GitHub
Edit: I believe that the actual spam filter should be aligned with the ZIP that @aiyadt is working on. i.e., Filter out transactions that create more than spam_threshold
outputs that didn’t pay the adequate fee.