sparrow icon indicating copy to clipboard operation
sparrow copied to clipboard

How to limit users from consolidating into premix much more coin than the max size of the Whitpool?

Open Transisto opened this issue 3 years ago • 3 comments
trafficstars

Situation:

A user doesn't care what UTXO they select for premix, So they select all of them.

Their balance is 1 BTC , They chose to participate in the 0.001 pool.

Problems: Use more fee / blockspace than needed. Consolidate more input than needed, reducing privacy. End up with most of their funds in Badbank. Badbank need to be moved back to Deposit to be made available for a 2nd premix.

Some way to limit this would be to notify the user at the pool selection step.

image Another suggestion to the users to increase privacy is to split the UTXO before the premix instead of as part of it.

"Significantly more" trigger could be 10% more than the total pool size. 70*0.01, 0.77 or more, 0.07 above 0.7

Transisto avatar Apr 20 '22 17:04 Transisto

Not sure I'm following: if you enter a small pool with a way higher premix utxo the higher amount is split into the small denominations. This doesn't mean necessarily more utxos / a higher amount in badbank though?!

And what do you mean by consolidation? Every Tx0 is split in multiple (pool denomination+fee) utxos for premix. No consolidation is happening here? The only part where I see consolidation is, if you combine multiple small outputs for entering a LARGER pool, not smaller one?!

RequestPrivacy avatar May 05 '22 15:05 RequestPrivacy

@RequestPrivacy

if you start a premix with 5 utxo of 0.1 into 0.001 pool you'll end up with 25 x 0.001 and a single 0.475 BTC UTXO in badbank.

There was no need to use more than a single 0.1 UTXO for pool 0.001 (0.025 total) and the better pool would have been 0.01 with 50 x 0.01 with very little sent to badbank.

Transisto avatar May 12 '22 19:05 Transisto

Ah I totally forgot about the maximum Tx0 amount for each pool, thanks for bringing this up. Your right, a warning could prevent a surprise here and help the user to rethink how he structures the Tx0.

A couple of points I'd like to add to the discussion which make a reasonable threshold for triggering a warning difficult though:

Another suggestion to the users to increase privacy is to split the UTXO before the premix instead of as part of it.

There was no need to use more than a single 0.1 UTXO for pool 0.001 (0.025 total) and the better pool would have been 0.01 with 50 x 0.01 with very little sent to badbank.

There is always a trade-off between the amount of individual inputs into one Tx0 (more inputs = potential for consolidating from multiple sources like KYC and non-KYC but reducing pool fees // fewer inputs = more Tx0's, more fees, potentially better privacy by not consolidating).

"Significantly more" trigger could be 10% more than the total pool size. 70*0.01, 0.77 or more, 0.07 above 0.7

There was no need to use more than a single 0.1 UTXO for pool 0.001 (0.025 total) and the better pool would have been 0.01 with 50 x 0.01 with very little sent to badbank.

Like above, this depends almost alone on the future spending behavior of whirlpooled transactions: if you speculate on a price increase and plan to buy smaller stuff with bitcoin in the future you want smaller denominations. A warning could mislead you about what is best for your use case as it suggests a bad behavior.

Problems: End up with most of their funds in Badbank. Badbank need to be moved back to Deposit to be made available for a 2nd premix.

I haven't tried it yet but isn't it possible to enter into a new mix directly from Badbank? There shouldn't be the need to send to Deposit first?

Considering the above I definitely agree that it could help if the maximum amount of Tx0 per pool is stated in the pool menu. Or/in addition the expected amount going into Badbank. This should be enough help for every user to figure out if the transaction does what he intends it do to - without "lecturing" him.

RequestPrivacy avatar May 13 '22 10:05 RequestPrivacy