Dash: A Governance and Privacy Coin That’s Surprisingly Easy To Use

Andreas Brekken
Shitcoin.com
Published in
15 min readOct 13, 2017

Dash is a governance coin previously known as DarkCoin. Its followers include Max Keiser and are so hardcore that many dismiss Dash as a pyramid scheme. But did anyone actually try using Dash? Andreas finds out.

Today I’m reviewing Dash, a governance/privacy focused coin. Dash forked off from Bitcoin with the name DarkCoin and later re-branded to Dash.

TL;DR: Dash is easy to use and has exciting governance/privacy features.

The Dash (DarkCoin) project launched January 2014 and was mostly ignored until the Bitcoin civil war made investors look to governance coins.

The DASH token has a market cap of $2.2 billion (1 DASH = $300). It processes around 5,000 transactions per day.

I usually write these reviews on the weekend. This one is different. The goals are many and time consuming. It took weeks to complete the review. Enjoy!

Max Keiser has been a Dash supporter for some time.

You can skip to the end of this 2,100 word review by searching this page for the word conclusion.

EDIT: Some HackerNews readers think gifs are used excessively. To remove them, type this in the browser console: document.querySelectorAll(‘img[src$=”gif”]’).forEach(_ => _.parentNode.parentNode.remove())

Goals for the Review

  1. Compile and install Dash from source-code
  2. Download the Dash blockchain
  3. Buy DASH and send it to my node
  4. Install a mobile Dash wallet
  5. Send DASH to the mobile wallet
  6. Buy a product or service with DASH
  7. BONUS: Become a masternode
  8. BONUS: Vote with the masternode for a proposal
  9. BONUS: Create a proposal using the masternode

The Dash Landing Page

The Dash landing page has stock photos of business people and uses a “business blue” color. 😓

The Shake debit card looks interesting. It probably has low limits and high fees like all other cryptocurrency debit cards. Maybe I’ll look at it later. Or just go straight for the Misconduct Wine.

Compiling and installing Dash from source-code

I scroll to the bottom and find a link to the Github page.

That is one of the busiest footers I’ve ever seen. I also see a link to “Masternode”. I’ll look at that later.

The Dash Github Project

I notice a few things here. There are 13,337 commits. This reads as “elite” in leetspeak. I wonder if it’s a joke or accident.

The last commit to Dash was April 5th. That’s 172 days ago. I’ll see if there are other branches with more recent changes.

I look at the v0.12.2.x branch.

The Dash v0.12.2.x branch was changed only 4 hours ago! The Dash project must be actively developed.

Downloading the Dash node source-code

I go back to the master (latest stable) branch on Github and look for instructions.

I don’t see any install instructions in the README. I’ll look in the INSTALL file.

The INSTALL file asks me to look in the doc folder.

I check out build-unix.md.

Easy enough. I’ll use Amazon AWS to create a cloud computer.

I pick Ubuntu 16.04 as the operating system.

I choose a computer with 2 CPU cores and 8 GB ram. This will make compiling Dash from source-code and syncing the Dash blockchain fast.

My Linux machine is running. I go back to the Dash GitHub page to find a download link.

I copy the link and clone the project using git.

I realize I forgot to install the dependencies. I’ll do that now.

The dependencies install without any problems. 👍 Next I’ll build the Dash node binaries.

cd dash
./autogen.sh
./configure
make
make install

Building the Dash node from source-code takes around 20 minutes.

OBJECTIVE 1 SUCCESS!

Compile and install Dash from source-code

I start the Dash node.

The Dash node is downloading the blockchain. I’ll go have lunch. 🍔

The Dash blockchain is downloaded.

OBJECTIVE 2 SUCCESS!

Download the Dash blockchain

Buying DASH Tokens

To buy DASH tokens I need a wallet address. I’ll find one with terminal.

I forgot to set the RPC username and password in the Dash config.

Much better. I can now see my Dash address.

I use ShapeShift to buy a small amount of DASH like in my Monero review.

I check if the DASH has arrived…

OBJECTIVE 3 SUCCESS!

Buy DASH and send it to my node

Installing a mobile Dash wallet

The Dash website lists a few different Android wallets.

Dash Wallet by Hash Engineering has the most features listed. Jaxx is more generic and used mostly for Ethereum tokens.

The product id of the Dash Wallet in the Google Play Store still references the previous name, darkcoin.

I’ll have a look at the Dash Wallet’s GitHub while waiting for it to install on my phone.

Dash Wallet is written in a combination of Java, C, and C++. I’m not familiar with Android development. Perhaps this combination is normal.

The Dash Wallet source-code was last updated two weeks ago. I won’t look further at the code in this review.

After a few seconds the Dash Wallet is synced. This is normal for SPV wallets.

OBJECTIVE 4 SUCCESS!

Install a mobile Dash wallet

Next I’ll send DASH from my node to the mobile wallet. I open the address book to find my Dash receiving address.

Back in my Dash node I look through the dash-cli help command list and notice a command called instantsendtoaddress.

Instant Send uses masternodes to prevent double spending. I haven’t read too far into the details.

OBJECTIVE 5 SUCCESS!

Send DASH to the mobile wallet

Buying something with DASH

I only have $30 left in my mobile Dash wallet. Stickers it is!

I find a Dash sticker, add it to the shopping cart, and check out.

The checkout is done using a service called CoinPayments which offers payment with a number of alt-coins.

I scan the QR code with my mobile Dash wallet.

The amount was not filled from scanning the QR code. I enter it manually.

The DASH is sent. I check back on the website.

OBJECTIVE 6 SUCCESS!

Buy a product or service with DASH

I’ve started watching the new Star Trek: Discovery recently. You should check it out!

Becoming a Dash Masternode

Dash has a different incentive system than Bitcoin. Block rewards are split:

  • 45% to miners (proof-of-work)
  • 45% to masternodes (proof-of-stake-ish)
  • 10% to Dash budget proposals

Running a Dash masternode requires having 1,000 DASH and keeping them in one address. Masternodes are used for instant/private transactions and governance. I haven’t read much about instant/private send.

To buy the 1,000 DASH I wrote a program called kraken-minimal-trader. The trader program has a very basic recipe:

  1. Place an order to buy DASH with BTC at 0.25% less than the current best bid price
  2. Wait 3 seconds
  3. Cancel the order
  4. Go to step 1.
kraken-minimal-trader is written in Node.js and weighs in at 96 lines of code

After around a week the program has bought enough DASH to become a masternode.

I don’t want to store the DASH in my Dash node. I look around in the Dash wiki and find a way to use my Trezor.

The first step is to have exactly 1,000 DASH in a separate account on my Trezor.

An issue with the kraken-minimal-trader is that it doesn’t have a feature to stop buying when the balance of DASH has reached a set amount. Because of this I ended up with more Dash than I needed.

Most of the Trezor guide relates to setting up a Dash node with cloud hosting. I already did this for the previous part of the review and skip ahead.

Next I need thedash-masternode-tool (DMT). I’ll run this on my laptop. The tool is written in Python.

I copy the .app file to my Applications folder and run it.

Dash MasterNode Tool (DMT), not to be confused with “N,N-Dimethyltryptamine”, one of the most powerful hallucinogens known to man

I test the RPC connection to my Dash node.

Next I see if DMT can reach my Trezor.

I copy in the address where the 1,000 DASH collateral is stored.

I click the the ➡️ and then the Lookup button. DMT finds the transaction hash and output index without me having to look it up.

I click the button to generate a new masternode private key. I guess this allows me to send instructions to my Dash node from my laptop.

I edit dash.conf on my Dash node to add two lines.

I restart my Dash node. I monitor the status using dashman.

Maybe I need to wait a little bit.

I check again after a few minutes.

The status has changed to MASTERNODE_SYNC_MNW. I don’t know what that means. I press the Start Masternode button.

I like these ironically large buttons. They make it feel like you’re doing something important when you press.

I confirm that I want to sign a message on my Trezor. Dash Masternode Tool show a message saying a message has been broadcast.

I wait a few minutes.

I press the Get Status button in the Dash Masternode Tool.

I don’t know what WATCHDOG_EXPIRED means. I read that the masternode must remain online to qualify for rewards. Perhaps my node is struggling to sync? I check the resource usage of my Dash node.

The Dash node is using a lot of CPU resources on the server. Perhaps my node is still syncing. I’ll check back later.

The status of my Dash node is now NEW_START_REQUIRED. I restart the node.

I restart the Dash node and wait a few minutes. dashman status reports everything in green.

OBJECTIVE 7 SUCCESS!

BONUS: Become a masternode

Making a Dash Budget Proposal

What can I do with a masternode? I read on dashmasternode.org for a few minutes.

Vote on and create budget proposal is what I want.

I click the Join DashCentral Now! button.

Registration seems straight forward.

I click on Add new masternode and fill in the funding address.

I’m stuck. Normally I would end the review at this point. I will make an exception for Dash and ask on a Slack.

I wait for the Slack invitation to show up in my Gmail inbox.

Yes, of course I checked my Spam folder.

After 10 minutes the Slack invite email has not arrived.

I have an idea. Maybe NEW_START_REQUIRED means I have to connect my Trezor and click the giant button again. I try that.

The new status in Dash Masternode Tool is PRE_ENABLED. I don’t know what that means.

I wait for another 20 minutes.

And try again.

I check to see if it worked.

Yes! I click set privkeys and fill in my Masternode private key and a passphrase that’s used to encrypt my private key on their server.

I click unverified to verify the ownership of my Dash masternode.

I can’t follow these exact steps because I use a Trezor. I’ll sign with my Trezor.

I enter the signature on Dashcentral.

I click Verify ownership.

I click My Masternodes.

I don’t know what disabled means under Block. I click it.

I follow the instructions to install DashCentral push script on the same server as my Dash node. It’s a crontab job that runs a perl script. I’ve excluded these pretty boring steps.

Back at My Masternodes the status has changed:

Looks good. I click on Budget” in the menu.

I don’t really have an opinion on most of these proposals. I scroll down.

I’ll try to vote “Yes” on boosting the Dash Masternode Tool.

I click Vote YES and enter my passphrase.

My vote is showing as registered.

OBJECTIVE 8 SUCCESS!

BONUS: Vote with the masternode for a proposal

Creating a Dash budget proposal

I go to Budget on Dash Central.

And click Create proposal.

They recommend making a forum post first. I do that.

After a few days there’s not much feedback. I don’t know if that’s good or bad. I decide to post my proposal.

I complete the form and click Create Proposal.

A wallet command is shown.

I connect to my Dash node and paste in the command:

The output looks like a transaction hash, afe3...889a.

I paste the transaction hash in the form and the screen changes before I can take a screenshot:

I wait for the fee transaction to confirm.

I paste the new command:

I click Submit proposal:

Nothing happens. Perhaps I’m done already?

I’ll see if my proposal shows up after an hour.

I check Dash Central’s list of proposals.

My proposal is there! I click the link.

And click Claim Proposal Ownership.

I’ll sign using the address I used to pay the fee so I won’t have to plug in my Trezor again.

I paste in the signature and press Claim.

Back in the proposal I’m able to edit the title and body.

I copy-paste the pre-proposal with some small modifications.

And press Save.

The proposal was changed.

OBJECTIVE 9 SUCCESS!

BONUS: Create a proposal using the masternode

You’ll end up here if you searched the page for the “conclusion”

Dash is very different from the other blockchain products I’ve reviewed. Installing and using the Dash software was easy.

The Dash masternode and budget proposal system is interesting. I’d be worried about the Spork centralization, where developers can seemingly change the coin rules, but that’s the case in every other coin anyway.

I’m surprised more people aren’t using Dash. My experiment is over, but I’ll keep my masternode running in the background and see how this thing develops.

This is the first time I end a review without destroying the machine I was running the node on!

I probably won’t become an active member of the Dash community just yet. I’ll be sure to check in on proposals every now and then.

Good night, blockchainers.

About The Author

Andreas Brekken is the CTO/co-founder of Helix Capital and has been obsessed with cryptocurrency since 2011. He was the CTO/co-founder of Justcoin.com and later worked as an engineer with Kraken.com.

Follow me on Medium and Twitter for more reviews.

Are you making a blockchain product and want me to advise or review? I can be bought. Send me a paid message at https://21.co/berken/

--

--