How does dumplings work? Does every coinjoin added as wasabi needs to be a legit coinjoin transaction done by using zkSNACKs coordinator?
-
1Dumplings is 99% accurate for Wasabi Wallet 1.0 coinjoins according to published research: https://arxiv.org/abs/2109.10229 – nopara73 Apr 07 '22 at 18:16
-
1Dumplings stats are misleading and anyone who reads code or tries below PoC could understand it. – Apr 07 '22 at 21:12
-
1@nopara73: I don't see any indication that this account is a sockpuppet, nor that it has an agenda besides being interested in privacy tech and asking critical questions about it. I'm not familiar with dumplings. Could you please point out what in your eyes is problematic with this question or the answer? – Murch Jul 01 '22 at 11:28
-
1It all started when the cult of Samourai Wallet created BitcoinKPIs.com with proprietary code and faked the Wasabi volumes. We know this, because the numbers are different from the numbers in Dumplings. This is a big problem for them, since Dumplings is open source and by pure chance it happened to also get an independent academic peer review. This Q&A is part of a concerted effort of trying to discredit Dumplings. See the way OP references this question from other SM as a proof of Dumplings being discredited: https://mobile.twitter.com/1440000bytes/status/1512560744134553603 – nopara73 Jul 01 '22 at 13:38
-
I do not work for Samourai, love to research about privacy. In fact recently reported a bug in Samourai. I found issues with Dumplings and anyone can understand it. There is no rocket science. It has some conditions and fake coinjoin can be created based on it. I will keep writing about different things related to privacy. – Jul 01 '22 at 14:12
-
That it's possible to create a transaction that looks like a Wasabi Wallet coinjoin, not mean the analyzer software is wrong. Anyone can create any kinds of transactions in Bitcoin. In contrast, the above linked research says that Dumplings is 99% accurate, which does mean the analyzer software is 99% correct. – nopara73 Jul 01 '22 at 14:23
-
@nopara73: It sounds to me that you suggest /dev/fd0 and 1440000bytes are different individuals. They appear to be the same individual, quoting themselves. (I fail to see another "SM"?) They may have misconstrued something, and I encourage you to continue to point out mistakes in their posts' content when you notice them. Beyond that I fail to see how speculating on their motives helps your argument and how other people doing something else serves as proof thereof. Please focus commentary on the content of posts. – Murch Jul 05 '22 at 00:44
-
@1440000bytes: Reading your answer you could certainly be clearer on what your criticism is. The voting also seems to indicate that people are divided about the content of your Q&A. It seems to me that you think that Dumplings overestimates Wasabi's activity. It does not seem surprising to me that you're able to make a transaction that looks like a Wasabi coinjoin. Please consider nopara73's feedback and whether it warrants an update to your answer. – Murch Jul 05 '22 at 00:44
-
Generally, we expect our users to follow our [Code of Conduct](https://meta.stackexchange.com/conduct), please take a look if you're not familiar.—I've edited some comments to remove offending content imperfectly. – Murch Jul 05 '22 at 00:59
1 Answers
Dumplings scans blocks and tries to find transaction that match certain conditions. It is not necessary all coinjoin transactions added as wasabi in the stats are done by users or using zkSNACKs coordinator. There can be false positives or wash mixing involved in it.
For wasabi, all native segwit transactions that have more than 10 outputs, more inputs than outputs and most frequent equal outputs follow wasabi denominations will be added as wasabi volume in dumplings stats after sync.
This can be confirmed with a proof of concept on signet:
Create a signet wallet
Run
bitcoind/bitcoin-qtwithsignet=1config parameter, create 15 new native segwit addresses and send 0.001 sBTC to each address using signet faucet.Setup dumplings
Clone dumplings from GitHub repository and install .NET Core SDK.
Open
Dumplings/Dumplings/Constants.csand make the following changes:FirstJoinMarketBlock=1 FirstWasabiBlock=1 FirstSamouraiBlock=1 FirstWasabiNoCoordAddressBlock=1 ApproximateWasabiBaseDenomination = Money.Coins(0.001m) WasabiBaseDenominationPrecision = Money.Coins(0.0002m);Run dumplings
bitcoind -signet=1 -txindex=1 -server=1 -rpcport=8332 -rpcuser=user -rpcpassword=password -rpcworkqueue=128 dotnet run -- sync --rpcuser=user --rpcpassword=passwordAfter scanning is finished you will see some transactions in scanner directory. There was no wasabi transaction for me although you will find 1 which was created in the end.
Create fake wasabi coinjoin
You should have 15 inputs in your signet wallet with 0.001 sBTC each. Create 10 new addresses, add as recipient in a new transaction with 0.001 sBTC each. Create 2 more new addresses, use one to add as recipient with 0.0002 sBTC and other as custom change address. All addresses should be native segwit.
Broadcast the transaction:
c4f506516ef68c3b3daf71fda5383978b1dca0a85db436b9e731da3b0aef8f19Check fake wasabi coinjoin in dumplings
dotnet run -- resync --rpcuser=user --rpcpassword=passwordCheck the transaction in explorers that support signet: https://mempool.space/signet/tx/c4f506516ef68c3b3daf71fda5383978b1dca0a85db436b9e731da3b0aef8f19


