We’ve been asked by some of our users about the differences between Dash and Monero, two cryptocurrencies born out of a desire to make cryptocurrency more private and fungible. It should be noted from the onset that Monero on the lone dimension of privacy has greater guarantees than Dash. Monero is private by default where as Dash’s privacy can be characterized as an opt-in service, but we wanted to address this common question from our users nonetheless.
This post will cover Dash much more thoroughly than Monero since we already have a post detailing how Monero achieves privacy for its users. In this blog post I’ll give a brief bio of Dash, its distinguishing feature, describe how Dash’s Private Send works, and finally compare Dash’s Private Send to Monero. For a more in depth overview of Monero, its history, and how it achieves privacy please check out our previous blog on Monero.
Development of Dash was started in 2013 by Evan Duffield, an early Bitcoin adopter who set out to create a cryptocurrency that improved upon Bitcoin’s privacy and fungibility. In January 2014 Duffield announced a new cryptocurrency on BitcoinTalk called Xcoin. Xcoin was quickly renamed to Darkcoin until it was finally renamed in 2015 to its current name, Dash.
The Dash network pioneered a unique governance structure with a two-tiered hierarchy of nodes and an explicit development fund that receives part of the regular block rewards. This is a sharp contrast with Monero which has no hierarchy of special nodes nor a special treasury to fund development.
At the top of the Dash hierarchy are a class of nodes called Master Nodes. Master Nodes serve a number of special functions and are at the center of what makes Dash unique. Master Nodes have a hand in governance of the network and provide services to users such as Instant Send (faster confirmation times) and Private Send which we will discuss later in more detail.
To operate a Master Node, one would have to prove that they own at least 1,000 Dash by signing a special message and broadcasting that to the Dash network in a transparent way. The owner of that 1000 Dash has to lock up those funds as collateral for the right to operate a Master Node. If any of those 1000 Dash move out of the operator’s wallet, the server that was a Master Node will no longer be able to operate as a Master Node.
Why would someone lock up 1000 Dash?
The Dash protocol doles out 45% of the block reward to the Master Node network and allows Master Node operators to vote on proposals related to the development of the network.
As stated before, privacy is not on by default when using the Dash network but is rather a service offered by the Master Nodes. The name Private Send can be misleading to newcomers in that users are not sending any funds privately to other users. Private Send users are instead using a “mixing” service provided by the Master Nodes to obscure the source or origin of their funds from outside parties looking in at the Dash network.
The mixing service provided by the Master Nodes is modeled on an earlier project that many old school Bitcoiners know as CoinJoin. As the word mixing suggests, Dash users using Private Send mix their Dash with other Dash users who also wish to obscure the source of their Dash.
For those not familiar with mixing or CoinJoin imagine you and two other friends each have $20 bills. Let’s assume for the sake of this example each $20 bill is linked in some way to a previous transaction or to each friend’s personal bank account. A fiat “mixing” service would provide a service that would receive the bills from each user ,“mix” those bills, and return each bill to a new owner. If the fiat mixing service does this correctly, it should be very hard for outside observers to know which person owns which particular $20 bill. Each bill has been cleaned of any link to a previous transaction or a certain account.
To give context to how this works, we need to backup a moment. The Dash network like many other cryptocurrencies is transaction based. Standard Dash transactions can be seen by anyone since it is an open, public blockchain. If an outside party knows a particular Dash address they can see all of the transactions that go in and out of that address. Each transaction draws on inputs from a sending address and are spent as outputs, which refer to a receiving address the inputs were sent to. Inputs and outputs can roughly be thought of as the same digital cash with different names. Inputs refer to the digital cash previously owned by the sending address and the outputs refer to the same digital cash now in the control of the receiving address. This inherent link-ability between inputs, outputs, transactions, and addresses poses problems for privacy and fungibility in many blockchain based networks.
Dash’s Private Send attempts to solve this by mixing inputs from different users and dispersing them to those same users in a way that the outputs can no longer can be linked to the original inputs.
How does Private Send work under the hood?
First, a user’s wallet software will break a user’s transaction inputs into standard denominations: 10, 1, 0.1, and 0.01 Dash . Many “inputs” are not in clean, standard denominations and must be broken up into these denominations to mix with other user’s standard denomination inputs. In our earlier example of mixing fiat bills, we need $20 bills to be mixed with $20 bills for this mixing process to work. If the inputs amounts are not identical it becomes much easier for third parties to figure out the relationship between inputs and outputs.
After breaking up the inputs, the user’s wallet software then sends a request to a Master Node to communicate the user’s intention of mixing their inputs.
When two other users signal their intention to mix the same denominations at roughly the same time our hypothetical user does, a mixing session can begin. The Master Node mixes up the inputs and tells all 3 user’s wallet software to create a new address to receive the mixed up inputs they’re entitled to.
The user’s wallet software should repeat this mixing process a few times. Each session makes it exponentially harder to determine where the source of funds of the newly created receiving address came from. After a few mixing sessions, each of the three users will receive their Dash back to that newly created address. Remember that outputs are linked to inputs but when using Private Send the origin of the Dash funds on the new address are obfuscated from outside parties. In other words its very difficult to figure out where the Dash came from on that new address. Thus improving privacy and fungibility.
Dash vs Monero
Unlike Dash, Monero’s privacy features are on by default, meaning there is no other setting or special service to use. It’s private at the protocol layer. Every unit of Monero is fundamentally untraceable and unlinkable to any previous address with no possibility of outside parties seeing transaction histories of those units even if they know specific public addresses. Monero achieves this through the combination of two asymmetric key pairs, ring signatures, stealth addresses, and even hiding transaction amounts which we detailed in a previous blog post. The combination of these technologies provides privacy for the sender, receiver, and the transaction amounts in every Monero transaction. There is no opt out or opt in setting or service. If you wish to understand how this works, please see our previous blog post on Monero.
Dash, in contrast, only mixes inputs upon request by users and relies on the Master Node network’s ability to stay decentralized, relatively private, and provide a competent mixing service.
On the sole dimension of privacy, Monero has the edge. This is to be expected given Monero’s almost exclusive focus on privacy. In practice however, Private Send, although not as robust as a standard Monero transaction, might be good enough privacy for a user. In addition, a user might appreciate the other feature of Instant Send (fast confirmation times) as well as the difference in governance structure Dash provides, i.e. Master Nodes and a dedicated treasury for purposeful development of the Dash network. Monero has no analogous Instant Send and by in large continues the Bitcoin model of governance with a strict reliance on Proof of Work mining with no node hierarchy or explicit development fund.
Governance and the structure of cryptocurrency networks has and will continue to be a huge area of debate and innovation. Dash has been at the cutting edge of this debate since its inception eliciting derision and praise which inevitably happens when doing something different.
Dash in Edge
We support Dash in the Edge Wallet but we do not have support for Private Send at this time. We look forward to working with the Dash developer community to provide support for this feature natively in the Edge Wallet. Users that want to use Private Send today should check out the Dash community’s own wallet which will give users the ability to use Private Send as well as Instant Send.
We do not have a time-table on when these features would or could be added to the Edge Wallet but we’d love to hear from Dash developers who want to help make this happen! All of our repositories are open source and our lines of communication are always open.