Last Updated: 1st November 2018
Dash is a peer-to-peer digital currency that was created by Evan Duffield. The Dash currency is based on Satoshi Nakamoto’s work Bitcoin, however, the coin possesses functionalities that are intended to be improvements upon Bitcoin’s existing model. These functionalities can be separated into the following:
- Decentralized Governance by Blockchain (DGBB)
The functioning of peer-to-peer networks such as Bitcoin and Dash rely heavily on the operation of node participants (full nodes). These nodes are vital to these decentralized ecosystems, because they verify that transactions and blocks on the network are correctly formed. It is argued that, as Bitcoin continues to grow, the number of individuals running a full node on the network will decrease, because as the network is used more, costs associated with bandwidth will also see an increase. This predicted drop off is attributed to the fact that nodes on the Bitcoin network are not economically incentivized to continue operating. Masternodes are intended to be a solution to this problem. Just like the Bitcoin network, masternodes are full nodes, however, a differentiating feature is that individuals are rewarded for operating these masternodes.
Operating a masternode requires a collateral of 1,000DASH. This serves as a disincentive for operators to engage in malicious activity that could harm the network. It also ensures that no single individual can control the network of masternodes, due to the financial barrier of doing so. 45% of block rewards are allocated to paying masternodes for maintaining the network. Responsibilities of a masternode include:
- Facilitating the PrivateSend feature
- Facilitating the InstantSend feature
- Governance (DGBB)
- Facilitating Dash Evolution (currently unreleased)
Arguably, one limitation of Bitcoin in its current form is that it provides inadequate user privacy protection. Transactional activity between parties on the Bitcoin blockchain is more pseudonymous than it is private. Currently with Bitcoin, user identity is obscured by public addresses. However, if one is able to link a public Bitcoin address to an individual, then it is possible to track the movement of funds flowing in and out of that Bitcoin address. At this point, one is effectively able to determine this individual’s transactional habits. Dash aims to improve upon Bitcoin’s lack of strong user privacy protection by use of its PrivateSend feature.
Dash’s PrivateSend feature is an improved version of CoinJoin. CoinJoin is an anonymization method for transactions that was first proposed by Gregory Maxwell. CoinJoin increases user privacy by combining multiple payments from multiple spenders into one unified transaction, which then makes it more difficult for third parties to accurately determine which spender paid which recipient. Gregory Maxwell described the core functionality of CoinJoin in the following way:
‘When you want to make a payment, find someone else who also wants to make a payment and make a joint payment together’
The PrivateSend feature takes this core mixing function that is offered by CoinJoin and innovates upon it in the following way:
- Chaining Approach
Denominations and Chaining Approach
In order to improve user privacy on the network, user transaction inputs are broken down into the following common denominations: 0.01DASH, 0.1DASH, 1DASH and 10DASH. The process of mixing user transaction inputs on the network is known as a mixing session or round. The chaining approach describes the process of conducting multiple mixing sessions, that serves to further increase user anonymity each time. Each mixing session is limited to three users, so an outside third party has a one in three chance of being able to follow a transaction. It is also important to note that the PrivateSend mixing sessions are limited to 1,000DASH per session, and would require multiple mixing sessions to thoroughly anonymize such a large amount of money.
Example of the operation of Dash’s PrivateSend feature:
1. PrivateSend function breaks down a user’s transaction input into discrete standard denominations, with these denominations being: 0.01 DASH, 0.1 DASH, 1 DASH, and 10 DASH.
2. User’s Dash wallet initiates a request to a masternode, so that it is made aware that a user would like to mix a certain denomination of Dash coins.
3. Masternode broadcasts a message to the network indicating that is ready to mix a denomination, and that there is a user waiting.
4. Two other individuals, who also wish to mix the same denomination of Dash coins, connect to the masternode that is hosting the other user’s transaction.
5. Mixing session commences. Within the mixing session, the masternode mixes up the inputs, and instructs all three users’ wallets to pay the now-mixed input back to themselves.
6. A user’s wallet repeats this mixing session multiple times in order to fully anonymize the funds.
(Note: funds involved in the mixing process never leaves a user’s wallet, ensuring that the entire process can remain trustless and secure)
InstantSend and Transaction Locking
This feature of the protocol is designed to enable for instantaneous transactions to be made on the network. In current cryptocurrency systems such as Bitcoin, individuals must wait for a certain period of time before enough blocks can be formed in order to consider a transaction as confirmed with no double-spends. However, the limitation with this is that it makes utilizing these cryptourrencies in a day-to-day manner a much slower affair, because the merchant must wait for a certain amount of block confirmations before they can process a transaction. For example, in the case of the Bitcoin network, it takes an average of 10 minutes for a block confirmation. The InstantSend function comprises of a transaction locking element that is designed to overcome this problem.
Transaction locking is a mechanism that is designed to improve the manner with which double-spending is being dealt with in existing cryptocurrency systems, which in turn is intended to result in faster transaction times. With transaction locking, the intention to lock funds from a specific input to a specific output is communicated to the entire network. This is accomplished by sending a message that consists of the transaction, and the accompanying lock command. Once this message is broadcasted to the rest of the network, masternodes will form consensus as to the validity of the transaction lock. If consensus is reached, then another message is propagated to the rest of the network, indicating that all clients should respect the lock on the funds. Also, all conflicting transactions or conflicting blocks are rejected thereafter, unless they match the transaction ID of the lock in place. By giving masternodes greater authority with regard to InstantSend transactions, double-spend protection can be guaranteed in a manner that does not result in high transaction times.
Decentralized Governance by Blockchain (DGBB) and Funding
The rationale behind Dash’s DGBB is to tackle governance and funding, two issues that face numerous cryptocurrency projects in this ecosystem. Traditional notions of centralized governance is in conflict with the decentralized ideology upon which this ecosystem is built. Yet, decentralized governance is also an extremely difficult concept because a central decision maker does not exist. With DGBB, decisions on governance are taken by masternodes on the network.
The DGBB also serves as a means for the Dash network to fund its own developments. Dash does this by apportioning 10% of every block reward to fund budget proposals. The DGBB self-funding model is comprised of three important components: Proposals, Votes, and Budgets. Under the model:
- Anyone can submit a proposal (for a small fee).
- Masternode operators can cast the following for proposals: Yes, No, Abstain.
- Approved proposals are budgeted for.
- Successfully approved proposal owners get paid directly from the Dash blockchain.
Poposals that receive a net approval of at least 10% of masternodes on the network will receive funding.