Dash, previously called darkcoin, is a cryptocurrency designed specifically for payments. It also has a two-tier network structure. Dash is most notably known for the first implementation of Masternodes.
Dash was built in 2014 by developer and creator Evan Duffield. Duffield forked the bitcoin blockchain with the intention of providing additional features, such as lower transaction fees.
The protocol has two tiers, the first of which is similar to bitcoin and utilizes a proof-of-work consensus mechanism. The second tier uses a proof-of-service (PoSe) consensus mechanism, a type of scoring system used to determine if node operators are providing services in good faith.
Miners power the first layer of the network, enabling the basic sending and receiving of cryptocurrency and preventing double spending. Masternodes power the second tier, which provide the added features described above.
These nodes store a full copy of the ledger, reject improperly formed blocks from miners, facilitate PrivateSend and InstantSend transactions and participate in governance and funding proposals. In order to operate a masternode, 1,000 dash must be collateralized by the owner.
These funds are still movable, but if spent, the associated masternode will go offline and stop receiving rewards of newly generated cryptocurrencies.
Masternodes do not mine and mining computers can’t serve as masternodes. Each block reward is paid out 45% to masternodes, 45% to miners, and 10% to the budget which pays for approved proposal changes.
As of Q4 2018, dash was supported by over 4,800 merchants/services, is available on over 90 exchanges, and claims to settle over 9,300 transactions a day.
How Does DASH Work?
Launch & Issuance
The DASH cryptocurrency was not allocated or sold prior to its software release and did not begin with an ICO.
Dash is a fork of bitcoin and first mined on Jan. 18, 2014. The coin supply of dash has an upper bound of 18.92 million and a lower bound of 17.17 million. The amount created depends on the decision-making of masternode owners, whether they vote for or against budget proposals and governance changes.
The issuance of the newly created tokens are split among PoW miners, PoSe masternodes and budgetary payouts. The block reward is split accordingly: 45% received by miners, 45% by masternodes and 10% to the development budget.
Network Design & Security Model
Each masternode is required to collateralize 1,000 dash, which exponentially increases the difficulty of successfully attacking the network with each additional masternode added to the network.
For example, if the dash network has 4,800 masternodes, to control 50% of the masternode network, they would need to buy 4.8 million dash from the open market. This would be an extremely difficult task because the price of dash would increase significantly during the purchasing process.
The network of masternodes serves to perform sensitive tasks in a trustless way, where no single entity controls the outcome – a difficult task they claim is solved via the implementation of a trustless quorum. This is how the InstantSend feature is able to transact dash in seconds. By selecting N pseudo random masternodes from the total pool to perform the same task, these nodes can act as an oracle, without having the whole network tasked with the work.
To reduce the possibility of bad actors not providing the level of service that is required of the rest of the network, nodes must ping the network to ensure they remain active. In proof-of-service consensus model, all work done to check the network to prove that nodes are active is done by the masternode network itself.
This is done by selecting 2 quorums per block; Quorum A checks the service of Quorum B each block. Quorum A is represented by the closest nodes to the current block hash, alternative to Quorum B being the farthest. Each masternode that is part of Quorum A, checks the work of a counterpart node, which is part of Quorum B. Roughly 1% of the network will be analyzed with each block, resulting in the entire network being checked about six times per day.
In order to keep this system trustless, the nodes are selected randomly via the Quorum system, and in order to deactivate a node the protocol requires a minimum of 6 violations.
Monetary Policy
As of 2018, the block reward was about 3.34 dash, so the selected masternode received 1.67 dash per block or approximately 6 dash per month.
The block reward decreases by 7.14% every 210,240 blocks (about every 383.25 days). Similarly to bitcoin, dash inflates at a decreasing rate until the maximum supply of dash is created. With this emission schedule, after the year 2209 only 14 more dash will be created. The last dash will take 231 years to be generated, starting in 2246 and ending when emission completely stops in 2477.
Proposals for funding development generally begin on Dash Forum, where feedback and suggestions are solicited from the general community. Masternodes vote (yes, no, abstain) in a progression period until a verdict has been discovered. If approved (10% “yes”), budgets are paid directly from the blockchain to developing contractors each superblock.
A superblock pays out the funding proposal; they are issued monthly and have a reward with a greater absolute value than normal provided by the 10% block reward set aside for budgetary payouts. As described above the block reward is split 45% to masternodes, 45% to miners and 10% to budgetary payouts pending masternode approval via voting. The 10% budget is not included in each block, but rather incorporated (or not) in a superblock created roughly every month.
Transaction Processing
Two types of transactions can be carried out with dash: InstantSends and PrivateSends.
In a PrivateSend, dash utilizes an extended version of the CoinJoin, an existing bitcoin implementation that merges transactions. CoinJoins pulls together user transactions to hide the amount being sent by each user, but to de-anonymize one simply needs to add values on the right to the totals of the sent transactions on the left. In addition to CoinJoin, dash claims a series of improvements such as stronger anonymity through transactions of a distinct size, a chaining approach, and passive ahead-of-time mixing.
Passive ahead-ahead-of-time mixing is a means for fungibility. To ensure all units of the currency remain equal, mixing is claimed to be a way to dissociate the exchange history of a specifically received currency. This is done without compromising the ability to act as an auditor to confirm the integrity of the public ledger.
Each PrivateSend session can be thought of as an independent event. A transaction can be formed by multiple parties (at least three) and made out to multiple parties to merge funds that cannot be uncoupled afterward. However, each session is limited to three clients, so an observer has a 1 in 3 chance of being able to follow a transaction. To increase the quality of anonymity provided, a chaining approach is utilized, by which transactions are sent through multiple masternodes, one after another.
By utilizing masternode quorums, users are able to send and receive instant irreversible transactions (InstantSends). Once a quorum has been formed, the inputs of the transaction are locked to only be spendable in a specific transaction — a lock takes about four seconds to be set on the network. The exact transaction ID of the lock must then be matched to carry out an exchange, with all other conflicting transactions rejected thereafter.
Code
Dash is mostly written in Python, C, JavaScript, Shell and HTML.