hanh
July 11, 2022, 1:19am
1
YWallet is a privacy oriented wallet and messenger for Ycash and Zcash.
For more info, go to https://ywallet.app
1.2.14
1.2.13
Use lightwalletd spam filter when available
Bug fix: Reorg sometimes loses sapling witnesses
UX improvements
Spending is allowed during synchronization
Unconfirmed balance (if supported by the server)
iOS App publisher changed
1.2.12
1.2.11
1.2.10
1.2.9
Welcome Page
Resumable Scan
Adaptative Block Length
22 Likes
hanh
August 31, 2022, 7:28am
2
The Spam Filter can reduce your synchronization time by 90%.
From 10h to 1h.
4 Likes
This doesn’t reduce the download bandwidth right? This will let the Ywallet app skips transactions with a lot of outputs but those transactions data will still be downloaded.
Anyway, great to see a wallet implement this!
hanh
August 31, 2022, 1:19pm
4
That’s right. I opened a request to have it implemented in lightwalletd too.
Please upvote it if you want to give it more visibility.
opened 04:58PM - 28 Aug 22 UTC
closed 08:52PM - 30 Sep 22 UTC
**What is your feature request?**
Since the beginning of Jul, the blockchain … has seen a surge of large transactions with a lot of outputs. The reason remains unknown but it is clear that for most people, these transactions are not relevant.
However, currently, lightwallets must download and process all this data. At this point, the "compact" blockchain is bigger than 5 GB. More than 4 GB are from Jul-Aug alone.
In fact, downloading is the bottleneck for YWallet and when I synchronize from my own local server, I can pull >10 MB/s. But if I use ZWL or NH servers, I usually only get ~1-2 MB/s. Unfortunately, the wallet is waiting for data.
I suggest offering a filter option in LWD which would prune the compact outputs down to the `cmu` (that is needed for witness maintenance).
There is an ongoing discussion about changing the fee structure in the future. I suggest retroactively applying a similar formula to the existing transactions. Essentially, a client wallet would say: "I am not interested in transactions that would have cost more than X in fees". Either they are not for me, or they are from spam / dust transactions and would waste my phone resources.
Right now, we could make the filter just be a limit on the number of outputs. Then update/improve it when the formula is agreed on.
The client can decide what threshold he accepts.
**How would this feature help you?**
With this function, the lightwallet will download only 32 bytes instead of 116 (=32+32+52) per output. So ~1/4.
Instead of downloading 5 GB, it would be ~1.5 GB (very rough estimate).
YWallet implements this filtering logic in the client but it still must download all this excess data.
Additionally, the API could also introduce an option to discard all Orchard data from the download. This would be interesting for wallets that currently do not support Orchard.
As a new API, wallets that don't use this feature will not be affected in any fashion.
Thanks,
--h
7 Likes
How does Ywallet define “spam”?
hanh
September 1, 2022, 1:23am
6
I had this weird antispam idea…
What if I know I won’t receive funds from these weird / large transactions?
Instead of changing protocol or miners, how about adding a filter to Lightwalletd.
Currently, the wallets get compact blocks using GetBlockRange. I suggest we add a function GetBlockRangeWithMaxCost which will filter out the transactions that would have cost more than a given fee (passed by the caller).
Blocks are trimmed out of all the output data except for the note commitments becau…
At this moment, the threshold is simply the number of outputs > 20 and the filter is client side.
1 Like
It sounds like Zecwallet has added some lightwalletd support for server-side filtering that you may want to take advantage of: Add Orchard to Zecwallet Mobile and Desktop Apps - #53 by adityapk00
1 Like
hanh
September 1, 2022, 5:30pm
8
Thanks for the heads up. It’s part of the next release.
committed 03:35PM - 31 Aug 22 UTC
It’d be great if this was included in the ECC version too.
Any chance of Ywallet for Linux desktop?
Teddd
August 26, 2023, 3:54pm
13
Thanks for your works! You’re really awesome!
1 Like