Dash is overhauling and streamlining its confidentiality features.
Recently, the Dash DAO voted on a governance proposal to evolve the way it keeps user payments confidential and safe. The first step is adding Confidential Transactions (CT) support, which will enable a number of different optimizations.
Background
Since its launch in 2014, Dash has been committed to building on the initial promise made by Bitcoin of permissionless digital cash. One of the first improvements was a CoinJoin feature implemented at the protocol level. By enabling this feature, the transaction graph (path between sender and recipient) is essentially broken, letting users transact in confidence without fearing that their private financial information could be revealed to those they do business with.
Dash’s CoinJoin feature has been continuously streamlined over the years and is supported in all dedicated wallets. However, as technology in the space advances and user needs evolve, we are bringing our features into the modern era with a significant overhaul that will make them more effective, streamlined, flexible, and user-friendly.
The New Piece: Confidential Transactions
Dash will add support for Confidential Transactions (CT) in the near future following a DAO vote to pursue this upgrade.
In a nutshell, CT hides transaction amounts and address balances, so while you can see where a transaction goes and comes from, only the sender and recipient know how much it was for. If adopted as a standard default for wallets, regular users can transact immediately and seamlessly without worrying that the amount of money they have or paid for a good or service will be revealed, while still keeping a transparent record of their payments on the blockchain for accounting purposes.
CT is well-tested cryptography that’s a function of many modern privacy solutions, and notably has been embraced recently by major projects outside of the explicit privacy space, including Solana, PayPal, and Circle. CT is fast becoming a standard of confidentiality that even the most regulated elements of the space recognize is a base minimum in order to transact with confidence.
What CT Enables
In addition to enhancing regular user privacy by hiding transaction amounts and balances, CT is also a first step that will enable a lot of further improvements. Namely, it can significantly overhaul Dash’s CoinJoin function.
By hiding amounts, CoinJoin can be streamlined by orders of magnitude. Right now, funds are broken up into specific denominations, and each denomination is mixed anywhere from 4 to about 16 times. This makes transactions very difficult to trace, but does add some time and complexity to the process. But with CT, amounts are hidden, meaning you don’t need to break a balance into dozens of denominations or mix more than a few rounds. This makes the mixing background process take seconds rather than minutes, reducing the likelihood that the user even notices it at all.
Hiding amounts also removes a major analytics data point even when not all users mix. Under the old setup with only transparent addresses, if a user mixes a specific amount and sends it to someone else, that amount may show up in future transactions, enabling linkage if future recipients don’t take care of their privacy. But with CT, that data point is gone, meaning that even if future recipients aren’t as careful with their privacy, there’s significantly less to go on.
In short, CT provides a robust default standard for helping all Dash users keep their sensitive financial information confidential while unlocking new tools for advanced privacy users.
Looking Forward
While CT is a first step enabling major improvements to Dash’s confidential payments, there are other relatively simple additional steps we can take to further advance its effectiveness.
First, we can implement Sietch, an advancement pioneered by Hush. In a nutshell, Sietch sends out a few extra zero-amount outputs in every transaction, making it look like every payment is a multi-party payment. This was originally designed to close one of the last holes in zero-knowledge cryptocurrencies like Zcash, and while it makes no sense to implement in fully-transparent blockchains (anyone could see which of the outputs didn’t actually send any coins), with CT outputs with coins and outputs without them are indistinguishable. Notably, Sietch can be implemented at the wallet level rather than the protocol level, and as such doesn’t need any codebase changes to Dash.
Wallets that implement Sietch and CT can give Dash users a good degree of instant transactional privacy by default, without implementing any interactive features like CoinJoin. However, when combining Sietch with CT and CoinJoin, we get a very powerful privacy solution where amounts are hidden, the transaction graph is broken both before and during a transaction, and multi-party payments are indistinguishable from single-party payments. This gives Dash users a wide spectrum of powerful features to achieve their desired level of confidentiality in payments, all while maintaining a transparent blockchain where a transaction’s origin and destination address can always be proven.
Another potential improvement would be advancing network-level privacy to prevent malicious nodes from snooping on transactions. One such improvement is the Hawkweed Protocol, which essentially makes it as hard as possible for these network spies to know which node created a given transaction.
Next Steps
The immediate next steps are to build CT support into the Dash protocol. After that, we will add CT support into our own dedicated wallets and services, followed by streamlining CoinJoin to work with CT. After that, we will seek out as many third-party wallets and services in the greater Dash ecosystem as we can to implement CT to give our users the best possible experience.
A new era is upon us. Dash is staying true to its roots as the most efficient, user-friendly, well-engineered confidential digital cash in existence. Join us in bringing it to the masses.