zips icon indicating copy to clipboard operation
zips copied to clipboard

Proposal to stop scanning outputs from sandblasting transactions if not spent within a year

Open daira opened this issue 1 year ago • 2 comments

Proposal: if you have any money in transaction outputs that appear to be in sandblasting transactions (by some criterion designed to absolutely minimize false positives and limited to the sandblasting period) then they have to be spent by a year from now, ~~otherwise they will be burnt~~ [edit: see below]. That way they no longer need to be scanned after that year.

The cost of all other outputs is insignificant compared to the spam.

daira avatar May 03 '24 09:05 daira

I'm not specifically proposing that this be in NU7, but if it were to take effect after zcashd deprecation / NU7 activation, it would not need any changes in zcashd.

daira avatar May 03 '24 09:05 daira

Proposal: if you have any money in transaction outputs that appear to be in sandblasting transactions (by some criterion designed to absolutely minimize false positives and limited to the sandblasting period) then they have to be spent by a year from now, otherwise they will be burnt. That way they no longer need to be scanned after that year.

On reflection this is the wrong way of thinking about it. Actually burning those outputs is expensive and complicated; you either have to rewrite the Sapling and Orchard commitment trees, or introduce some other ad-hoc check in the circuits that you're not spending a sandblasting output. And it's not necessary to burn them in order to stop scanning them. All we have to do to achieve the desired effect on scanning cost, is to make clear that it won't be possible to spend those outputs after the deadline using supported wallets. Then we can stop scanning them regardless of the fact that they're theoretically spendable.

daira avatar Aug 01 '24 21:08 daira