04
May
20

Dash guide - privacy enabled digital cash

Having covered Monero and ZCash, let’s complete the “Privacy Coin Trifecta,” by introducing you to another fascinating project in the crypto space – Dash. Back in 2010, a programmer named Evan Duffield came across Bitcoin and was extremely impressed by its potential. Why he was enamored with the tech, he realized that there are some serious problems with the protocol’s privacy and scalability.

 

He had several ideas as to how to make Bitcoin more efficient, however, he knew that Bitcoin Core members will never green light these changes. So, on January 18, 2014, he used the Core code and created his own cryptocurrency called Xcoin, which would, later on, be renamed DarkCoin, and then Dash. Duffield has since left Dash, with Ryan Taylor taking over from him as the CEO.

 

Masternodes and Dash

 

Bitcoin and Ethereum networks are P2P networks that consist of several full nodes. The nodes are the lifeblood of these systems, but they are also a big reason why they are so slow. Whenever a new block is discovered, it needs to propagate through the system and be approved by a supermajority of these nodes. As the network grows and the number of nodes grows as well, it leads to a significant increase in the block propagation time.

 

This adds to the already bloated transaction confirmation time.
Dash’s solution to this is the utilization of masternodes.

 

What exactly are Masternodes?

 

Masternodes are like the full nodes in the Bitcoin network, except that they must provide a particular service to the network and MUST have some sort of substantial investment in the system.

 
To run a Masternode, one has to:
 

  • Stake 1000 DASH in the network, which can be obtained from exchanges.
  • A server or VPS running Linux. VPS services, such as Vultr and DigitalOcean are recommended.
  • A dedicated IP address that comes along with the VPS/server.
  •  
    As the Dash whitepaper puts it:
     

    “These nodes are very important to the health of the network. They provide clients with the ability to synchronize and quick propagation of messages throughout the network. We propose adding a secondary network, known as the Dash Masternode network. These nodes will have high availability and provide a required level of service to the network in order to take part in the Masternode Reward Program.”

     

    These Masternodes improve the security of the network and make sure that the transactions are as quick as cash transactions. Since this costs a lot of money and effort, the Masternodes are rewarded by the network for their efforts. A Masternode gets 45% of the total reward received from mining DASH So, suppose 1 DASH coin gets mined by the miners, it will be split in the following manner:

     

  • 45% rewards to the miners
  • 45% rewards to the Masternodes
  • 10% goes towards funding further network improvements
  •  

    Ordering of the Masternodes

     

    Masternodes can be used to take care of important tasks in a fast and trustless way. To emphasize on the speed, one can select N pseudo random Masternodes from the network to perform tasks. These Masternodes can essentially accomplish the task without the whole network having to take part in it. The pseudo random selection is done by utilizing the following algorithm.

     
    for(mastenode in masternodes)
    {
    current_score = masternode.CalculateScore();
    if(current_score > best_score)
    {
    best_score = current_score;
    winning_node = masternode;
    }
    }
    CMasterNode::CalculateScore()
    {
    pow_hash = GetProofOfWorkHash(nBlockHeight); // get the hash of this block
    pow_hash_hash = Hash(pow_hash); //hash the POW hash to increase the entropy
    difference = abs(pow_hash_hash - masternode_vin);
    return difference;
    }

     

    The Masternodes are the heart and soul of Dash. They allow Dash to perform two of its most signature tasks – InstantSend and PrivateSend.

     

    InstantSend

     

    The average transaction confirmation is 2 mins 39 seconds, with a throughput of 56 transactions/second. A big reason why Dash performs so well is because of its InstantSend feature, which allows it to transact fast without doing any double-spending.

     
    For comparison’s sake, let’s look at how transactions in Bitcoin work:
     

  • Alice wants to send 1 BTC to Bob and creates a transaction.
  • Unlike fiat money, which can be exchanged from hand-to-hand, you can’t really do that with digital currency.
  • So, in the context of cryptocurrencies, a transaction is a message to the miners, which states Alice’s intention to go through the transaction with Bob.
  • The miners need to first verify that it was indeed Alice who sent the transaction to Bob.
  • When that is done, the miners validate the transaction by putting it in the blocks that they have mined.
  •  

    Now, as we have said above, miners need to validate these transactions to prevent double-spending. So, the question arises, how does Dash prevent double-spending while providing near-instant transactions?

     
    Let’s go through the steps of the InstantSend:
     

  • Whenever a miner discovers a block in Dash, they send the hash of the block to the network.
  • The hash is then used to select 10 masternodes, who form a quorum which exists for 2.5 mins (i.e. the time taken to form a new block)
  • This selected quorum becomes the InstantSend authority of the Dash Network for that time period. So If Alice and Bob want to utilize InstantSend, then this quorum will be in charge of doing so.
  • The quorum locks up the inputs of the chosen transaction and broadcasts its details. This lock-up and broadcast ensure that double spending can’t happen. So if Alice wants to send the same input to someone else, the network as a whole will reject the transaction as a whole.
  • Alice and Bob will both receive 5 confirmations at least of the transaction within a second to ensure that the transaction goes through.
  •  

    That’s an overview of how Dash manages to send fast transactions without double-spending. This is one of the two pillars of Dash which, as we will eventually see, gives it several use cases.

     

    However, there is something else that Dash brings to the table that definitely deserves a closer look.

     

    PrivateSend

     

    The second thing that Masternodes allow Dash to do is private send. Cryptocurrencies make a big case for the importance of transparency, however, for widespread adoption, people should be given a choice to send private transactions if they want to.

     

    The way Dash does that is by performing PrivateSend, which is an advanced form of CoinJoin.

     

    CoinJoin is an anonymization method proposed by Gregory Maxwell which worked on this simple principle: “When you want to make a payment, find someone else who also wants to make a payment and make a joint payment together.”

     
    This image shows how transactions are being joined with other transactions in order to enable anonymity
    Image Credit: Wikipedia
     

    Look at the image above. Do you see how the joint payment makes sure that a third party can’t relate the input to its corresponding output in one bitcoin transaction? This ensures that transaction flow is not known to anyone. This helps in maintaining fungibility.

     

    How does PrivateSend Operate?

     

    To give you a general overview of how it functions, PrivateSend basically lends privacy to functions by adding multiple identical inputs from multiple users and then sending them to multiple outputs. Since the transaction flow can’t be tracked, the transactions are deemed private.

     
    The Dash Whitepaper states:
     

    “PrivateSend uses the fact that a transaction can be formed by multiple parties and made out to multiple parties to merge funds together in a way where they cannot be uncoupled thereafter. Given that all PrivateSend transactions are set up for users to pay themselves, the system is highly secure against theft, and users coins always remain safe. Currently, to mix using PrivateSend requires at least three participants.”

     

    PrivateSend is limited to 1000 DASH per session. So, if you want to send a huge amount of money, say 4000 DASH, you will need multiple sessions to send your money. PrivateSend ensures the prevention of timing attacks and makes user experience by running passive nodes. Each and every PrivateSend session is also limited to only three clients, meaning there is a 1 in 3 chance of following these transactions.

     

    DASH self-governing and self-funding

     

    As we have said before, 10% of all the rewards go back to Dash and get added to the budget. This budget is used to fund the growth and advancement of the Dash crypto keeping the ecosystem self-sustainable.

    So who decides how to use the budget? Well, the community itself decides democratically. The Dash network participants vote on the various proposals as described on dash.org.

     
    All the current proposals are being tracked here.
     
    This is a screenshot of some of the hottest proposals that the network is presently working on:
     
    The Image shows 8 dash network proposals including sms wallets and further features specifically for venezuela and south america
     

    Everyone in the Dash community gets to have a say and contribute towards future development via voting. By incorporating such self-sustaining, on-chain governance, Dash has created a system that develops continuously on its own.

     

    Dash – Proof-of-Service

     

    Dash has a two-tiered structure. The miners run the first tier where they are in charge of the basic sending and receiving of funds and prevent double-spending. The second tier is powered by Masternodes who provide added features like InstantSend and PrivateSend.

     

    Dash has a two-tiered structure. The miners run the first tier where they are in charge of the basic sending and receiving of funds and prevent double-spending. The second tier is powered by Masternodes who provide added features like InstantSend and PrivateSend.

     

    As you can guess, the Masternodes have a lot of power and influence in the system. To keep them in check, Dash utilizes a special algorithm called “proof-of-service.”

     

    The way the Masternode network goes about this is by selecting 2 quorums per block.

     

    Quorum A checks the service of Quorum B block by block. Regarding the quorums, you need to keep the following points in mind:

     

  • Quorum A are the closest nodes to the current block hash.
  • Quorum B are the furthest nodes from said hash.
  •  

    The nodes are selected randomly via the Quorum system in order to keep the system trustless. Each node is allowed six violations before it is deactivated. So, how can the proof-of-service system be used to catch malicious actors? Let’s take a hypothetical example.

     

    A malicious actor X wants to take over the Dash ecosystem. X needs to be selected six times in a row to take over the system. The only way that X can assure themselves of doing that is by securing more masternodes in the ecosystem. However to do so, X will need to stake 1000 DASH per masternode. Keep this in mind, and check the following table:

     
    One has to own 1,000,000 Dash in order to have a chance of 0.6755% to succeed in a network attack
     

    According to the table above, if you invest a million DASH into the network, and control 1000 masternodes, your probability of success will only be 0.6755%.

     

    Those are some pretty slim odds and essentially makes Dash Sybill proof. Plus, even if you happen to invest a million DASH into the network and take control of a thousand masternodes, you will be essentially spending $83 million (1 DASH = $83).

     

    If someone really does invest $83 million dollars of their money into the system, what would be in their best interests to do?

     

  • Option #1: Try to actively act against the interests of the system, which is going to reduce the value of their stake significantly.
  • Option #2: Do everything possible to help the network to ensure that the value of their stake goes up.
  •  
    Pretty much a no-brainer, isn’t it?
     

    This staking process economically incentivizes you to work in the interest of the network by allowing you to have skin in the game.

     

    Dash Wallets

     
    So, what are some of the options that you have for storing your DASH tokens? Since Dash is so well-known, there are several options for you out there:
     

    #1 Dash Core Wallet

     

    Dash Core is the official Dash wallet. It has been designed specifically to store, send, and receive DASH, and it offers support for both InstantSend and PrivateSend features. It has both desktop and mobile options.
    This isn’t a light wallet, so you’ll have to allocate the appropriate amount of hard drive space and processing power to the wallet. It has a relatively easy setup process and use and also allows you to retain control of your private keys.

     

    #2 Hardware Wallets

     

    Hardware wallets are one of the most convenient and secure wallets in the space. Three of the most popular hardware wallets – Trezor, Ledger, and KeepKey are compatible with DASH.

     

    #3 JAXX

    Jaxx is a well-known mobile wallet that is compatible with both Android and iOS devices.

     

    #4 MyDashWallet

     

    MyDashWallet was developed by DeltaEngine.net and allows you to retain complete control over your private keys at all times. It has the following features:

     

  • It is compatible with TREZOR and Ledger Nano S wallets.
  • Enables you to create a local key store wallet for your Dash.
  • Supports InstantSend and PrivateSend.
  •  

    #5 Dash Paper Wallet

     

    For those who want a long-term, cold storage option, the Dash paper wallet is the best way to go. It’s free and incredibly simple to use. Since this is a completely cold wallet, it does not have any of the extended DASH features, including InstantSend or PrivateSend.

     

    Conclusion

     

    Dash is one of the most well-known projects in the space. Countries like Venezuela, who are suffering from a volatile economy, have embraced Dash for their day-to-day transactions. Do keep an eye out for this project.

     

    disclaimer

    CHAIA.iO is not a registered investment, legal or tax advisor or a broker/dealer. All investment/financial opinions expressed by CHAIA.iO or the authors of the respective articles on www.chaia.io are from personal research and experience of the owner of the site or the authors and are intended as educational material. Although best efforts are made to ensure that all information is accurate and up to date, occasionally unintended errors or misprints may occur. You should take independent financial advice from a professional in connection with, or independently research and verify, any information that you find on our Website and wish to rely upon, whether for the purpose of making an investment decision or otherwise.

    Rajarshi Mitra
    Blockchain Researcher