Bitcoin Forum
May 02, 2024, 03:16:10 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Whirlpool surge cycles (Samourai/Sparrow)  (Read 508 times)
o_e_l_e_o (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18509


View Profile
September 30, 2023, 11:06:30 AM
Merited by vv181 (1)
 #21

So that is what the Sparrow's Premix Fee Rate is supposed to do, right? Things that make the postmix-ed UTXOs able to be remixed repeatedly and the coinjoin that has more than 5-input-5-output is come from that premix fee, if the current pool participant/condition has a low fee that would reduce the number of inputs and postmix remix rounds availability. Am I understand it correctly?
Each Whirlpool coinjoin has two inputs which are brand new entries to the pool, and these are the two that pay that transaction fee for the coinjoin. In a 5-input-5-output coinjoin, then 3 UTXOs will be free remixes. In an 8-and-8 coinjoin, then it will be 6 UTXOs which will be free remixes. So yeah, if there is a majority of 5-and-5 coinjoins, then the relative speed of free remixes will be slower than if there was a majority of 8-and-8, for example.

Having said that, I don't know if it is these new larger coinjoins, if it is more and more people using Whirlpool, if it is just my own bias, or some combination of all of these, but I am getting more free remixes more quickly these days than I did, say, a year ago.
1714662970
Hero Member
*
Offline Offline

Posts: 1714662970

View Profile Personal Message (Offline)

Ignore
1714662970
Reply with quote  #2

1714662970
Report to moderator
1714662970
Hero Member
*
Offline Offline

Posts: 1714662970

View Profile Personal Message (Offline)

Ignore
1714662970
Reply with quote  #2

1714662970
Report to moderator
1714662970
Hero Member
*
Offline Offline

Posts: 1714662970

View Profile Personal Message (Offline)

Ignore
1714662970
Reply with quote  #2

1714662970
Report to moderator
Bitcoin mining is now a specialized and very risky industry, just like gold mining. Amateur miners are unlikely to make much money, and may even lose money. Bitcoin is much more than just mining, though!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714662970
Hero Member
*
Offline Offline

Posts: 1714662970

View Profile Personal Message (Offline)

Ignore
1714662970
Reply with quote  #2

1714662970
Report to moderator
1714662970
Hero Member
*
Offline Offline

Posts: 1714662970

View Profile Personal Message (Offline)

Ignore
1714662970
Reply with quote  #2

1714662970
Report to moderator
vv181
Legendary
*
Offline Offline

Activity: 1932
Merit: 1273


View Profile
September 30, 2023, 01:00:57 PM
 #22

So that is what the Sparrow's Premix Fee Rate is supposed to do, right? Things that make the postmix-ed UTXOs able to be remixed repeatedly and the coinjoin that has more than 5-input-5-output is come from that premix fee, if the current pool participant/condition has a low fee that would reduce the number of inputs and postmix remix rounds availability. Am I understand it correctly?
Each Whirlpool coinjoin has two inputs which are brand new entries to the pool, and these are the two that pay that transaction fee for the coinjoin. In a 5-input-5-output coinjoin, then 3 UTXOs will be free remixes. In an 8-and-8 coinjoin, then it will be 6 UTXOs which will be free remixes. So yeah, if there is a majority of 5-and-5 coinjoins, then the relative speed of free remixes will be slower than if there was a majority of 8-and-8, for example.

Having said that, I don't know if it is these new larger coinjoins, if it is more and more people using Whirlpool, if it is just my own bias, or some combination of all of these, but I am getting more free remixes more quickly these days than I did, say, a year ago.

All right, so what the Sparrow's Premix Fee Rate do is to set 2 things. First, to set the Tx0 miner fee, and second, for the miner fee contribution (premixer, the one who pays the fee of the coinjoin tx).

Things started to get clear after I read your explanation and Introducing Whirlpool Surge Cycles.

   2 x Premixer UTXOs from separate wallets*
    3 x Remixing UTXOs from separate wallets

Premixers are new entrants into Whirlpool, and are those who cover the miner fee for the CoinJoin transaction. Remixers are those who have already entered Whirlpool, completed their first mix already, and are now “freeriding” to obtain more mixes.

So in the event that the on-chain fees dropped while the user had broadcasted/initiated the transaction with some set of Cycle Priority(miner fee contribution). Whirlpool coordinator adjusts/make-use-of the, if there are any, excess transaction fees by adding up more input/output. With a minimum of 5-inputs/5-outputs and a maximum of 8-inputs/8-outputs.

Anyway, the reason I am trying to figure out is that I recently made my first coinjoin transaction and barely know about Coinjoin at all, and the result was unexpected since it cost some hidden fees, like other experienced. I thought the unadjustable premix fee rate was the culprit since it only able spent 5 times of the mempool fee rate. Turns out, it's just how it works. I also didn't consider the miner fees. Reading up all about that I also found a site to help calculate detailed Whirlpool fees: https://bitcoiner.guide/wpfees/. So yeah that's about it.  
o_e_l_e_o (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18509


View Profile
September 30, 2023, 01:28:20 PM
 #23

All right, so what the Sparrow's Premix Fee Rate do is to set 2 things. First, to set the Tx0 miner fee, and second, for the miner fee contribution (premixer, the one who pays the fee of the coinjoin tx).
Correct. Although note there are not two separate sliders as the GitHub post you linked. Rather, there is one slider, which affects both Tx0 and the premix UTXOs: https://github.com/sparrowwallet/sparrow/issues/895#issuecomment-1477389172

So in the event that the on-chain fees dropped while the user had broadcasted/initiated the transaction with some set of Cycle Priority(miner fee contribution). Whirlpool coordinator adjusts/make-use-of the, if there are any, excess transaction fees by adding up more input/output. With a minimum of 5-inputs/5-outputs and a maximum of 8-inputs/8-outputs.
Also correct.

Reading up all about that I also found a site to help calculate detailed Whirlpool fees: https://bitcoiner.guide/wpfees/. So yeah that's about it.
Yes. There are three fees you need to consider altogether. The first is the fee to Whirlpool itself, which is a flat fee depending on the pool you are joining. This fee is dependent only on the pool you join and does not change with the amount you are coinjoining, so becomes cheaper overall if you coinjoin more in one go. The second fee is the network fee for Tx0, which splits your initial input(s) in to the necessary size to join the pool in question. The more premix inputs you create the larger and more expensive Tx0 will be, but it will still be much cheaper to create one Tx0 creating 20 premix inputs than it would be to create four Tx0s creating 5 premix inputs each. And then the last fee is the additional amount attached to each premix input to pay for its first mix. This is the only one that doesn't get cheaper the more you coinjoin, and will scale linearly with the number of premix inputs you create, as each one needs to pay for its first coinjoin.

But then of course once you've done all that, you get unlimited free remixes.
Kruw
Member
**
Offline Offline

Activity: 378
Merit: 95

assumevalid=0 and mempoolfullrbf=1


View Profile WWW
September 30, 2023, 04:59:57 PM
Last edit: October 01, 2023, 06:41:40 PM by Kruw
Merited by nopara73 (10)
 #24

Instead of enrolling three post-mix inputs as usual the coordinator will now enroll additional post-mix inputs. This makes the coinjoin transactions larger and therefore even harder to break

Why don't they create rounds larger than 5-8 inputs?  zkSNACKs' coordinator creates coinjoins with 150-400 inputs, which provides much greater anonymity per transaction.

These two new inputs are created from an initial transaction called Tx0 which splits the amount of be coinjoined in to the needed denominations to join the chosen pool, along with a few extra sats in to each input to pay the fee for that first coinjoin transaction.

This is an enormous waste of block space and less private compared to skipping tx0 and creating your equal sized denominations directly from the coinjoin transaction itself (like JoinMarket's coinjoins and Wasabi 1.0's ZeroLink implementation).

btw, is there a statistic showing how many coin-join tx whirlpool is running per day? Just curious to see how popular their service has become.

The count of coinjoin transactions is not a good way to measure its popularity since some coinjoin transactions can have more or less inputs/outputs than others and more or less value mixed.  For example, users of the WabiSabi coinjoin protocol mix 3x as much new BTC and remix >10x total BTC compared to Whirlpool despite creating 1/6 of the amount of coinjoin transactions.  This is preferred since it is far more private and block space efficient to create larger sized coinjoins than smaller sized coinjoins.

Regardless of which one you choose, I would spend some time reading about that specific implementation works, how it handles things like toxic change, and the steps you need to take to not mess up and negate the privacy it provides.

Nice dashboard, bookmarked! I might be wrong, but I suppose you're an avid user of coin-join usage. What would be the best method that one could apply to run a coin-join? I suppose using Sparrow Wallet would be the best bet?

Wasabi Wallet, BTCPay Server, or Trezor are your best choices since they support the WabiSabi coinjoin protocol and are prepackaged with Tor enabled by default. Like o_e_l_e_o mentioned, you need to be aware of how toxic change works.  Whirlpool coinjoins create toxic change that can be tracked when it is spent in a future transaction.  WabiSabi coinjoins eliminate toxic change by decomposing your input value into various sized denominations.  Additionally, Whirlpool exposes common input ownership from coins you use in tx0 transactions.  WabiSabi coinjoins also prevent common input ownership association, allowing multiple inputs to be registered privately by a user into a single round.

In terms of privacy to an outside observer, then at the moment it depends on how you use them, but in the future I would say Whirlwind will provide better privacy than Whirlpool. If you coinjoin on Whirlpool, then your privacy is dependent on how many times you let the coins be mixed before you spend them. Assuming 5-input and 5-output coinjoins, then after one mix your backwards looking anonymity set is a maximum of 5. After two mixes, a maximum of 25. After three mixes, a maximum of 125. And so on. I say maximum, because if other people in the coinjoin do something stupid and deanonymize their coins, than that lowers your anonymity set. If you leave your coins in Whirlpool for months and months and end up with 10+ remixes then that's a very good anonymity set, but if you just let them be coinjoined once or twice before you spend them then that's not a very good anonymity set. This same principle applies to any coinjoin implementation. Whirlwind, on the other hand, currently has an anonymity set of 414 as long as you don't deposit huge amounts, and this is only going to grow. In the future, you will be able to get an anonymity set with Whirlwind of 10,000 or more.

Whirlwind scammed their users, what makes you think they didn't also sell their data?

Whirlwind tries to minimize the consequences of this by dividing custody into multiple trustworthy forum members, but it doesn't eliminate it completely, and it's yet to implement this shared custody.

Whirlwind scammed their users, there's no excuse to give up custody of your funds or data.

No, the coins remain under your control in either Samourai (mobile) or Sparrow (desktop), but with the obvious risk that these are hot wallets.

The WabiSabi coinjoin protocol allows you to coinjoin from a hardware wallet.  Trezor already supports this.

The first is the fee to Whirlpool itself, which is a flat fee depending on the pool you are joining.

The flat pool entry fee structure is designed to incentivize worst privacy practices.  Since fees are not collected directly based on volume, it is cheaper to participate in a smaller pool and create more outputs than participate in a larger pool and create less outputs. Additionally, it incentivizes revealing common inputs ownership of premix UTXOs since it is cheaper to consolidate them to enter the pool once than to enter the pool with each UTXO individually.  Samourai has never explained why they purposely chose a fee structure that heavily penalizes the most private usage of their protocol.

Because of this backwards design, you can easily link premix inputs to postmix outputs in many cases.  Notice how this Whirlpool tx0 premix creates 70 outputs for 0.05 BTC - https://mempool.space/tx/63679c9ec82f246811acbab0c04cc0fc77ba050e1b6c23661d78afcfc13cf8aa

Notice how every single input of this Whirlpool exit transaction is a direct descendant of rounds created by the aforementioned premix transaction: https://mempool.space/tx/ce2f84f7c5ff74fb1da103acb7b279bd34f02f5e9e3a2e1b6417ce8b9b7392db

When many inputs used in the postmix exit transaction are created directly from a round that the premix transaction entered, it makes it trivial to trace the user through Whirlpool.  Fortunately, the user abandoned Whirlpool and upgraded to using the WabiSabi coinjoin protocol instead, which made him completely untraceable: https://mempool.space/address/bc1qjjw5gaglkycu2lm5fskl7qhktk0hec4a5me3da

You can use Bitcoin privately without giving up custody: https://mempool.space/tx/d465033214fd2309dcce5a90c45fcaa788aa4394ee36debe07aad8d8a37907d2
^ Participate in coinjoin transactions like this with Wasabi Wallet ^
Nostr: npub1pww7030g95nv9ptfpgfu69jpfxj6pm33xxueztsupwekce45wx4sm6en60
Kruw
Member
**
Offline Offline

Activity: 378
Merit: 95

assumevalid=0 and mempoolfullrbf=1


View Profile WWW
September 30, 2023, 07:44:23 PM
 #25

I think you have made everyone understand here and I also tried to understand and succeeded. Now I want to research and know more about this. Thank you very much. I learned something new here.

A good place to start is https://www.coinjoins.org/ - It's an open source project documenting comparisons of protocols and their clients.

You can use Bitcoin privately without giving up custody: https://mempool.space/tx/d465033214fd2309dcce5a90c45fcaa788aa4394ee36debe07aad8d8a37907d2
^ Participate in coinjoin transactions like this with Wasabi Wallet ^
Nostr: npub1pww7030g95nv9ptfpgfu69jpfxj6pm33xxueztsupwekce45wx4sm6en60
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!