Dash is one of the oldest cryptocoins around that is still kicking. Their genesis block was mined on Jan 18 2014, well over 11 years ago as I write this. Originally it was called Xcoin, then Darkcoin and then finally became Dash in 2015. It was one of the first privacy coins and uses privacy tech (a flavor of CoinJoin) that I would now call archaic. But that is going to change.
Improving the privacy features of Dash was not a top priority for many years, but that has changed. The Dash community now wants to improve their privacy tech and I am going to help them. In a perfect world they would be upgrading to latest/best privacy tech, something like Hush or DragonX shielded addresses, but that isn't happening. Dash is getting an iterative privacy improvement and that means the amounts of transactions will become private via the Confidential Transactions (DIP32) Dash Improvement Proposal that I wrote. Final decisions and review are still in progress in that PR. If you want to read the current version as I write this then here you go.
DIP32 will greatly improve their privacy and render deanonymization techniques like this much less effective or possibly useless. That particular deanon technique heavily relies on the fact that the amount of transactions is public and that funds must be broken up into just a few different sizes to use privacy features. That technique will no longer work since public amounts don't exist for Confidential Transactions (CT). CTs use the same tech that Monero uses to hide the amount of transactions. These are called "Bulletproofs" and yes they are actually a type of zero knowledge mathematics. Dash is getting a "dash" of zk goodness in their protocol.
If you know me then you know that I have worked on a lot of different cryptocoins. Since I have contributed to Bitcoin Core, Zcash and many other coins directly, which then get forked by many other projects, I likely have some code in most source code forks of Bitcoin. If you only want to count direct contributions, it's likely in the dozens of coins. I stopped keeping track long ago. My main focus continues to be writing extremely private tech for Hush+DragonX, but they are so damn private already that getting new privacy gains in them is actually quite hard. Just about everything in the protocol is private already. Addresses, amounts and even our p2p layer is encrypted, with no optionality. There is no other choice but privacy.
Hush+DragonX and other HACs yet to be born are niche communities that focus on privacy before adoption. You can consider them "research and development" coins, where bleeding edge privacy tech is embraced above all else. This is where I prefer to work, but there is a world of cryptocoins that prefer the route of adoption first, privacy second. These are not mutually exclusive. Bleeding edge privacy tech can flow from the former to the latter.
A previous version of myself may have turned down the offer to help Dash add more privacy. That version of me wanted to explore how to optimize privacy above all else. I had a hand in helping to create Pirate, the first Zcash Protocol coin to disable transparent transactions. I did the same by turning off of transparent addresses on Hush (z2z), requiring TLS encryption of the p2p layer, fixing Zcash protocol metadata leakage about outputs via Sietch and making it harder for network spies with Hawkweed. When DragonX launched it inherited all that extreme privacy along with RandomX CPU mining, the same mining algorithm as Monero. I am proud of all these accomplishments and also, I look at the greater cryptocoin world full of trashfire surveillance coins and I ask myself "What else can I do to help the typical user get more privacy?"
It is clear to me now that the answer to that is "Help other coins add privacy features" which is why I agreed to help Dash. My focus is still on Hush/DragonX/HACs but what I see is the potential to help a much larger group of people improve their privacy by helping other coins, which have much larger adoption but less privacy. That is a win for everybody, since more people get more privacy.
Currently DIP32 focuses on hiding amounts via Confidential Transactions but I hope that the Dash community would also like to adopt other privacy features from Hush, such as Sietch, Hawkweed and others that I will be writing about in the near future.
That is the end of our regularly scheduled high level description for non-devs. If you yearn for more technical details, keep on reading.
DIP32 is adding a new address type (confidential addresses) with a new address encoding format (bech32m, like modern Bitcoin segwit addresses) and what can be considered a new "pool" of funds that will live in confidential addresses. A confidential address is currently planned to look something like this:
Dash1zqwumnhm5u2d5re9hk5mts8fs2kr8zjm5q4pw72h4pqm09yghunvy3z34rvxs0qduyd02v8hag77shanjag60ygcaax2g
If you are familiar with Bitcoin/Zcash/Monero addresses you will notice this is much longer than a typical Bitcoin address and is closer in size to Zcash/Monero addresses. This is because there is more data stored in the address which helps make confidential transactions possible. Bech32m address format is currently planned to be used which will make QR codes smaller because the address will be case insensitive. Unlike Zcash+Monero, Confidential Transactions will still use the same elliptic curve as Bitcoin and can share a lot of the low-level code that does elliptic curve stuff via libsecp256k1.
Confidential funds are very similar to funds that live in shielded addresses in Zcash/Hush/DragonX, except shielded addresses are not public blockchain data while confidential addresses are public. Funds will be able to go back and forth between the transparent pool and the confidential pool (unlike in Hush+DragonX) but there will be certain consensus rules to reduce metadata leakage. For instance, if you could send 1 DASH from a transparent address into a single confidential UTXO (CUTXO), then anybody can tell that the CUTXO has an amount of 1 DASH. To avoid that and make blockchain analysis much harder we require there be either zero or at least two confidential outputs in a transaction. If Dash decides to require even more than two, then that becomes a Sietch-like privacy feature that will also hide how many participants are receiving funds. That is currently not part of DIP32 but could be.
What this accomplishes is that the amount going into a CUTXO is no longer public blockchain data, all you can say is that it is within a certain range. That is much less useful information and makes blockchain analysis much more computationally intensive. When that CUTXO is then spent and received in "pure" CTs (transactions from one confidential address to another) it becomes very hard to "follow the money" because you can't tell the difference between a large amount, dust or even an amount=0 output. They all look the same.
-- Duke
June 7, 2025